Actually I think what you saw there was a result of us caching the groups in the session, but I'm not sure. There is nothing that should have changed around which groups it recognizes as belonging to the space. The main things to do if you have problems with groups not showing up that you think should show up are:
We still don't have a fix for the removeGroup bug that shows up in 2.6.0 when using the csum plugin.
For anyone who wants the Custom Space User Management plugin to work in Confluence 2.6.x (I assume everyone does), please vote for http://jira.atlassian.com/browse/CONF-9623 so maybe it will get some traction. I'd love for it to turn out to be something that we can fix in the plugin, but it is suspicious to me that it works in 2.5.x (which exception of Anne Marie's experience with it) and not in 2.6.0.
Ok, I'm hoping everyone else is excited as I am about this... 2.0-rc-3 is available!. This version not only adds support for Confluence 2.6.0 (so you don't have to wait for 2.1!) via some workarounds for bugs in 2.6.0 that the guys at Atlassian helped nail down, but it also provides a fix to support Confluence 2.3.
The following modifications have been made since v2.0-rc-2:
Feel free to rain on my parade, but I am totally psyched about this!
Has been updated in the plugin repository metadata, so within a day or so should be available via Plugin Repository (where all good boys and girls go to get their plugins).
Yep, As Gary mentioned we are all excited about it.
Few things to add on ....
1. 2.0-rc2 has been tested with user management delegated to Jira. One issue as mentioned by Gary, is group creation works, only it takes time to appear on Confluence side.
2. We are working on doing some more stress testing with larger user base to make sure that CSUM works pretty well in those cases too.
As per captcha .... we all are hooked to CSUM!
cheers,
Rajendra
I'm testing out 2.0-rc3 and am a little confused on the group matching. With the 1.1 version of the plugin, I had been doing pattern matching such as this:
(.?)SPACEKEY(.) so that I could create groups such as: SUFFIX-SPACEKEY-FOO and SUFFIX-SPACEKEY-BAR
Am I correct in understand that all pattern matching has been removed from the Group Matching? Would the implication be that the dynamic suffixes that I'd been able to use before are no longer plausible since it appears as though there can be only one suffix defined?
Thanks,
Scott
Scott,
The functionality you need is still there. Instead of using regular expressions, you just specify the prefix/suffix (both optional) in the plugin configuration setting: "Group Matching/New Group Name Creation Pattern". The prefix and/or suffix can still contain the dynamic "SPACEKEY". If I understand you correctly, you were just using the csum v1.1 plugin to manage groups with names like "SUFFIX-SPACEKEY-FOO" and "SUFFIX-SPACEKEY-BAR", right? So, what you'd do now is to specify the left textfield of "Group Matching/New Group Name Creation Pattern" to be (without the quotes) "SUFFIX-SPACEKEY" and then leave the suffix field blank. Then it will work exactly as it had before.
The reason we did this was that you can't easily use a regular expression to create new group valid group names that match it. (Regular expressions are quite powerful, so it was unreasonable to try to take a regular expression pattern and a partial name given by the user and then create a valid groupname that not only matched the regular expression, but matched the intent of the regular expression.) When we added the group add functionality, we tried keeping both the regular expression for matching and added the prefix/suffix for group name creation, but that was really confusing to users, because your regular expression and group prefix/suffix had to match (even when we validated this in configuration, it was confusing to users- it just wasn't very intuitive). So we ended up determining that for 99.9% (perhaps 100%) of all cases, people probably didn't use regular expressions in such a way that the prefix/suffix with dynamic SPACEKEY in either/both way of handling group name matching and group name creation wouldn't handle, so we dropped the regex and replaced it with just the group prefix/suffix with dynamic SPACEKEY in either/both.
Hope this makes sense. I was really hoping that this wouldn't affect anyone and that everyone could easily make the migration to the v2.0 way of doing things, which seems like it might work for you per your example.
Thanks!
Gary
Hi Gary, I'm trying this plug in right now and having the same question as Scott. what I want to be able to do is the following:
- I have a user group that wanted to create 4 different spaces.
- they want to be able to create their own groups but SHARED amongst the 4 spaces.
- this means, they want to create a particular group only one time and be able to use it for all 4 spaces.
Is this possible to do with this plug in? if so, how would I specify the "Group Matching/New Group Name Creation Pattern"? When I tried what you suggested, it only allow me to use 1 suffix and it's fixed. So, I ended up have
names like SUFFIX1-SPACEKEY1-XXX, SUFFIX1-SPACEKEY1-YYY. and since the spacekey is dynamic, the group I created in 1 space can not be found in another space.
Please help!
Ming,
Thanks for trying out the plugin!
There are at least two possible workarounds:
* In the plugin config, specify a prefix and/or suffix that doesn't contain SPACEKEY, for example you could possibly specify the prefix as "grp-" (you could also try not specifying a prefix or suffix- but I think that will allow them to manage confluence-administrators and confluence-users, which you probably don't want). This will allow all space admins to manage all space groups (which would be groups that have the prefix and/or suffix you specified). This may or may not be appropriate depending on your organization.
* You could just manage this group manually via creating it in Administration -> Manage Groups -> Add Group then add the users, add the users to the group, and give that group permissions to each space in Browse Space -> Space Admin -> Permissions. This won't allow the space admins to manage that group on their own, but if this is a "one-off" situation, it might be best.
If that doesn't work for you, please let us know exactly how you need it to work (from what you would specify in config to how things would be done in the UI) and either add an enhancement request to Jira (see Issue Management link at the top of the page) for exactly what you are looking for or post it here and I will create a ticket in the CSUM Jira. Then if you or anyone else would like to contribute that functionality to the plugin, they are more than welcome, or we might have resources to take on that development at some point in the future.
Hope this helps,
Gary
Hey all, anyone got Builder working with CSUM, the earlier comment
didn't seem to update the menu. Curious if anyone got this going...
Which version of Theme Builder do you have installed? I think that link was added in 2.0.9
Guy, I am using Theme Builder 2.0.9 and I am having the same problem as Andy. I see on the adaptavist site that a different version of the menulink is given and that is not working either.
The csum plugin works fine with the basic confluence themes in 2.6
Yes, 2.0.9 for me too.
Does anyone know if this plugin works with Crowd? We are using the Crowd/Active Directory setup.
The general rules of thumb are:
create/remove groups within the C.S.U.M. plugin.
That said, unless someone else speaks up, I can't confirm personally that it will or won't work until you try it. Please try manually creating/removing groups in Confluence Administration -> Manage Groups and if that works, then try installing the C.S.U.M. plugin and letting us know if you have any trouble.
Will be very interested to hear from you whether this works!
Gary
I seem to be having problems with the plug-in when I am using Crowd. First off, when I go to configure the plug-in, I have to choose Confluence for the user management even though it is really Crowd. Under Auto-provision users using LDAP info, if I choose yes (which I want to), it wants to look in either the osuser.xml or atlassian-user.xml for LDAP info. Using Crowd, I do not user osuser.xml and I do not use the LDAP section of Atlassian-user (it is commented out). With that said, I check "No" on this option to complete the configuration. When I go to create/add a group to a space, it allows me to create the group but will not add any users - I actually get an error on the page when I try to add users.
Laurie,
Sorry that you are our test subject for this. We really appreciate your time in testing it out with Crowd, and we'll do what we can to help.
Could you do the following to help us track this down:
If you can do that, let me know about it and I can take on this issue (and take it on with Atlassian if necessary).
I apologize for the plugin configuration saying "Confluence" and not mentioning "Crowd". What it means by using Confluence for user management, is that it uses the Confluence API to add/remove groups (and add users if you use the LDAP config piece of the plugin). If we can help you get it working with Crowd, we'll definitely put some information about that in the plugin config to make it more obvious how those using Crowd can configure the plugin. If you have any suggestions for wording/questions that might make it more obvious how to configure it, please let us know.
I also apologize for the plugin looking in osuser.xml or atlassian-user.xml for LDAP info. This was per request from our users, but possibly we should have also included the ability to optionally configure LDAP in the plugin itself as a 3rd option. If you or any one else thinks that would be a good enhancement, let us know and possibly we can add it in as a new feature. If you'd rather the plugin gather LDAP information from some other source, please let us know how you would propose the plugin could do that and we'll definitely consider it.
Everyone is also welcome to login to http://developer.atlassian.com/jira/browse/SUSR and create enhancement requests or register what does and doesn't work in the plugin. If you'd like to contribute to the plugin we'd like to hear that as well. I've been a little busier lately so it would be good to have some more help.
Thanks again,
Gary
I put in a support ticket for this as I would really like this to work.
Laurie,
I understand and would like to help. Unfortunately, I don't see this issue in our Jira instance. Could you please add the ticket to http://developer.atlassian.com/jira/browse/SUSR ?
If you happened to have added a support ticket for Atlassian for this plugin, they will unfortunately not help you. That's not to say that Atlassian doesn't recommend customers to use our plugin. In fact, Atlassian's David Soul recommended it for use by customers here: CONF-5302. It's just that Atlassian itself doesn't provide support for this plugin.
(Note: Atlassian does however provide us with free source control, issue tracking, and wiki documentation hosting, as well as the best customer service I've ever had!)
Raju, Andy, Ren and I are the volunteer dev team at the moment, and since we work out of the queue in http://developer.atlassian.com/jira/browse/SUSR , that is the best place to add tickets. Thanks in advance for your help!
Best Regards,
Gary
Laurie,
I just found the issue you added. Apologize that I didn't see it before. Will get to work on it right away.
Gary
Laurie,
There appears to be something in the integration between confluence and crowd that is keeping it from being able to add group memberships:
I would have thought that Confluence would have integrated with Crowd such that it could add/remove groups, add/remove group memberships, and add/remove users. I'll open up a support ticket to find out why that doesn't work and have them cc: you on that ticket.
I found the documentation for integration with Crowd's SOAP API. csum plugin support for Crowd via a SOAP API looks like it would be really simple:
http://docs.atlassian.com/crowd/current/com/atlassian/crowd/integration/service/soap/server/SecurityServer.html
The main problem right now is that we're trying to lock down csum 2.0 for a final release, and adding crowd support would disrupt that. So... I think the right thing to do may be to go ahead and finalize csum 2.0, and then add Crowd support and release it as 2.1-alpha-1 so that you can give it a try (it wouldn't be a major architectural change as the user/group piece is fairly modular and the crowd integration should be almost exactly like the Jira SOAP service integration that it already contains).
Note to all... the csum final release is going to add a "csum." prefix to all of the i18n message keys. Sorry about that... I didn't realize that Confluence shared the "i18n" resource across all plugins (there is very little sandboxing unfortunately) and the old keys were not unique enough and I noticed conflicts with other plugin projects of mine.
Added support issue: https://support.atlassian.com/browse/CSP-13374
Laurie please let me know what your support.atlassian.com username is so I can add you to the cc:/access list of that ticket.
Am looking into how simple crowd integration will be since you need a timeline.
Thanks,
Gary
Laurie,
Justen from Atlassian responded about this problem in comments of page: http://confluence.atlassian.com/display/CROWD/SOAP+API to my question about this particular issue:
Justen Stepka - Nov 20, 2007 20:37 - "Through the plugins API you can use the user API as usual which will attempt to push changes through Crowd to whatever directory store is being used."
When Confluence is integrated with Crowd, the Custom Space User Management plugin (which uses UserAccessor in the Confluence API) should be able to add/remove groups, add/remove group memberships, and add/remove users if those same functions would work in Crowd itself (i.e. as long as Crowd has rights to do those things and Confluence is correctly configured to use Crowd and there are no bugs/incompatibilities between the versions of Confluence and Crowd that you are using).
This means that the Custom Space User Management plugin should in theory support Crowd integration with Confluence.
I'm assuming that it is either the case that Crowd itself is not able to add group memberships into Active Directory in your case because of some configuration issue with Active Directory, Crowd, and/or Confluence, or this is a bug in some version of those that you are using that you'd need to take up with Atlassian.
If you want to get the C.S.U.M. plugin working with Confluence and Crowd at this point, the way I'd suggest doing it is to do the following:
If that is not the case, and this issue only affects the C.S.U.M. plugin (for reasons I can't imagine), then let us know. Either way, please comment back on this page with whether you were able to get it to work or not. We'd love to have a user of the plugin that got it to work successfully with Crowd. I know others will likely be planning to use it with Crowd soon, so it'd be great for them to know how your issues were resolved.
Thanks and happy Thanksgiving! (for those in the states)
Gary
Gary,
I don't think that you will be able to easily get this plug-in to work with Crowd. The way Crowd works today is it does not allow you to add an Active Directory user to a non-active directory group. So, you cannot do this in Crowd without the plug-in.
Laurie,
So here is what I understand (tell me if I'm wrong):
We would like to help, but I'm not sure what else we can do. Your testing definitely helped, and we look forward to hearing back from you at some point if you find a solution to this problem.
Best Regards,
Gary
Laurie,
Justen of Atlassian added a comment to the issue you were having with Crowd and moved it here:
https://support.atlassian.com/browse/CWDSUP-472
If you can, please comment on that issue. If you can't comment on that issue then please contact Atlassian<EMAIL_ADDRESS>and let them know that you need to be added to that ticket so you can respond.
Thanks,
Gary
Gary,
My support Id is<EMAIL_ADDRESS>I had to request access to the issue mentioned above. As soon as I have access, I'll check it out.
Thanks for your support.
Laurie
This is a great plugin and is exactly what we are after at the moment. Thanks.
Just a general query, we are looking to upgrade to Confluence 2.7 and was wondering when you predict 2.7 support will be available for this plugin? We've installed it on a test environment and although it seems to work, users added to the space groups seem to get automatically removed/reverted after the initial addition.
Hi Dan,
We haven't got time yet to test CSUM plugin against Confluence 2.7
Have you tried to use this plugin along with Confluence 2.6 or any previous version. May be the bug you mentioned is already existing.
Can you please file the bug with all details in to our CSUM Jira bug tracking tool ? We will get back to you.
thanks again for using the plugin,
Rajendra
FYI - I'm using this plugin with 2.7, works fine for me.
Dan,
When you create the bug in the CSUM plugin's Jira instance ( http://developer.atlassian.com/jira/browse/SUSR ) make sure you let us know how you have the plugin configured and as much other information you can provide about your environment (whether you are using regular (osuser) schema or atlassian-user, whether you are using LDAP/Jira/Confluence/Crowd, etc. and versions of each - all of that will help us out a lot more). Another question:
After adding/removing a user...
Thanks in advance!
Gary
Updated by Gary S. Weaver
Feb 18, 2008 14:37
CSUM plugin v2.0 (final) finally released! Fixes by Igor Minar for delete group bug in IE, and i18n properties key name changes:
Release Notes
IMPORTANT NOTE: i18n properties keys have changed since v2.0-rc-3. If you have customized CSUM plugin i18n properties, please update the property key names in your custom properties file for CSUM plugin to match the property key names inhttp://svn.atlassian.com/svn/public/contrib/confluence/custom-space-user-management/tags/2.0/src/main/resources/csum/confluence/permissionmgmt/. The following modifications have been made since v2.0-rc-3:
Gary - awesome work! We had an issue with deleting groups using Internet explorer, using the old version (kept getting a stack-trace error). But that seems to have also fixed itself. I presume that was the third point you raised above (the Fix for the Yahoo js Libary).
Also performance has improved! Thanks a lot from your friends here at Optus!
ditto, just updated and verified IE7 group deletion now working, thanks Igor and Gary.
I can't take credit for this. Igor Minar made this fix. I just did some of the i18n stuff (Igor did the rest) and the release process. Thanks, Igor!
It seems there should be a way for a "space admin" to create users for that space. We have many spaces and the owner of a space wants the ability to add new users to the space without going to the confluence admin. The Custom Space User Management Plugin ([http://confluence.atlassian.com/display/CONFEXT/Custom+Space+User+Management+Plugin]) is close but only allows you to add existing users (already in confluence or in LDAP to a group).  Any ideas?
Ben,
I think this is a good idea, but I think it would require a significant change to the user interface if you wanted to also set the full name and email of the user when the user is added.
If you would submit a ticket in the csum jira (issue management link at the top of page) that would be helpful. Otherwise, just reply and I'll add the ticket into the system.
Please indicate whether you'd like new users to be added via a list of usernames only (like the current interface) or if you'd rather be able to enter each user one at a time. If you only enter a list of usernames, user addition would be faster, but users (or administrators) would have to go back and set their full name and email. If you want to enter each user with username, full name, and email by hand, then the interface would have to be changed probably so that those three fields appeared over the group list and you would only be able to add one at a time. Some might want a csv or excel upload for such a purpose, but those are usually not a really good idea because less able users may put the username, full name, and email into the wrong columns and really hose things up when they import.
Also my team (at Duke) doesn't have a lot of time at the moment to work on this (although maybe someone else on the CSUM dev team could help). However, I'd like to understand this need so we can get this enhancement request on the to-do list, and I think it is a good idea as an optional configurable feature.
We also welcome developers that would like to contribute.
Thanks!
Gary
Thanks Gary -
The main requirement I have is that:
Space URL
username
password
One at a time is fine with me.
Ben,
I logged this in our Jira as http://developer.atlassian.com/jira/browse/SUSR-73 .
Thanks, and I hope that one of us can help make this enhancement, but I can't give you a timeline on it unfortunately.
Gary


PicoContainer is a highly embeddable container for components that honour the Dependency Injection pattern.
You could use it as a lightweight alternative to Sun's J2EE patterns for web applications or general solutions.
What is Dependency Injection? Martin Fowler has a good article from 2003, but here is another view: It is a good design pattern that, for large enterprise applications, facilitates:
Dependency Injection is quite often, but not exclusively, used by Agile practicioners. It counters the situation where the enterprise application:
Despite it being very compact in size (the core is ~124K and it has no mandatory dependencies outside the JDK), PicoContainer supports different dependency injection types (Constructor, Setter, Annotated Field and Method) and offers multiple lifecycle and monitoring strategies.
PicoContainer has originally been implemented in Java but is also available for other platforms and languages. These are detailed in TODO.
Take a look at the five minute introduction.
NanoContainer builds on top of PicoContainer the support for several scripting meta-languages (XML, Groovy, Bsh, Jython and Rhyno), AOP, Web frameworks (Struts and WebWork), Persistence (Hibernate) SOAP, JMX, and much more.


This is here as sort of a TODO for myself this year. I want to try this experiment. I really like the concept of breaking down OO projects into this extra fine granularity.
He suggests writing a 1000-line program with the constraints listed below. These constraints are intended to be excessively restrictive, so as to force developers out of the procedural groove. I guarantee if you apply this technique, their code will move markedly towards object orientation. The restrictions (which should be mercilessly enforced in this exercise) are:
1. Use only one level of indentation per method. If you need more than one level, you need to create a second method and call it from the first. This is one of the most important constraints in the exercise.
2. Don’t use the ‘else’ keyword. Test for a condition with an if-statement and exit the routine if it’s not met. This prevents if-else chaining; and every routine does just one thing. You’re getting the idea.
3. Wrap all primitives and strings. This directly addresses “primitive obsession.” If you want to use an integer, you first have to create a class (even an inner class) to identify it’s true role. So zip codes are an object not an integer, for example. This makes for far clearer and more testable code.
4. Use only one dot per line. This step prevents you from reaching deeply into other objects to get at fields or methods, and thereby conceptually breaking encapsulation.
5. Don’t abbreviate names. This constraint avoids the procedural verbosity that is created by certain forms of redundancy—if you have to type the full name of a method or variable, you’re likely to spend more time thinking about its name. And you’ll avoid having objects called Order with methods entitled shipOrder(). Instead, your code will have more calls such as Order.ship().
6. Keep entities small. This means no more than 50 lines per class and no more than 10 classes per package. The 50 lines per class constraint is crucial. Not only does it force concision and keep classes focused, but it means most classes can fit on a single screen in any editor/IDE.
7. Don’t use any classes with more than two instance variables. This is perhaps the hardest constraint. Bay’s point is that with more than two instance variables, there is almost certainly a reason to subgroup some variables into a separate class.
8. Use first-class collections. In other words, any class that contains a collection should contain no other member variables. The idea is an extension of primitive obsession. If you need a class that’s a subsumes the collection, then write it that way.
9. Don’t use setters, getters, or properties. This is a radical approach to enforcing encapsulation. It also requires implementation of dependency injection approaches and adherence to the maxim “tell, don’t ask.”
I went ahead and ordered the ThoughtWorks book too. I’ve used their Mingle product, which I find very compelling, so I am looking forward to their essays.
The Perfecting OO's Small Classes and Short Methods by Joel Hooks, unless otherwise expressly stated, is licensed under a Creative Commons Attribution 3.0 United States License.


Dialog Update
Last update on : {{ last_update | date:'medium' }}
Wildcards
- Asterisk (*)
- Replaces a word or set of words in the position the * occupies.
For example, "What is * dialog" matches the following variations:
-
"What is a dialog"
-
"What is this thing called a dialog"
-
"What is the meaning of a dialog"
-
And so on
The asterisk tells the system that the number of words between "is" and "Dialog" do not matter. Users need to type only the sentence that begins with "what is" and ends with "Dialog."
However, if you place an asterisk it does not match to a sentence where there aren't any words in place of the asterisk. For example, "What is dialog" does not match to "What is * dialog". The asterisk is used to indicate that a word, or words, must occupy that space.
-
- Dollar sign ($)
Indicates that the phrase after it must appear exactly as it is written, but any words can precede it or follow it.
For example, "$ is a dialog" matches the following variations:
-
"So, can you tell me what is a dialog, please"
-
"I've heard about virtual agents, but is a dialog one of those"
-
"Tell me, is a dialog something I can create"
-
"Is a dialog something I can use for my business"
-
And so on
Each example has the exact phrase "is a dialog" in it. If the phrase doesn't appear in the user's text exactly as it was written after the dollar sign, a match is not made.
Tip:Always use correct grammar, spelling, and punctuation in the primary version because it can be shown to the user during Auto-learn, and being correct looks professional.
-
- Combinations of wildcards
You can use both wildcards together too. For example, the variation "$ what is * Dialog" matches a greater variety of user text to the input. However, be careful when you use wildcards, especially the asterisk, because users can ask questions that might be different from the meaning of the specific input. For example, "$ what is * dialog" can also match to the question "So what is a dialog, can I use it to cheat on an exam".


fetch_sherbrooke_3shell()
img, gtab = read_sherbrooke_3shell()
data = img.get_data()
from dipy.io.image import load_nifti, save_nifti
dwi_fname, dwi_bval, dwi_bvec = get_fnames("sherbrooke_3shell")
data, affine = load_nifti(dwi_fname)
Now that we have fetched a dataset, we must call PIESNO with the right number


doctools::changelog - Processing text in Emacs ChangeLog format
This package provides Tcl commands for the processing and reformatting of text in the "ChangeLog" format generated by emacs.
The command takes the text and parses it under the assumption that it contains a ChangeLog as generated by emacs. It returns a data structure describing the contents of this ChangeLog.
This data structure is a list where each element describes one entry in the ChangeLog. Each element/entry is then a list of three elements describing the date of the entry, its author, and the comments made, in this order. The last item in each element/entry, the comments, is a list of sections. Each section is described by a list containing two elements, a list of file names, and a string containing the true comment associated with the files of the section.
{ { date author { { {file ...} commenttext } ... } } {...} }
This command converts a list of entries as generated by change::scan above into a simpler list of plain text blocks each containing all the information of a single entry.
This command converts the pre-parsed ChangeLog entries as generated by the command ::doctools::changelog::scan into a document in doctools format and returns it as the result of the command.
The other three arguments supply the information for the header of that document which is not available from the changelog itself.
Each argument of the command is assumed to be a pre-parsed Changelog as generated by the command ::doctools::changelog::scan. This command merges all of them into a single structure, and collapses multiple entries for the same date and author into a single entry. The new structure is returned as the result of the command.
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category doctools of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unified diffs, i.e the output of diff -u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.
Documentation tools
Copyright © 2003-2013 Andreas Kupries <andreas_kupries@users.sourceforge.net>


| 接口 | 说明 |
|---|---|
| StatefulVerbCall<T extends StatefulVerbCall<?>> |
The Interface StatefulVerbCall.
|
| SVCPostRecv.RecvWRMod |
Provides access methods to modify a given work-request belonging to this SVC object.
|
| SVCPostSend.RdmaMod |
Provides access methods to modify the RDMA information of a work request.
|
| SVCPostSend.SendWRMod |
Provides access methods to modify a given work-request belonging to this SVC object.
|
| SVCPostSend.SgeMod |
Provides access methods to modify a given scatter/gather element.
|
| 类 | 说明 |
|---|---|
| IbvAhAttr |
The Class IbvAhAttr.
|
| IbvCompChannel |
Represents a completion channel.
|
| IbvContext |
Represents a RDMA device context.
|
| IbvCQ |
Represents a completion queue.
|
| IbvGlobalRoute |
Routing properties, used within the context of QP attributes.
|
| IbvMr |
Represents a memory region registered with the RDMA device.
|
| IbvPd |
The protection domain.
|
| IbvQP |
Representing a Queue Pair (QP).
|
| IbvQpAttr |
Various attributes to be used when creating a queue pair (QP).
|
| IbvQPCap |
These attributes define the maximal queue size of a QP.
|
| IbvQPInitAttr |
Attributes used when initializing a queue pair.
|
| IbvRecvWR |
Represent a receive work request.
|
| IbvSendWR |
Represent a send work request.
|
| IbvSendWR.Atomic |
Unsupported.
|
| IbvSendWR.Rdma |
Specifies the remote buffer to be used in READ or WRITE operations.
|
| IbvSendWR.Ud |
Unsupported.
|
| IbvSge |
A scatter/gather element.
|
| IbvWC |
Represents a work completion event.
|
| RdmaCm |
The RDMA connection management (CM) interface.
|
| RdmaCmEvent |
Represents a communication event
|
| RdmaCmId |
The RDMA identifier used to identify a RDMA endpoint.
|
| RdmaConnParam |
RDMA connection properties.
|
| RdmaEventChannel |
Represents a communication channel.
|
| RdmaProvider |
Factory class to enable multiple implementations of the jVerbs API.
|
| RdmaVerbs |
The RDMA verbs interface for data transfer operations.
|
| SVCDeregMr |
The Class SVCDeregMr.
|
| SVCGetCqEvent |
The Class SVCGetCqEvent.
|
| SVCPollCq |
The Class SVCPollCq.
|
| SVCPostRecv |
The Class SVCPostRecv.
|
| SVCPostSend |
The Class SVCPostSend.
|
| SVCRegMr |
The Class SVCRegMr.
|
| SVCReqNotify |
The Class SVCReqNotify.
|
| 枚举 | 说明 |
|---|---|
| IbvSendWR.IbvWrOcode | |
| IbvWC.IbvWcOpcode | |
| IbvWC.IbvWcStatus | |
| RdmaCmEvent.EventType |
Different CM event types
|
Copyright © 2020. All rights reserved.


This line disappears when the line below is moved up with CTRL-SHIFT-up.
This line disappears when the line below is moved up with CTRL-SHIFT-up.
This line disappears when the line below is moved up with CTRL-SHIFT-up.
This line disappears when the line below is moved up with CTRL-SHIFT-up.


The Florida Times-Union reports an anonymous called tipped investigators off to the barnacle-covered bag on Friday night.
Flagler County Sheriff’s officials said in a news release on Sunday that the bag contained 15 kilos of water-logged cocaine bundles. One of the brick-like packages was ripped open exposing a block of cocaine. Thirteen packages were similar in size, while two were slightly smaller.
Sheriff Rick Staly said it’s likely the bag had been in the Atlantic Ocean for some time and washed up because of rough surf.
Deputies didn’t find any other bags nearby, but officials notified nearby law enforcement agencies so they could check their beaches for similar bags.
(Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.)


Talks still on, trying chalk out Phase-I of trade deal with China: Trump
The ongoing trade dispute between the world's two largest economies have roiled financial markets and threatened global economic growth
by ReutersU.S. President Donald Trump said on Wednesday the United States is continuing to talk to China but gave no other details, as both sides tried to hammer out a phase one trade deal ahead of looming U.S. tariffs due next month.
"We continue to talk to China. China wants to make a deal. The question is: Do I want to make a deal? Because I like what's happening now," Trump told reporters at the White House.
Trump last month announced an agreement for an initial trade deal with Beijing but no formal agreement has been released. The pact had initially been expected to be signed by mid-November, but experts now say it could be pushed into next year.
Two people briefed on the talks have said Trump wants deeper concessions from China in order to roll back existing tariffs and cancel additional tariffs on some $156 billion in Chinese consumer goods scheduled to take effect Dec. 15.
On Tuesday, Trump also threatened to raise tariffs if no deal is reached with Beijing.
The ongoing trade dispute between the world's two largest economies have roiled financial markets and threatened global economic growth.


{% extends "base.html" %} {% load static %} {% block head %} {% endblock %} {% block content %}
{{ foreign_author.username }}
Your follow request has been sent to {{ foreign_author.username }}
Errror adding {{ foreign_author.username }} as follower


|
|
|
ONLY
|
|
10 c A WEEK
|
|
FOR 20 WEEKS!
|
|
Unlimited Digital Access
|
|
|
|
Hurry, this exceptional deal ends May 31
|
|
Take advantage of this special Baltimore Sun offer
and get Unlimited Digital Access for only 10c a week. |
|
Offer terms and conditions apply. Click here for more information
|


public class GameInfo
extends java.lang.Object
implements com.badlogic.gdx.utils.Disposable
| Modifier and Type | Field and Description |
|---|---|
static float |
ARROW_SPEED |
static int |
BRICKS |
static short |
BRICKS_BIT |
static int |
C_HEIGHT |
static int |
C_WIDTH |
static int |
COINS |
static short |
COINS_BIT |
static short |
DESTROED_BIT |
static int |
DOR |
static short |
DOR_BIT |
static short |
ENEMY_BIT |
static int |
FIRE |
static short |
FIRE_BIT |
static int |
FLAME |
static int |
GROUND |
static short |
GROUND_BIT |
static int |
HEIGHT |
static int |
HELLD |
static short |
ISLANDER_BIT |
static int |
KEY |
static short |
KEY_BIT |
static int |
OGRES |
static int |
ORCS |
static float |
PIXEL_METER |
static int |
SKELETON |
static int |
SPIKE |
static short |
SPIKE_BIT |
static int |
UNDEAD |
static int |
V_HEIGHT |
static int |
V_WIDTH |
static int |
WIDTH |
| Constructor and Description |
|---|
GameInfo() |
| Modifier and Type | Method and Description |
|---|---|
void |
dispose() |
public static final int WIDTH
public static final int HEIGHT
public static final int C_WIDTH
public static final int C_HEIGHT
public static final int V_WIDTH
public static final int V_HEIGHT
public static final float PIXEL_METER
public static final int GROUND
public static final int BRICKS
public static final int SPIKE
public static final int FIRE
public static final int COINS
public static final int OGRES
public static final int FLAME
public static final int SKELETON
public static final int ORCS
public static final int UNDEAD
public static final int HELLD
public static final int KEY
public static final int DOR
public static final short GROUND_BIT
public static final short ISLANDER_BIT
public static final short BRICKS_BIT
public static final short ENEMY_BIT
public static final short COINS_BIT
public static final short KEY_BIT
public static final short DOR_BIT
public static final short FIRE_BIT
public static final short SPIKE_BIT
public static final short DESTROED_BIT
public static final float ARROW_SPEED


Class ResolveContext
Captures the state for a call to Resolve(ResolveContext) (or TryResolve(ResolveContext, out Object)), including the container on which the operation is invoked, any IScopedContainer that might be active for the call (if different), and the type that is being resolved from the IContainer.
Inherited Members
Namespace:Rezolver
Assembly:Rezolver.dll
Syntax
public class ResolveContext : IScopeFactory
Remarks
The context implements IScopeFactory because the a new child scope might be created either from the Scope or the Container, in that order. So, rather than
Constructors
| Improve this Doc View SourceResolveContext(IContainer, Type)
Initializes a new instance of the ResolveContext class.
Declaration
public ResolveContext(IContainer container, Type requestedType)
Parameters
| Type | Name | Description |
|---|---|---|
| IContainer | container | The container. |
| Type | requestedType | The type of object to be resolved from the container. |
ResolveContext(IContainer, Type, IContainerScope)
Initializes a new instance of the ResolveContext class.
Declaration
public ResolveContext(IContainer container, Type requestedType, IContainerScope scope)
Parameters
| Type | Name | Description |
|---|---|---|
| IContainer | container | The container. |
| Type | requestedType | The type of object to be resolved from the container. |
| IContainerScope | scope | The scope for this context. |
ResolveContext(IContainerScope, Type)
Initializes a new instance of the ResolveContext class from the given scope.
Declaration
public ResolveContext(IContainerScope scope, Type requestedType)
Parameters
| Type | Name | Description |
|---|---|---|
| IContainerScope | scope | The scope. |
| Type | requestedType | The of object to be resolved from the container. |
Properties
| Improve this Doc View SourceContainer
The container for this context.
Declaration
public IContainer Container { get; }
Property Value
| Type | Description |
|---|---|
| IContainer |
Remarks
This is the container which received the original call to Resolve(ResolveContext), but is not necessarily the same container that will eventually end up resolving the object.
RequestedType
Gets the type being requested from the container
Declaration
public Type RequestedType { get; }
Property Value
| Type | Description |
|---|---|
| Type | The type of the requested. |
RequestedTypeComparer
Gets a comparer for ResolveContext which treats two contexts as being equal if they're both the same reference (including null) or, if both have the same RequestedType
Declaration
public static IEqualityComparer<ResolveContext> RequestedTypeComparer { get; }
Property Value
| Type | Description |
|---|---|
| IEqualityComparer<ResolveContext> |
Scope
Gets the scope that's active for all calls for this context.
Declaration
public IContainerScope Scope { get; }
Property Value
| Type | Description |
|---|---|
| IContainerScope | The scope. |
Methods
| Improve this Doc View SourceCreateScope()
Declaration
public IContainerScope CreateScope()
Returns
| Type | Description |
|---|---|
| IContainerScope |
Implements
Remarks
This interface implementation is present for when an object wants to be able to inject a scope factory in order to create child scopes which are correctly parented either to another active scope or the container.
Resolve(Type)
Resolves a new instance of a different type from the same scope/container that originally received the current Resolve operation.
Declaration
public object Resolve(Type newRequestedType)
Parameters
| Type | Name | Description |
|---|---|---|
| Type | newRequestedType | New type to be resolved. |
Returns
| Type | Description |
|---|---|
| Object |
Remarks
Use this method, or the generic equivalent, to resolve dependency services in a factory or expression.
If a scope is active then it will be honoured.
Resolve<TResult>()
Resolves a new instance of a different type from the same scope/container that originally received the current Resolve operation.
Declaration
public TResult Resolve<TResult>()
Returns
| Type | Description |
|---|---|
| TResult |
Type Parameters
| Name | Description |
|---|---|
| TResult | New type to be resolved. |
Remarks
Use this method, or the non-generic equivalent, to resolve dependency services in a factory or expression.
If a scope is active then it will be honoured.
ToString()
Returns a String that represents this instance.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String |


15 Best Android Emulators For Pc And Mac Of 2021 Android Authority
How To Download Android Apps On Pc From Google Play Store
How To Download Android App Apk Files Directly To Pc Guiding Tech Youtube
Top 5 Apk Leecher To Download Apk Files To Pc Or The Phone
Best Pc Emulator For Android Apk Free Download
パソコンからandroidアプリをダウンロードする方法
How To Download Apk From Google Play Store
Apk Installer 4 7 0 0 Download For Pc Free
Pc Apps Download Any Pc Apps And Game Software For Android Apk Download
Pc Launcher 10 For Android Apk Download
Android Apps Age Of Empires For Pc And Android Apk Free Download Newsinitiative
How To Download Application From Google Play To Pc With Pictures
How To Download Android Apps On My Laptop And Install The Apps On My Cell Phone Is It Possible Quora
How To Download Google Play Store Apps Directly To Pc Youtube
Pc Creator For Android Apk Download
How To Download Android Apk Files To Windows Pc Directly
Kinemaster Diamond Pro Apk Free Download 2020 Kinemaster For Pc Download App Video Editing Apps Best Video Editing App
Android アプリ Apk ファイル を Pc に移す３つの方法 技術は近くなりにけり
Connect To Pc With Wi Fi Share For Android Apk Download
Youtube Red App Download For Android Pc Ios Monomousumi
Optimal Guide To Install Apk On Android
パソコンからandroidにアプリを直接インストールする方法 Pcでダウンロードしたapkをadbを使って入れよう
How To Directly Download Apk From Google Play Store On Pc Android
Shareit Free Download For Pc Android Apk Iphone Download Shareit Shareit App Download App
Shareit Download For Pc Apk Android Iphone Free Shareit Download For Pc Apk Android Iphone Free
Windows Xp Emulator For Android Apk Download Enjoytree
Iroot Download The Iroot Android Rooting Tool For Pc Android Device Iroot Apk
Playストアからandroidのapkを直接ダウンロードできる Apk Downloader Teradas
Picsart Mod Apk Download Latest V13 0 For Android Pc 2019
Cotomovies Download Cotomovies Apk For Android Ios Pc
Updated Xbox Emulator Android Apk Free Download 2020
Guide On Iroot Apk Download For Android Pc Download The Best Android Rooting Tool For Android


Making Design Details
A Backstory
Design Details, as a concept, is now over a year old. As a sort of public journal entry, I’d love to quickly tell the story of how this small kernel of an idea became larger than I could have ever imagined. As with most backstories, Design Details began incredibly small and without planning. In February, 2014, I noticed this lovely interaction in the Twitter app whenever you switched profiles:
I really wanted a way to share this with people and talk about how it felt, from both a UI and UX perspective. Unfortunately, getting an iOS recording to a web browser wasn’t easy at the time. It took a fair amount of research and tinkering to finally get a low-res, choppy gif onto my blog.
I think part of the early attention for Design Details was the novelty of getting bite-sized iOS recordings onto the web. They were fun to watch, and the way I’d set them up to loop on-hover made viewing the designs an interactive experience.
Within those first few weeks things just sort of…took off, as they tend to do these days in the world of Twitter and social media. That next week Facebook released Paper, an app that redefined years of UI expectations and UX patterns. I wrote a long piece exploring Paper, filling it with 24 looping gifs, and articulated some of these new techniques for designing apps.
That day was the catalyst for everything to come in the Design Details series.
Despite the data (and the ad money), I still believe there is a genuine demand for niche writing and in-depth long-form content. List posts are great in their own way, but they don’t do much to expose the author’s personality or passions.
For me the Design Details have been a personal outlet to talk about an incredibly small subset of the design world that I’m excited about. Some of the posts have taken 8–10 hours to write only because I rack my brain endlessly trying to understand why certain pixels move in certain ways.
This is how I spend my free time, everyone.😐
For reasons unknown, that level of obsessiveness resonated with people in the design community. In the past year I’ve written 17 more posts which have reached almost a quarter-million people. It’s not a mind-blowing number, but in my mind it offers a glimpse into the opportunity that’s out there to break the mold of tired listicles and link-bait design blogs.
On November 6th, Bryn Jackson reached out asking if I’d ever considered creating a podcast based on the blog series. I hadn’t, but was curious about the idea.
After dinner and a beer, it became clear that there might be a small grain of possibility in exploring this new medium and format for Design Details.
One of the hardest things we tried to wrap our heads around was what a Design Details podcast might even look like. After all, the blog relied on clear visuals and each post took a while to really absorb and digest. Converting that level of focus to an audio format would be a whole new challenge.
Our conversations and ideas led us down a few possible paths for the show, ranging from product reviews to having informal discussions between ourselves about design.
We decided not to do app or product reviews because they would require visual supplements to really make sense.
We also didn’t want the show to be just us talking about design. I still consider myself quite junior and I think both of us realized that we’re only in the first lap of our journey as designers.
So we looked upstream to the origins of our favorite apps that had become so-loved by the web community. We looked to the designers and developers — the product people — who made these things possible. How do they think? How do they work? What’s their story?
Finally we landed on an ethos that felt right for us:
The podcast would not be a formal interview. But it also wouldn’t be an informal conversation about whatever. Instead, we visualized the podcast as a way to examine the human side of product design and development. Exposing the backstories, challenges and mindsets of designers who we respect felt like it would offer much more value than a rigid Question/Answer interview format.
In the last two months (and 10 episodes) we’ve had a ton of feedback about this format; it has been overwhelmingly positive. We’ve made some tweaks here and there, but for the most part we’re still committed to one simple idea: let’s record a conversation about design with the people who are pushing the field and inspiring new ideas. Let’s share those conversations with whoever needs to hear it.
We’re now two months into the podcast and over a year has passed since that first Design Details blog post. We’re now reaching tens of thousands of people every week, exploring the lives and stories of some of the world’s most talented makers.
I can’t quite believe how far this small idea has spread, but at the same time it feels like we’re just getting started. There’s still so much room on the web to connect designers and to help young people find their way in the world of startups and digital products.
So what’s next?
We’re not sure, but here are a few ideas:
I can’t quite believe how far this small idea has spread
- live stream the podcasts — can we build a connection between listeners and our guests, adding a new layer of intimacy and personality?
- involve listeners and readers into the podcast discussions — a sort of live/open QandA with the world’s most talented designers.
- different kinds of content — interviewing designers is fun, but there’s so much more to the world of design that could be explored in an audio format.
- more episodes per week — our list of people we want to chat with is now almost 2-years long (at our current weekly rate). More shows would let us chat with a broader, more-diverse range of people. We also want to have repeat guests to build an evolving narrative with listeners!
- products — we’re trying to think of what kinds of tools or resources would be helpful for the design community. Hopefully we’ll have more tangible ideas to share later this year.
Now that this beast of a backstory is out of the way, I’d love to keep sharing smaller posts with new learnings and ideas as they come. If you’d like to keep up, check us out on Twitter: @designdetailsfm, @uberbryn, @brian_lovin and subscribe to the podcast!
Thank you to everyone out there who might read this who has checked out the Design Details blog, listened to an episode of the podcast or shared any of our work — we are so excited to be creating these things with you every week!
We are so excited to be creating these things with you every week


19 May 2009 - As of 06:00 GMT, 19 May 2009, 40 countries have officially reported 9830 cases of influenza A(H1N1) infection, including 79 deaths.
The breakdown of the number of laboratory-confirmed cases by country is given in the following table and map.
| Country | Cumulative total | Newly confirmed since the last reporting period | ||
| Cases | Deaths | Cases | Deaths | |
| Argentina | 1 | 0 | 0 | 0 |
| Australia | 1 | 0 | 0 | 0 |
| Austria | 1 | 0 | 0 | 0 |
| Belgium | 5 | 0 | 0 | 0 |
| Brazil | 8 | 0 | 0 | 0 |
| Canada | 496 | 1 | 0 | 0 |
| Chile | 4 | 0 | 3 | 0 |
| China | 7 | 0 | 1 | 0 |
| Colombia | 11 | 0 | 0 | 0 |
| Costa Rica | 9 | 1 | 0 | 0 |
| Cuba | 3 | 0 | 0 | 0 |
| Denmark | 1 | 0 | 0 | 0 |
| Ecuador | 1 | 0 | 0 | 0 |
| El Salvador | 6 | 0 | 2 | 0 |
| Finland | 2 | 0 | 0 | 0 |
| France | 14 | 0 | 0 | 0 |
| Germany | 14 | 0 | 0 | 0 |
| Guatemala | 3 | 0 | 0 | 0 |
| India | 1 | 0 | 0 | 0 |
| Ireland | 1 | 0 | 0 | 0 |
| Israel | 7 | 0 | 0 | 0 |
| Italy | 9 | 0 | 0 | 0 |
| Japan | 159 | 0 | 34 | 0 |
| Korea, Republic of | 3 | 0 | 0 | 0 |
| Malaysia | 2 | 0 | 0 | 0 |
| Mexico | 3648 | 72 | 545 | 4 |
| Netherlands | 3 | 0 | 0 | 0 |
| New Zealand | 9 | 0 | 0 | 0 |
| Norway | 2 | 0 | 0 | 0 |
| Panama | 59 | 0 | 5 | 0 |
| Peru | 2 | 0 | 1 | 0 |
| Poland | 1 | 0 | 0 | 0 |
| Portugal | 1 | 0 | 0 | 0 |
| Spain | 103 | 0 | 0 | 0 |
| Sweden | 3 | 0 | 0 | 0 |
| Switzerland | 1 | 0 | 0 | 0 |
| Thailand | 2 | 0 | 0 | 0 |
| Turkey | 2 | 0 | 0 | 0 |
| UK | 102 | 0 | 1 | 0 |
| United States of America | 5123 | 5 | 409 | 1 |
| Total | 9830 | 79 | 1001 | 5 |


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object gr.forth.ics.graph.algo.transitivity.Transitivity
public class Transitivity
Transitive closure and reduction algorithms for directed graphs.
| Nested Class Summary | |
|---|---|
static interface |
Transitivity.SuccessorsListener
Callback that can process a graph's node and its set of successors. |
| Method Summary | |
|---|---|
static Closure |
acyclicClosure(InspectableGraph g,
SuccessorSetFactory successorSetFactory)
Creates the transitive Closure of a directed acyclic graph, using the specified factory
of successor sets. |
static void |
acyclicClosureSweep(InspectableGraph g,
SuccessorSetFactory successorSetFactory,
Transitivity.SuccessorsListener listener)
Sweeps the graph in reverse-topological order (i.e. starting with nodes with zero out-degree, and ending at nodes with zero in-degree), creates on-the-fly the successor set for each node, notifies the provided Transitivity.SuccessorsListener to do
arbitrary processing when the complete successor set is available for each node, and then discards the successor sets
when they are no longer needed. |
static void |
acyclicReduction(Graph g,
PathFinder pathFinder)
Creates the transitive reduction of a directed acyclic graph, using a pathFinder object to
check whether two arbitrary nodes of the specified graph are connected via some path. |
static Closure |
generalClosure(InspectableGraph g,
SuccessorSetFactory successorSetFactory)
|
static void |
materialize(Graph g,
Closure closure)
Translates a specified transitive closure to edges in a graph, that is, after this method every node of the graph has at least one edge to each node belonging to each successor set, as defined by the given closure . |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static Closure acyclicClosure(InspectableGraph g, SuccessorSetFactory successorSetFactory)
Closure
of a directed acyclic graph, using the specified factory
of successor sets. The time complexity is O(|E|U)
where |E|
is the number
of edges of the graph and U
is the average time to merge
two successor sets, so the efficiency of the given SuccessorSetFactory
is crucially affecting this
algorithm. The space complexity also depends directly on the SuccessorSetFactory
, and
particularly in the space that the generated successor sets use.
To actually create an edge in the graph for every (directly or indirectly) connected pair
of nodes, materialize the closure in the graph by
Transitivity.materialize(g, closure)
.
g
- the directed acyclic graph to create the transitive closure ofsuccessorSetFactory
- the factory of successor sets
SuccessorSetFactory
,
materialize(Graph, Closure)
public static void acyclicReduction(Graph g, PathFinder pathFinder)
pathFinder
object to
check whether two arbitrary nodes of the specified graph are connected via some path.
The given graph is directly modified (by deleting all edges but those belonging to the
transitive reduction).
The time complexity of this algorithm is O(|E|P)
, where |E|
is the number of edges and P
is the time complexity of a single pathFinder
invocation.
g
- the directed acyclic graph to create the transitive reduction ofpathFinder
- an object that can answer whether two nodes are connected via
some pathpublic static void materialize(Graph g, Closure closure)
closure
.
g
- the graph in which to materialize the closureclosure
- the closure to materializepublic static void acyclicClosureSweep(InspectableGraph g, SuccessorSetFactory successorSetFactory, Transitivity.SuccessorsListener listener)
Transitivity.SuccessorsListener
to do
arbitrary processing when the complete successor set is available for each node, and then discards the successor sets
when they are no longer needed. This method is more memory-efficient than
acyclicClosure(InspectableGraph, SuccessorSetFactory)
since it only stores successor
sets for the duration they are needed, and can be used by providing a SuccessorsListener
that processes the successor sets.
Consider for example the graph [A-->B-->C]
. The node C
will be processed
first (through the SuccesorsListener
), with an empty successor set, then the node B
with a successor set of {C}
, and finally the node A
with a successor set of {B, C}
.
See acyclicClosure(InspectableGraph, SuccessorSetFactory)
to understand the
time complexity of the algorithm as well as the function of the SuccessorSetFactory
.
g
- the graph whose nodes to create the successor sets forsuccessorSetFactory
- the factory of successor setslistener
- the listener that processes nodes and their respective successor setspublic static Closure generalClosure(InspectableGraph g, SuccessorSetFactory successorSetFactory)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


--- title: Westfield Sells Five U.S Malls for $1.1 Billion to Cut Gearing class: latest-news parent: Latest News categories: ---
Westfield Corp. has sold five shopping malls in the U.S. for $1.1 billion to reduce gearing and fund a property development program.
The sale along with another transaction in November would give Westfield about $1 billion in net proceeds, and reduce gearing -- its debt as a percentage of equity capital -- by 3 percent, the Australian owner of malls in U.S. and U.K. said in a statement in Sydney Monday. It will also dilute funds from operations by 3.5 cents a security, the company said.
Westfield will continue to hold a 20 percent interest in the five assets. The proceeds will also be used to fund the $11.4 billion development program that is estimated to yield 7 percent to 8 percent, Westfield said.
“Our strategic focus is to create and operate flagship assets in leading markets and divest non-core assets,” Co-Chief Executive Peter Lowy said in the statement. “Today’s announcement marks a significant milestone in our divestment strategy.”
Westfield shares dropped 2.2 percent to A$9.49 at 10:32 a.m in Sydney, trimming gains for the year to 5.2 percent. The benchmark S&P/ASX 200 index rose 0.1 percent.
The sale of the five shopping malls to a joint venture comprising Centennial Real Estate Co., Montgomery Street Partners and USAA Real Estate settled Dec. 18, Westfield said.
Read more here.


Annie is a 1982 American musical comedy-drama based on the 1977 Broadway musical of the same name. by Charles Strouse, Martin Charnin and Thomas Meehan. which in turn is based on the Little Orphan Annie comic strip created by Harold Gray. Directed by John
Huston and written by Carol Sobieski, the film stars Albert Finney, Carol Burnett, Ann Reinking, Tim Curry, Bernadette Peters, Geoffrey Holder, Edward Herrmann and Aileen Quinn as the title character.[3] Set during the Great Depression in 1933, the film tells the story of Annie, an orphan from New York City who is taken in by America's richest billionaire Oliver Warbucks. Principal photography took place
A television film sequel, titled Annie: A Royal Adventure! was released in 1995. In their first film collaboration, Disney and Columbia Pictures produced a made-for-television film version in 1999. Columbia released another film adaptation on December 19, 2014.
In 1933, during the Great Depression, a young orphan named Annie is living in the Hudson Street Orphanage in New York City which is run by Miss Hannigan, a cruel alcoholic who forces the orphans to clean the building daily ("It's the Hard Knock Life for Us"). With half of a locket as her only possession, Annie remains optimistic that her parents, who left her on the doorstep as a baby, will return for her ("Maybe").
Annie sneaks out with help from a laundry man named Mr. Jules Bundles and adopts a stray dog which she names Sandy ("Dumb Dog"). Unfortunately, Annie is returned to the orphanage shortly after by a police officer ("Sandy"). Grace Farrell, secretary to billionaire Oliver Warbucks, arrives to invite an orphan to live with Warbucks for a week in order to improve made from wikipidea


#include <stdlib.h> void *malloc(size_t size); void free(void *ptr); void *calloc(size_t nmemb, size_t size); void *realloc(void *ptr, size_t size);
The malloc() function allocates size bytes and returns a pointer to the allocated memory. The memory is not initialized. If size is 0, then malloc() returns either NULL, or a unique pointer value that can later be successfully passed to free().
The free() function frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(), calloc(), or realloc(). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed.
The calloc() function allocates memory for an array of nmemb elements of size bytes each and returns a pointer to the allocated memory. The memory is set to zero. If nmemb or size is 0, then calloc() returns either NULL, or a unique pointer value that can later be successfully passed to free().
The realloc() function changes the size of the memory block pointed to by ptr to size bytes. The contents will be unchanged in the range from the start of the region up to the minimum of the old and new sizes. If the new size is larger than the old size, the added memory will not be initialized. If ptr is NULL, then the call is equivalent to malloc(size), for all values of size; if size is equal to zero, and ptr is not NULL, then the call is equivalent to free(ptr). Unless ptr is NULL, it must have been returned by an earlier call to malloc(), calloc() or realloc(). If the area pointed to was moved, a free(ptr) is done.
The free() function returns no value.
The realloc() function returns a pointer to the newly allocated memory, which is suitably aligned for any built-in type and may be different from ptr, or NULL if the request fails. If size was equal to 0, either NULL or a pointer suitable to be passed to free() is returned. If realloc() fails, the original block is left untouched; it is not freed or moved.
Normally, malloc() allocates memory from the heap, and adjusts the size of the heap as required, using sbrk(2). When allocating blocks of memory larger than MMAP_THRESHOLD bytes, the glibc malloc() implementation allocates the memory as a private anonymous mapping using mmap(2). MMAP_THRESHOLD is 128 kB by default, but is adjustable using mallopt(3). Allocations performed using mmap(2) are unaffected by the RLIMIT_DATA resource limit (see getrlimit(2)).
To avoid corruption in multithreaded applications, mutexes are used internally to protect the memory-management data structures employed by these functions. In a multithreaded application in which threads simultaneously allocate and free memory, there could be contention for these mutexes. To scalably handle memory allocation in multithreaded applications, glibc creates additional memory allocation arenas if mutex contention is detected. Each arena is a large region of memory that is internally allocated by the system (using brk(2) or mmap(2)), and managed with its own mutexes.
The UNIX 98 standard requires malloc(), calloc(), and realloc() to set errno to ENOMEM upon failure. Glibc assumes that this is done (and the glibc versions of these routines do this); if you use a private malloc implementation that does not set errno, then certain library routines may fail without having a reason in errno.
Crashes in malloc(), calloc(), realloc(), or free() are almost always related to heap corruption, such as overflowing an allocated chunk or freeing the same pointer twice.
The malloc() implementation is tunable via environment variables; see mallopt(3) for details.