Mali
Why Hippos Don't Eat Fish
The Kikuyu People believe that in the days of long, long ago, when the Good Lord N'gai made his plans for all the creatures upon his earth, he made the hippopotamus as an animal of the forests and plains. But the hippopotamus was greedy and, finding plenty of food all round him and no enemies to worry about, he grew fatter, and fatter and fatter. And the fatter he grew, the more he suffered from the heat of the Equatorial midday sun. Day after day, when he waddled down to the river for his drink, he gazed with envy at the little fishes that swam in the pool which was cooled by the melted snows from far-away Mount Kenya. "Oh" he would sigh, " how wonderful it would be if I could live, like N'gai's little fishes, in the clear, cool, refreshing water!." The hippopotamus pondered over his trouble for many days, and eventually decided to approach The Lord of All Creation. "Please, Good Lord N'gai" he cried loudly to the heavens upon one particularly hot day, "allow me to leave the forests and the plains. Let me live instead in the clear, cool waters of your rivers and lakes, for the heat of the fiery sun is killing me!"  That would never do. No, you must continue to live upon the dry land." So the hippopotamus stayed sadly in his home in the forests and plains, where the sun continued to beat down mercilessly on his unprotected hide. "This is more that I can bear!" moaned the poor creature.  The Great Lord N'gai thought the matter over, while he looked down upon the plains baking in the heat of the tropical sun, and eventually his heart softened.  "I will lie in the cool of the water by day, and at night time I will browse along the banks of the rivers, and in the vleis," replied the hippopotamus.  "But that will not be proof to me that you are keeping your promise!" pointed out The Great Lord N'gai. "Well then," answered the hippopotamus, "I will come out of the water every time that food passes through my body, and I will scatter my dung on the earth with my tail All that I have eaten will be spread out in your sight, and you will see for yourself that there are no fish bones. Surely this will be proof enough!" So this is way, to this very day, the hippopotamus comes out of the water to scatter its dung as it looks up to heaven and says, "Look N'gai, no fishes!" - and that is why hippos don't eat fish!
Source: Here


A email has been sent to {{registrationEmail}}, please follow the instructions to reset your password.


The <md-fab-trigger>
directive is used inside of a <md-fab-speed-dial>
or
<md-fab-toolbar>
directive to mark the an element (or elements) as the trigger and setup the
proper event listeners.
See the <md-fab-speed-dial>
or <md-fab-toolbar>
directives for example usage.


--- layout: post title: Creating Github Website date: 2015-07-08 19:32:32.000000000 +05:30 type: post published: true status: publish categories: - Open source tags: - Github meta: _rest_api_published: '1' _rest_api_client_id: "-1" _publicize_done_external: a:2:{s:8:"facebook";a:1:{i:5327596;s:53:"https://facebook.com/521066101241445_1099931000021616";}s:7:"twitter";a:1:{i:5327584;s:52:"https://twitter.com/iamVP7/status/618865352869457921";}} publicize_linkedin_url: https://www.linkedin.com/updates?discuss=&scope=72621861&stype=M&topic=6024631040830689280&type=U&a=Rw4f _publicize_job_id: '12535978934' _publicize_done_9754833: '1' _wpas_done_5327596: '1' _publicize_done_9754835: '1' _wpas_done_5327600: '1' _publicize_done_9754843: '1' _wpas_done_5327584: '1' publicize_twitter_user: iamVP7 publicize_google_plus_url: https://plus.google.com/+TechnorulerBlogspotIn/posts/VxyYr3SFEqn _publicize_done_9754847: '1' _wpas_done_9797179: '1' publicize_path_id: 559d7ae740522ebb1089c98e _publicize_done_9755206: '1' _wpas_done_9797548: '1' publicize_tumblr_url: http://.tumblr.com/post/123572000800 _publicize_done_9755208: '1' _wpas_done_9797552: '1' _edit_last: '33068076' geo_public: '0' _wpas_skip_5327596: '1' _wpas_skip_9797179: '1' _wpas_skip_5327584: '1' _wpas_skip_5327600: '1' _wpas_skip_9797552: '1' _wpas_skip_9797548: '1' _oembed_9b57d492c62e8f85b5be6f524dac987f: "{{unknown}}" _oembed_b9ef04893d4b275f449b4d8231df4638: "{{unknown}}" author: login: viswaprasath email<EMAIL_ADDRESS>display_name: Vitchu first_name: '' last_name: '' ---
In previous post we had small discussion about creating Github account. In this post we can take a look how to create a small Github Website which is available for Free.
First know your Profile name. After you login in, you can see your avatar at the right top corner. Click that drop down box, in that you will be seeing an option call Your Profile, for me it is https://github.com/viswaprasath , so my profile Name is viswaprasath
Next Step is to create a repo. We can do it very easily, for simply beginner level understanding repo is like a folder which will contain all the project files.
So we have to give the repo name. Our target for the day is to create a small website for us. So now we have to create a repo in our name in the following format. username.github.io so I will be creating as viswaprasath.github.io
Then you have to give description about the repo. It will be very useful when you take it in future for Reference.
Then you can check "Initialize this repository with a README" so we can automatically create the ReadME file. If you are ware of the licensing type mention that also. You can learn more about licensing here. So as of Now we have created the simple repo for us.


{{ if .Site.Params.archived_version }} {{ $color := "primary" }} {{ $latest_version := .Site.Params.url_latest_version }} {{ $current_version := .Site.Params.version }}
You are viewing version {{ . | markdownify }} of the documentation, which is no longer maintained. {{ with $latest_version }}For up-to-date documentation, see the latest version.
{{ end }} {{ end }}


COMPANY OVERVIEW Z & T Technology helps clients harness the power of innovation to thrive on change. For more than 1 year, we have successfully guided the world’s largest enterprises and government agencies through successful change cycles. We take pride in our technology independence and our role as a trusted advisor. Our deep experience gives us a clear and confident vision to help clients navigate the future. As the world’s leading independent, end-to- end IT services company, we are uniquely positioned to lead digital transformations — creating greater value for clients, partners and shareholders, and presenting growth opportunities for our people. We are among the world’s best corporate citizens.


Returns an Op to check if variables are initialized.
tf.compat.v1.assert_variables_initialized(var_list=None)
NOTE: This function is obsolete and will be removed in 6 months. Please
change your implementation to use report_uninitialized_variables()
.
When run, the returned Op will raise the exception FailedPreconditionError
if any of the variables has not yet been initialized.
Note: This function is implemented by trying to fetch the values of the variables. If one of the variables is not initialized a message may be logged by the C++ runtime. This is expected.
var_list
: List of Variable
objects to check. Defaults to the value of
global_variables().
An Op, or None if there are no variables.
NOTE The output of this function should be used. If it is not, a warning will be logged. To mark the output as used, call its .mark_used() method.


pub-pkg-highlight
pub-server package for injecting browser-based syntax highlighting using highlight.js.
A website with examples can be found at https://jldec.github.io/pub-pkg-highlight
Includes support for 34 commonly used languages and a github-theme stylesheet. See highlightjs.org for details.
installation
This package is included with pub-server.
To enable it, add pub-pkg-highlight
to your pub-config pkgs
.
usage
Layout templates which use {{{injectCss}}}
and {{{injectJs}}}
will automatically link to:
/css/highlight-11.4.0-github.css
/js/highlight-11.4.0.min.js
/js/pub-pkg-highlight.js
credits
Syntax highlighting thanks to highlight.js authors. Highlight.js is released under the BSD License.


Random Cleaning
Fun also include in our app with messaging
Learn MoreNo need for a Wi-Fi network or mobile data plan. The choice of OVER 1 billion users.
No need for a Wi-Fi network or mobile data plan. The choice of OVER 1 billion users.
This is yet another place to highlight feature your great app and talk bit about compatibility maybe who knows, the decision is yours to make! Don’t be hurry.
Sed ut perspic unde omnis iste natus error volu.
Sed ut perspic unde omnis iste natus error volu.
Sed ut perspic unde omnis iste natus error volu.
Sed ut perspic unde omnis iste natus error volu.
We have differe type of pricing table to choose with your need with resonable price.


--- layout: index title: Services group: navigation tagline: Solution accelerators tags : [services] img : img-mobile : author : Axurcio css: js: keywords: services, solution architects canonical: https://axurcio.com --- {% include JB/setup %}
Our Services


A specification system (spec) ensures that data that is passed in conforms to the requirements.
perusal
implements a performant spec system for Javascript - users can
define custom specifications, and verify that data satisfies the provided
specification. Pairs well with
Immutable.js to improve
speed by retaining metadata on the passing/failing specs - activate this by using
perusal-immutable
instead!
Inspired by Clojure's spec/alpha.
// Invalid validity checking returns false.
isValid(1, even); // false
// Valid values returns true.
isValid(2, even); // true
// We can define our own specifications.
define('is-a?', new Pred("is 'a'?", (value) => value === 'a'));
isValid('b', 'is-a?'); // false
isValid('a', 'is-a?'); // true
// We can join multiple predicates.
// Note that the definition key does not have to be the same as the explanatory string.
define('pos-even', and('positive, even number', positive, even));
isValid(2, 'pos-even'); // true
isValid(-2, 'pos-even'); // false
// We can also check maps.
const point = {
x: 1,
y: 2,
};
// Note that this uses perusal-immutable
const threeDpoint = new Map({
x: 1,
y: 2,
z: 3,
});
define('point', keys('2d or 3d point', {x: isNumber, y: isNumber, z: optional(isNumber)}));
define('point or string', or('point or string', getSpec('point'), isString));
isValid(point, 'point'); // true
explain(point, 'point');
/*
Value:
{ x: 1, y: 2 }
Passes specification 2d or 3d point.
*/
isValid(threeDpoint, 'point'); // true
isValid(threeDpoint, 'point or string'); // true
More examples can be found in example.js
.
This repository is currently not published as a library. Feel free to clone the repository and import as normal to test it out!
Refer to the online documentation at https://walnutdust.github.io/perusal.
TL;DR: Specs provide run-time analysis and verification of the data structure with flexibility although at the cost of (some) run-time performance and the lack of compiler help.
For more information, see the FAQ.
Definitions:
perusal
should operate with good performance guarantees.
perusal
should be readable without being cumbersome.
perusal
should enforce good
behavior, not force users to work around it.
Static typing is used by programmers to help them reason about the program. Specifically, static typing offers the following benefits:
Specs, on the other hand, performs run-time verification on the data, which offers:
Refer to Clojure's spec guide to see how people smarter than me reason about this.
Definitely! Clojurescript already a spec library.
However, Clojurescript performs this checking from fresh as we build up a data structure, leading to unnecessary repetition of checks which may be costly. See the next question for benchmarks!
If we were only doing dynamic type checking via typeof
, it takes only
about ~1% more time, and scales linearly. For more complex arguments it is harder to
argue about it, but note that most programs do end up explicitly checking inputs in
some form or the other, be it nullable checks, or whether the input asserts to a
certain usable specification. In those cases, perusal
helps formalise the
code, and offers programmers the capacity to say that given a input that satisfies a
certain spec, there will always be output of a certain spec?
To further improve performance, perusal
also offers an immutable version
of itself, which wraps immutable data types from immutable.js
with
metadata that tracks the specs that a certain object has fulfilled. In this manner, if
the programmer strictly uses the provided wrappers, we skip repetitive checking and
get a huge performance boost if the same data is used in multiple areas.
Benchmarks
Simple Type Checking
const {performance} = require('perf_hooks');
const n = 100000000;
let test;
const t0 = performance.now();
for (let i = 0; i < n; i++) {
test = 'test';
}
const t1 = performance.now();
console.log('Declaring a string took ' + (t1 - t0) / n + ' milliseconds on average.');
// Declaring a string took 8.706519499421119e-7 milliseconds on average.
const t2 = performance.now();
for (let i = 0; i < n; i++) {
typeof 'test' === 'string';
}
const t3 = performance.now();
console.log('Checking string type took ' + (t3 - t2) / n + ' milliseconds on average.');
console.log('Checking a string took ' + ((t3 - t2) / (t1 - t0)).toPrecision(3) + '% more time.');
const n = 10000000;
const t0 = performance.now();
for (let i = 0; i < 10000000; i++) {
typeof 'test' === 'string';
}
const t1 = performance.now();
console.log('Checking string type took ' + (t1 - t0) / n + ' milliseconds on average.');
// Checking string type took 8.643735998868942e-7 milliseconds on average.
// Checking a string took 0.993% more time.
Imutable types usage performance boost
Javascript
// Explanation works well with nesting too
const nestedPoint = new Map({
x: new Map({
x: new Map({
x: 2,
y: 3,
}),
}),
});
define('2-nested point', keys('nested nested point', {
x: keys('nested point', {x: getSpec('point')}),
}));
isValid(nestedPoint, '2-nested point'); // true
// Note that this uses perusal-immutable
// A good way to capture the same behavior is via the immutable from JS method.
const nestedPoint2 = fromJS({
x: {
x: {
x: 2,
y: 3,
},
},
});
isValid(nestedPoint2, '2-nested point'); // true
// Note that this uses perusal-immutable
// This works with normal JS Maps as well.
const nestedPoint3 = {
x: {
x: {
x: 2,
y: 3,
},
},
};
isValid(nestedPoint3, '2-nested point'); // true
// Test 1: Simple JS Maps
let start,
end,
numTimes = 10000000;
start = performance.now();
for (let i = 0; i < numTimes; i++) {
isValid(nestedPoint3, '2-nested point');
}
end = performance.now();
console.log(
'Test 1: Time taken to perform ' +
numTimes +
' validity checks on the JS Map is ' +
(end - start) +
'ms, averaging ' +
(end - start) / numTimes +
'ms.'
);
/* Test 1: Time taken to perform 10000000 validity checks on the JS Map is 5441.707319021225ms, averaging 0.0005441707319021225ms. */
// This uses perusal-immutable
// Test 2: fromJS (immutableJS) Map
start = performance.now();
for (let i = 0; i < numTimes; i++) {
isValid(nestedPoint2, '2-nested point');
}
end = performance.now();
console.log(
'Test 2: Time taken to perform ' +
numTimes +
' validity checks on the fromJS Map is ' +
(end - start) +
'ms, averaging ' +
(end - start) / numTimes +
'ms.'
);
/* Test 2: Test 2: Time taken to perform 10000000 validity checks on the fromJS Map is 1474.4121170043945ms, averaging 0.00014744121170043946ms. */
// This uses perusal-immutable
// Test 3: immutableJS Map
start = performance.now();
for (let i = 0; i < numTimes; i++) {
isValid(nestedPoint, '2-nested point');
}
end = performance.now();
console.log(
'Test 3: Time taken to perform ' +
numTimes +
' validity checks on the immutable Map is ' +
(end - start) +
'ms, averaging ' +
(end - start) / numTimes +
'ms.'
);
/* Test 3: Time taken to perform 10000000 validity checks on the immutable Map is 1248.7203179597855ms, averaging 0.00012487203179597855ms. */
Clojure
(ns benchmark (:require [clojure.spec.alpha :as s]))
(s/def ::x-coord int?)
(s/def ::y-coord int?)
(s/def ::point (s/keys :req-un [::x-coord]
:opt-un [::y-coord]))
(s/def ::nested-point (s/keys :req-un [::point]))
(s/def ::nested-nested-point (s/keys :req-un [::nested-point]))
(time (dotimes [_ 10000000] (s/valid? ::nested-nested-point {:nested-point {:point {:x-coord 2 :y-coord 3}}})))
(comment "Elapsed time: 31613.900138 msecs.")
As we may have expected, the immutable Maps take about the same times. We also note that the mutable version takes nearly three times as long as the immutable versions with this input.
For comparison purposes, clojure's spec/alpha
(which inspired this
library) gives us 31613.900138 msecs, which is about 300 times our immutable version,
and 30 times our mutable version implementation.
Suggested Usages:
perusal
, the APIs are able to specify the possible combinations of
information it wishes to accept.
Avoid when:
perusal
to
verify the data.
perusal
comes with performance costs since it has to check the type
In general, perusal
is good for when we want to assert that the input
data fulfills a certain structure before we perform further processing (e.g. sending
it out to another API, data processing). With the immutable version (perusal immutable
), users do not have to worry about costs associated with repeated checking of data
that is handled between functions, since the metadata will be stored if the same data
is used.
Sure! Look at js.spec or speculaas.
coll
, every
Garett Tok Ern Liang (walnutdust)
This project is licenced under the MIT Licence.
Generated using TypeDoc


This is an example page that loads strictly the minimal core styles & scripts required by BUSINESS and the table-pricing-3 component


Using SAML To Get SSO With Google Apps
Google Apps will work as a Service Provider (SP) and we need to "introduce" Gluu Server with Google Apps as Gluu Server so that it can work as an Identity Provider (IDP).
NOTE: It is highly recommended to use Google staging apps setup before Google production migration. If you have any question or confusion, please feel free to let us know.
We need to configure Google Apps and Gluu Server so that both parties can talk to each other.
Configuring Google Apps With Google Dashboard:
- Login to dashboard.
-
From the list of options choose the "Security" tab.
-
A new page will open. Select
Set up single sign-on(SSO)
from the options.
- Finally, the Single Sign-On setting page will appear.
This page contains a number of selection, and entry fields.
-
Setup SSO with third party Identity Provider: This refers to your Gluu Server instance. Enable this box.
-
Sign-in Page URL: Enter the uri of the sign-in page, for example
https://idp_hostname/idp/profile/SAML2/Redirect/SSO
. -
Sign-out Page URL: Enter the uri of the logout page, for example
https://idp_hostname/idp/logout.jsp
. -
Change Password URL: The uri an user is redirected if he wants to change his password. It is recommended that an organization provides such a link for its end users.
-
Verification certificate: Upload the SAML certificate of your Gluu Server. The SAML certificates are available in the
/etc/certs
folder inside the Gluu Serverchroot
environment. -
Use a domain specific issuer: Enable this box to use a domain-specific issuer.
-
Save your data using the
Save changes
button on the lower right of the page.
If you want to know more about Google SSO, this helps you.
Configuration In Gluu Server:
Now we need to create a Trust Relationship in Gluu Server. Trust Relationships are created so that the IdP can authorize/authenticate the user to the service provider (SP). In this specific case, the SP is Google Apps, and the protocol used is SAML.
In order to create a Trust Relationship, we need to grab the metadata of Google Apps. This metadata can be collected from Google. It's generally specific to an organization account. The following is a template of the Google metadata.
<EntityDescriptor entityID="google.com/a/domain.com" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
<AssertionConsumerService index="1" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://www.google.com/a/domain.com/acs" ></AssertionConsumerService>
</SPSSODescriptor>
</EntityDescriptor>
Got the metadata? Great, we are ready to move forward.
-
Create Trust Relationship for Google Apps:
-
How to create a trust relationship can be found here. We need to follow the "File" method for Google Apps trust relationship.
- Required attributes: Generally a nameID attributes is required. Here is how you can create custom nameID in Gluu Server.
- Relying Party Configuration: Yes, SAML2SSO should be configured.
- includeAttributeStatement: check
- assertionLifetime: default
- assertionProxyCount: default
- signResponses: conditional
- signAssertions: never
- signRequests: conditional
- encryptAssertions: never
- encryptNameIds: never


Ensemble Methods¶
The skml.ensemble
module implements ensembles to be used for multi-label
classification.
Ensemble Classifier Chains¶
Ensemble of classifier chains (ECC) trains an ensemble of bagged classifier chains. Each chain is trained on a randomly sampled subset of the training data (with replacement, also known as bagging).
References:
| [1] | “Classifier chains for multi-label classification”, Read, J., Pfahringer, B., Holmes, G. & Frank, E. (2009). In Proceedings of European conference on Machine Learning and Knowledge Discovery in Databases 2009 (ECML PKDD 2009), Part II, LNAI 5782(pp. 254-269). Berlin: Springer. |


Simplifying the World
Takes Advantage of Existing Infrastructure
Admittedly, the centralised nature of domain names leaves much to be desired. However, by leveraging existing infrastructure it gives users access to a system that is already familiar to them.
Secure Aliasing
By leveraging DNSSEC we are able to prevent MITM-style attacks on an alias. As with HTTPS, users are able to choose to operate in a less secure fashion if they are willing to accept the risks.
Decentralised DNS Ready
With Namecoin, DIANNA, P2P-DNS, and other systems bringing decentralised DNS to the fore, the OpenAlias standard has been designed to be simple enough to drop in and work.
Keeps Lookups Private
It is strongly recommended that developers bake support for DNSCrypt in and use our listed servers for lookups, thus retaining user privacy and not leaking lookup information.
What is OpenAlias?
OpenAlias seeks to provide a way to simplify aliasing amidst a rapidly shifting technology climate. Users are trying to cross the bridge to private and cryptographically secure infrastructure and systems, but many of them have just barely started remembering the email addresses of their friends and family.
As part of the ongoing development of the Monero cryptocurrency project, we asked ourselves: how can we simplify payments for users unfamiliar with cryptocurrency? Monero stealth addresses are at least 95 characters long - memorising them is not an option, and asking someone to send a payment to <95-character-string> is only going to lead to confusion.
At its most basic, OpenAlias is a TXT DNS record on a FQDN (fully qualified domain name). By combining this with DNS-related technologies we have created an aliasing standard that is extensible for developers, intuitive and familiar for users, and can interoperate with both centralised and decentralised domain systems.
How is it superior to other aliasing systems?
Typical aliasing systems are simple key-value stores. A cryptocurrency may, for instance, have an aliasing system that lets you (through the process of mining) declare that the alias Bob is equal to <95-character-string>. This has two major pitfalls for end-users. Firstly, it makes it the responsibility of that cryptocurrency to resolve issues or alias disputes. For instance, if a user loses their private keys and want to continue using that alias, there needs to be a mechanism in place for that, otherwise you end up with dead aliases and users have the hassle of having to update everyone that they have a new alias. The second problem is that it doesn't actually solve anything. Once the first few Bob-derived aliases are taken, users end up resorting to things like Bob1979-awesomesauce324, which means that the end-user still has to have that written down in an address book somewhere.
Who created OpenAlias?
The idea of a DNS-based alias system is not new, and has been suggested on more than one occassion. The groundwork for OpenAlias was initially done by Riccardo "fluffypony" Spagni and Naphex, formerly of btcXchange.ro. Many months after this initial gem of an idea was born Riccardo, along with the rest of the Monero core team, fleshed it out into a practical and extensible standard. A special thanks goes to Tom Winget, who created the first OpenAlias client implementation in Monero Core.


IFA seeks to promote sharing, good communication, and a unified spirit between Christian groups at CMU, as well as with local churches.
Photos: Kate Uncapher, Victor Song, Jeffrey He


Coffee is a brewed drink prepared from roasted coffee beans, which are the seeds of berries from the Coffea plant. The genus Coffea is native to tropical Africa (specifically having its origin in Ethiopia and Sudan) and Madagascar, the Comoros, Mauritius, and Réunion in the Indian Ocean. The plant was exported from Africa to countries around the world. Coffee plants are now cultivated in over 70 countries, primarily in the equatorial regions of the Americas, Southeast Asia, India, and Africa. The two most commonly grown are the highly regarded arabica, and the less sophisticated but stronger and harder robusta. Once ripe, coffee berries are picked, processed, and dried. Dried coffee seeds (referred to as beans) are roasted to varying degrees, depending on the desired flavor. Roasted beans are ground and brewed with near-boiling water to produce coffee as a beverage.
Coffee is slightly acidic and has a stimulating effect on humans because of its caffeine content. Coffee is one of the most popular drinks in the world. It can be prepared and presented in a variety of ways (e.g., espresso, French press, café latte, etc.). It is usually served hot, although iced coffee is a popular alternative. Clinical studies indicate that moderate coffee consumption is benign or mildly beneficial in healthy adults, with continuing research on whether long-term consumption lowers the risk of some diseases, although there is generally poor quality of such studies.
The earliest credible evidence of coffee-drinking appears in Yemen in southern Arabia in the middle of the 15th century in Sufi shrines. It was here in Arabia that coffee seeds were first roasted and brewed in a similar way to how it is now prepared. Coffee seeds were first exported from East Africa to Yemen, as the coffea arabica plant is thought to have been indigenous to the former. Yemeni traders took coffee back to their homeland and began to cultivate the seed. By the 16th century, it had reached Persia, Turkey, and North Africa. From there, it spread to Europe and the rest of the world.
Coffee is a major export commodity: it is the top agricultural export for numerous countries and is among the world's largest legal agricultural exports. It is one of the most valuable commodities exported by developing countries. Green (unroasted) coffee is one of the most traded agricultural commodities in the world. Some controversy is associated with coffee cultivation and the way developed countries trade with developing nations and the impact of its cultivation on the environment, in regards to the clearing of land for coffee-growing and water use. Consequently, the markets for fair trade coffee and organic coffee are expanding.
The word "coffee" entered the English language in 1582 via the Dutch koffie, borrowed from the Ottoman Turkish kahve, in turn, borrowed from the Arabicqahwah.
The Arabic word qahwah was traditionally held to refer to a type of wine whose etymology is given by Arab lexicographers as deriving from the verb qahiya, "to lack hunger", in reference to the drink's reputation as an appetite suppressant. It has also been proposed that the source may be the Proto-Central Semitic root q-h-h meaning "dark".
Alternatively, the word Khat, a plant widely used as a stimulant in Yemen and Ethiopia before being supplanted by coffee has been suggested as a possible origin, or the Arabic word quwwah'(meaning "strength"). It may also come from the Kingdom of Kaffa in southeast Ethiopia where Coffea arabica grows wild, but this is considered less likely; in the local Kaffa language, the coffee plant is instead called "bunno". The expression "coffee break" was first attested in 1952.The term "coffee pot" dates from 1705.


“They started out as a grassroots organization but they became an industry organization,” said Leah Gunn-Barrett, executive director for the advocacy group New Yorkers Against Gun Violence. “It’s economically-rooted, and that’s why they don’t want background checks because that would cut down on gun sales,” she said.
Pointing to legislative successes like their defeat of the universal background check bill last month, gun control advocates believe the NRA’s financial muscle has strangled Congressional attempts to pass new gun regulations.
“Essentially, they bought these politicians, like any special interest groups,” said Gunn-Barrett.
But that explanation doesn’t fully account for the NRA’s ubiquity or impact in American society. As the 'Money' graphic on the NRA’s efforts in the 2010 elections shows, political donations and lobbying money do not always translate into electoral success.
Another way to understand the NRA’s immense presence is to return to its original mission at the community-level to examine its grassroots influence. The NRA Foundation, the NRA’s grant-making affiliate, distributed almost $5 million in 389 grants to non-NRA affiliates to support a variety of shooting-related activities. Of that number, 327 grants funded youth-focused programs such as 4-H youth development organizations, high schools, Junior ROTC programs and sports clubs, tax records show. The NRA also maintains a longstanding relationship with Speedway Charities, which in recent years has led the NRA to sponsor NASCAR races. But not all of their activities’ purposes are obvious: one grant in Texas was marked for “Conservation and meat processing.”
These kinds of grants establish the NRA as strong contributors to local communities that might not figure in national debates about gun rights. As a result, gun owners feel the NRA is a kind of beacon for their cause, their only representative in a crowd of critics.
“I don’t necessarily agree with everything they say and do but listen, they are the only political body out there that’s fighting for us,” said Darren Leung, 47, the owner of Westside Pistol and Rifle Range in Manhattan. “Everyone is calling them a “special interest” – yea, they only have one interest: to further gun rights. So I mean, what is the problem with that? Why is the NRA always demonized?”
As the only commercial civilian gun range in Manhattan and under the Bloomberg administration’s stringent gun policies, the NRA’s support means a lot to Leung and his range’s members. Westside has received NRA grants around $5000-$10,000 to maintain their facilities and provide training courses. Today, Westside counts about 2000 members, a number that has been on the rise in the last few years.
As for the gun manufacturers, Leung sees them as part of a larger family of gun owners: “You have to support your industry…If we don’t all stay together – ranges, manufacturers, the political body of us, where are we going to go?”
To Leung, the answer to that question is part of the reason the NRA continues to garner so much support.
“Bottom line is people want to support the cause but they didn’t know where to go. Being that they were the only entity out there fighting for us, it was, ‘Let’s support the NRA,’” said Leung.


I’d like to find out more about GOV.UK PaaS
Contact us if you have a question about GOV.UK PaaS or you want to find out whether it's the right solution for your service.
More information
Our documentation lists the requirements for an app to run on GOV.UK PaaS.
Read more about our features and roadmap.


Lisa's Coding Playground!
Home
Navigation to Other Sites
CSS selector heirarchy
!important
inline
id + class
element + id
id
element + class
class
element


Upcoming Rides
add_circle_outline
Create a Ride
{{ride.departureDate}}
at
{{ride.departureTime}}
{{ride.seatsAvailable}} SEATS LEFT
{{ride.origin}}
play_arrow
{{ride.destination}}
Show Location
Loading...
{{ride.driver}} is offering this ride
DRIVER NOTES:
{{ride.notes}}
There was a problem loading the rides. Possibly the server is down or perhaps there are network issues.


Welcome to PumHa’s documentation!¶
PumHa package simulates the population dynamics of hares and pumas in a user-specified landscape. The population densities depend on a number of parameters, such as birth, death and diffusion rates, and also on the rate at which pumas eat hares. For more in-depth mathematical formulation, see PumaPopulation and HarePopulation classes in the pumha.pop module.
PumHa is written in Python programming language, it is compatible with any version of Python 2.7 or higher. Provided the package is correctly installed (see How to install), it can be run in variety of operating systems (see System compatibility and requirements for a list of operating systems in which the package has been tested).
The package was developed using GitHub revision control mechanism and the tests were created using Python’s unittest framework. The code complies with PEP 257 and PEP 8 conventions. The documentation was generated using Sphinx and it is located in the docs
folder inside the project directory.
How to install¶
To install PumHa package on a Linux machine (see System compatibility and requirements for known compatibility):
Change directory to your install directory (or create one).
Copy repository from Github by running the command:
git clone https://github.com/ad1v7/PumHa
Alternatively, if you are lucky enough to have a tar.gz package in your computer (in fact you would be very lucky because only 4 people out of 7+ billions have it!), you can do the following:
Or extract archive content using:
tar zxvf pumha.tar.gz
where pumha.tar.gz is replaced with your archive name.
Make sure you are in a directory which contains setup.py and use pip:
pip install .
You might need to run the above command as super user (root):
sudo pip install .
If you can’t run it as a root, you can try:
pip install --user .
In that case pip will install command line script into:
~/.local/bin
directory. This is the case for Scientific Linux and Ubuntu.
If ~/.local/bin
is not in your $PATH
(run echo $PATH
to check it), you can export it running:
export PATH=$PATH:~/.local/bin
You may want to add the above line to ~/.profile
so ~/.local/bin
is added to the path at login.
If you want to use the package with python 3 you might need to run pip3 in place of pip for above commands.
How to use¶
Once you have correctly installed the package, you can run the simulation from any directory by typing into the command line:
pumha <landscape_file> [<config_file>]
<config_file>
is a JSON type configuration file that contains all the information about the parameter values. You are welcome to play around with those values! You can find the default configuration file default.dat
in ...installation_path/pumha/data
directory (you can copy-paste it into your simulation directory, if you want).
If a configuration file is not provided, the program will display a warning and will continue, using the default values from default.dat
file. If configuration file is not present or was accidentally deleted, it can be regenerated by running a simulation without specifying config file:
pumha <landscape_file>
Therefore the simulation can be run without specifying a configuration file, but you must provide a <landscape_file>
. This file must be a bitmask ASCII file with the first row giving the dimensions of the landscape and rest of the rows representing landscape (1 for land square and 0 for water), as an example:
5 7
1 1 1 1 1 1 1
1 1 1 1 0 0 1
1 0 0 0 0 0 0
1 1 0 0 0 1 1
1 1 0 0 0 1 1
There are some example landscapes in the ...installation_path/pumha/data
directory.
Once you have run the simulation, an output folder with a time stamp PumHa_out_Y-m-d-H-M-S
will be created in your simulation directory. In that directory there will be a file average_densities.dat
in which there are three columns, the first column giving a timestep value and rest two showing the average values of hare and puma densities on the whole landscape respectively. The average values are calculated for the whole landscape, including the water squares.
The rest of the files in the output folder are ppm image files that describe the densities of pumas and hares on a given timestep. Each pixel represents a square on landscape grid. Blue pixels denote water. On the pixels representing land, red denotes puma density and green hare density (so the more red/green the square, the higher is puma/hare population on that square). The population values are scaled relative to the highest density of animals that appeared in the whole simulation on a single square.
How to run tests¶
To run the tests, go into the directory which contains setup.py
and run the following command:
python setup.py test
Depending on how you have installed the package, you might need to run the tests as root:
sudo python setup.py test
Testing requires nose which will be installed by pip automatically together with other dependencies.
System compatibility and requirements¶
The package was tested on:
Scientific Linux release 7.3 (Nitrogen)
Ubuntu 16.04.3 LTS
Ubuntu 14.04 LTS
Windows 10 Home
The package is likely to work on other systems as well, but this is not guaranteed. Also, if you are using an operating system which is not listed above, the installation procedure may differ from the one outlined in this document.
The package requires following dependencies:
- numpy >=1.9.2
- simplejson>=3.8.1
- scipy>=0.15.1
- tqdm>=4.19.4
- jsonschema>=2.6.0
- docopt>=0.6.2
The package has been tested with the minimum required version, but it is likely that the package will work with older versions as well.
Above packages should be installed automatically when using pip (as described in the section How to install). However, if there are some issues with the installation, they can be installed separately using pip:
sudo pip install package_name
or if root is not available:
pip install --user package_name
Key design decisions¶
This section discusses some design and implementation decisions.
Usage properties¶
PumHa package has been designed keeping the ease of usage in mind. All the additional packages required for the code to run can easily installed with pip (see How to install). Since it can be installed as a Python module, it can be easily used as a part of other simulation softwares.
Every simulation produces an output folder with a timestamp in its name, making it easy to keep track of previously run simulations.
Handling input¶
The package has nice buit-in mechanisms for handling invalid input data:
- If a configuration file is not in a JSON format or has invalid input values, the program terminates the simulation and generates a new configuration file in a correct format, giving the user an opportunity to “try again” by changing parameter values in a correct configuration file.
- Classes Landscape and Configuration that deal with user input, have built-in error checks, that can handle majority of cases.
- If the user does not have a configuration file or has deleted the default one, it is simple to generate a new one - simply run the program without specifying a configuration file!
- The program will display an error message and terminate if no landscape file is provided, or if the landscape file is not in a correct format, since there is no point in running a simulation on a landscape that is not the one user wanted to simulate.
Class structure¶
The code is modular and loosely coupled and it is hence easy to extend it and make changes locally, without having to rewrite methods in different modules or classes. With the choice of variable names, the code aims to be as self-documenting as possible.
The modular structure and use of inheritance in the pumha.pop module allows modules and classes to be used in different projects. The population class has methods relevant to all populations, a user can create their own subclass with corresponding methods (that perhaps use different mathematical formalism). Setting up a simulation is very simple, requiring only at the least a landscape file and one population to be specified. Hence it is simple to create custom tailored simulations.
Though it is possible to extend the code to include several populations, the output functions are specific to the case of two populations. There is a function that checks the number of populations in the simulation and if it is other than two, it displays a message and continues the simulation without providing output.
To make the simulation faster, the methods responsible for the density updates only loop over land squares. For standard landscapes this implementation can reduce the total simulation time significantly.
Output and visualisation¶
The output file that lists average densities at given timesteps has the timestep value, hare density and puma density written as three columns respectively, making it simple to plot.
In out visualisation implementation, both puma and hare densities on a given time step are shown on one PPM file, one pixel corresponding to one square on a grid, blue without any red or green representing water, green hare density and red puma density (for more information about the output, see How to use). The RGB values representing the puma and hare densities are equal to the actual value of the density at the square. The colours are scaled using the maximum value of the density found during the simulation.
Since a line in a plain PPM file must be no longer than 70 characters, all the RGB values are written into an array of strings, each element in an array corresponging to a pixel. Those strings are then written on a file, four pixels per line (since that is the maximum amount of pixels that could fit to one line if both puma and hare densities are 5-digit numbers).


--- layout: minimal title: "About me" permalink: /about/index.html description: "Some description about Victor Igor..." ---
I'm like a student that's it
Vespertine Lights My poetry blog that is occasionally updated and (almost) never revised.
IGCSE Revision Website Published, tidy notes and past papers on your traditionally content-heavy lessons - English, History, Science and Music.


Photo by amirali mirhashemian on Unsplash
Enter a Berder you want to eat. Click "Create Berder" when done.


Inspired by the D3 example by Alan Smith. Drag region to select.
Inspired by Only An Ocean Between, 1943. Population Live Stock, p.13


Nithyananda and his many controversies
Nithyananda has been booked after a couple from Tamil Nadu moved the Gujarat High Court, alleging their children were being held in illegal confinement at his ashram in Ahmedabad.
22 Nov 2019, 13:12
Swami Nithyananda is a self-styled godman who runs a number of ashrams across the country and heads the Nithyananda Dhyanapeetam, a religious organisation which he founded. According to a video available on his website, Nithyananda attained ‘enlightenment’ at the age of 12. (Source: nithyananda.org)
A statue of Nithyananda. The video on his website introduces him as a spiritual leader of Hinduism and claims that he runs centres in 47 countries. Nithyananda has been booked after a couple from Tamil Nadu moved the Gujarat High Court, alleging their children were being held in illegal confinement at his ashram in Ahmedabad. (Source: nithyananda.org)
This is not the first time that Nithyananda has landed into a controversy.  He had defended himself at the time saying he was merely ‘practising the shavasana’ and that he was impotent. (Source: File Photo)
A case was filed against him in Bangalore. He was finally arrested from Himachal Pradesh’s Solan district on April 21, 2010. Nithyananda was, however, let off on bail. Two years later, though, he landed again in soup when a US-based woman claimed that Nithyananda had abused her for five years. (Source: Express Archive)
A statue of Nithyananda. On Monday, an FIR was lodged against Nithyananda and two of his followers at an Ahmedabad-based ashram for allegedly abducting, confining and torturing two minors and a 19-year-old woman. Following this, the Gujarat High Court had issued notices to Nithyananda and the state government on a habeas corpus petition filed by the father of the women. (Source: nithyananda.org)


| Overview | Module | Use | Devguide | Index |
| Services' Summary | Interfaces' Summary | Properties' Summary | Services' Details | Interfaces' Details | Properties' Details |
| service ChartDocument |
| Exported Interfaces - Summary | |
| XChartDocument | this interface is derived from ::com::sun::star::frame::XModel. Thus model functionality is available via this interface. |
| ::com::sun::star::chart2::data::XDataReceiver | offers connection to data |
| XTitled | gives access to the main title of a chart document |
| ::com::sun::star::style::XStyleFamiliesSupplier | maintains all style families applying to any object in the chart. |
| ::com::sun::star::util::XNumberFormatsSupplier | maintains all number formats used anywhere in the chart. |
| ::com::sun::star::lang::XInitialization | Allows passing arguments to createInstanceWithArguments. (details) |
| XUndoSupplier |
| Exported Interfaces - Details | |
| XChartDocument |
|
::com::sun::star::chart2::data::XDataReceiver
|
|
XTitled
|
|
::com::sun::star::style::XStyleFamiliesSupplier
|
|
::com::sun::star::util::XNumberFormatsSupplier
|
|
::com::sun::star::lang::XInitialization
|
|
XUndoSupplier
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


"""--------------------------------------------------------------------
* $Id: special_options.py 3112 2015-05-19 13:17:35Z robert.buras $
*
* This file is part of libRadtran.
* Copyright (c) 1997-2012 by Arve Kylling, Bernhard Mayer,
* Claudia Emde, Robert Buras
*
* ######### Contact info: http://www.libradtran.org #########
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*--------------------------------------------------------------------"""
from option_definition import *
class setup_special_group():
[docs]
group_name = 'Special'
def __init__(self):
[docs] documentation = get_special_documentation()
brdf_non_parents=['albedo','albedo_file','albedo_library',
'brdf_rossli', 'brdf_rossli_file', 'brdf_rossli_hotspot',
'brdf_cam', 'brdf_cam_solar_wind', 'cox_and_munk_u10_map',
'brdf_rpv_file', 'brdf_rpv', 'brdf_rpv_library','brdf_rpv_type',
'brdf_hapke', 'brdf_hapke_file',
'mc_albedo_file', 'mc_rossli_file', 'mc_rpv_type', 'mc_rpv_file',
'bpdf_tsang_u10']
albedo_library = option(
name='albedo_library',
group='special',
helpstr='Spectral albedos of different surface types.',
documentation=documentation['albedo_library'],
tokens=addToken(name='Input.alb.library', datatype=str, valid_range=['IGBP',file]),
parents=['uvspec'],
non_parents=brdf_non_parents,
childs=['brdf_rpv_type'],
showInGui = False,
developer = True
)
cloud_fraction_map = option(
name='cloud_fraction_map',
group='special',
documentation=documentation['cloud_fraction_map'],
tokens=addToken(name='Input.filename[FN_CLOUD_FRACTION_MAP]',datatype=file),
developer=True,
)
albedo_map = option(
name='albedo_map',
group='special',
documentation=documentation['albedo_map'],
tokens=[addSetting(name='Input.alb.source', setting='ALBEDO_FROM_ALBEDO_MAP') ,
addToken(name='Input.filename[FN_ALBEDO_MAP]',datatype=file),
addToken(name='Input.alb.netCDF_alb_name',datatype=file,optional=True),
addToken(name='Input.alb.scale_factor',datatype=float,optional=True) ],
developer=True
)
altitude_map = option(
name='altitude_map',
group='special',
documentation=documentation['altitude_map'],
tokens=[addSetting(name='Input.alt.source', setting='ALT_FROM_MAP') ,
addToken(name='Input.filename[FN_ALTITUDE_MAP]',datatype=file),
addToken(name='Input.alt.netCDF_alt_name',datatype=file,optional=True),
addToken(name='Input.alt.scale_factor',datatype=float,optional=True) ],
developer=True
)
cox_and_munk_u10_map = option(
name='cox_and_munk_u10_map',
group='special',
helpstr='Location of netCDF file with wind speed for ocean BRDF.',
documentation=documentation['cox_and_munk_u10_map'],
tokens = [ addToken(name='Input.filename[FN_U10_MAP]', datatype=file),
addSetting(name='Input.disort2_brdf', setting='BRDF_CAM', default='BRDF_NONE') ],
parents=['uvspec'],
non_parents=brdf_non_parents,
non_parent_exceptions=['brdf_cam', 'brdf_cam_solar_wind', 'cox_and_munk_u10_map', 'mc_rossli_file'],
showInGui= False,
developer=True
)
cox_and_munk_pcl_map = option(
name='cox_and_munk_pcl_map',
group='special',
documentation=documentation['cox_and_munk_pcl_map'],
tokens=[addSetting(name='Input.disort2_brdf', setting='BRDF_CAM') ,
addToken(name='Input.filename[FN_PIGMENTS_MAP]',datatype=file),
addToken(name='Input.cm.pcl_netCDF_name',datatype=file,optional=True),
addToken(name='Input.cm.pcl_scale_factor',datatype=float,optional=True) ],
developer=True
)
cox_and_munk_sal_map = option(
name='cox_and_munk_sal_map',
group='special',
documentation=documentation['cox_and_munk_sal_map'],
tokens=[addSetting(name='Input.disort2_brdf', setting='BRDF_CAM') ,
addToken(name='Input.filename[FN_SALINITY_MAP]',datatype=file),
addToken(name='Input.cm.sal_netCDF_name',datatype=file,optional=True),
addToken(name='Input.cm.sal_scale_factor',datatype=float,optional=True) ],
developer=True
)
emissivity_map = option(
name='emissivity_map',
group='special',
documentation=documentation['emissivity_map'],
tokens=[addSetting(name='Input.alb.source', setting='ALBEDO_FROM_EMISSIVITY_MAP') ,
addToken(name='Input.filename[FN_ALBEDO_MAP]',datatype=file),
addToken(name='Input.alb.netCDF_alb_name',datatype=file,optional=True),
addToken(name='Input.alb.scale_factor',datatype=float,optional=True) ],
developer=True
)
surface_temperature_map = option(
name='surface_temperature_map',
group='special',
documentation=documentation['surface_temperature_map'],
tokens=[addToken(name='Input.filename[FN_SURFACE_TEMP_MAP]',datatype=file),
addToken(name='Input.netCDF_name_surf_T',datatype=file,optional=True)],
developer=True
)
surface_type_map = option(
name='surface_type_map',
group='special',
documentation=documentation['surface_type_map'],
tokens=[addSetting(name='Input.alb.surf_type_map',setting='TRUE'),
addToken(name='Input.filename[FN_SURFACE_TYPE_MAP]',datatype=file),
addToken(name='Input.alb.netCDF_surf_name',datatype=file,optional=True)],
developer=True
)
ECHAM_sza = option(
name='ECHAM_sza',
group='special',
documentation=documentation['ECHAM_sza'],
tokens=[addToken(name='Input.filename[FN_SZA]',datatype=file),
addSetting(name='Input.atm.sza',setting='NOT_DEFINED_FLOAT'),
addSetting(name='Input.atm.sza_source',setting='SZA_ECHAM') ],
developer=True,
)
ECMWF_ozone_climatology = option(
name='ECMWF_ozone_climatology',
group='special',
documentation=documentation['ECMWF_ozone_climatology'],
tokens=addSetting(name='Input.atm.ECMWF_ozone_climatology',setting='TRUE'),
developer=True
)
ECMWF_wc_file = option(
name='ECMWF_wc_file',
group='special',
documentation=documentation['ECMWF_wc_file'],
tokens=[addSetting(name='isp',setting=CaothType('wc')),
addSetting(name='Input.caoth[isp].source',setting='CAOTH_FROM_ECMWF'),
addToken(name='Input.caoth[isp].filename',datatype=file) ],
developer=True
)
ECMWF_ic_file = option(
name='ECMWF_ic_file',
group='special',
documentation=documentation['ECMWF_ic_file'],
tokens=[addSetting(name='isp',setting=CaothType('ic')),
addSetting(name='Input.caoth[isp].source',setting='CAOTH_FROM_ECMWF'),
addToken(name='Input.caoth[isp].filename',datatype=file) ],
developer=True
)
ECMWF_levels_only = option(
name='ECMWF_levels_only',
group='special',
documentation=documentation['ECMWF_levels_only'],
tokens=addSetting(name='Input.atm.rs_add_upper_levels',setting='FALSE'),
developer=True
)
ECMWF_wind_file = option(
name='ECMWF_wind_file',
group='special',
documentation=documentation['ECMWF_wind_file'],
tokens=addToken(name='Input.filename[FN_ECMWF_WIND_MAP]',datatype=file),
developer=True
)
satellite_geometry = option(
name='satellite_geometry',
group='special',
documentation=documentation['satellite_geometry'],
tokens=addToken(name='Input.filename[FN_SATGEOMETRY]',datatype=file),
developer=True
)
satellite_pixel = option(
name='satellite_pixel',
group='special',
documentation=documentation['satellite_pixel'],
tokens=[addToken(name='Input.sat_pixel_x',datatype=int),
addToken(name='Input.sat_pixel_y',datatype=int) ],
developer=True
)
self.options = [ ECHAM_sza,
ECMWF_ozone_climatology, ECMWF_wc_file, ECMWF_ic_file, ECMWF_wind_file, ECMWF_levels_only,
cox_and_munk_u10_map, cox_and_munk_pcl_map, cox_and_munk_sal_map,
cloud_fraction_map, altitude_map, albedo_map, emissivity_map,
surface_temperature_map, surface_type_map,
albedo_library, satellite_geometry, satellite_pixel,
]
#Special group belongs to developers options; should not be in Gui for EsasLight version;
for opt in self.options:
opt.showInGui = False
def __iter__(self):
return iter(self.options)
def get_special_documentation():
[docs] return {
'albedo_library' : r'''
Albedo libraries are a collection of spectral albedos of different surface types.
This option must be used either with \code{bdrf_rpv_type}
or \code{surface_type_map}, in order to select the specific surface type.
There are two possibilities for libraries:
the built-in IGBP library or a user defined albedo library.
The built-in library of the International Geosphere Biosphere Programme is
selected with
\fcode{
albedo_library IGBP
}
The IGBP library contains 20 surface types which are set by \code{brdf_rpv_type}:
\fcode{
1 evergreen_needle_forest\\
2 evergreen_broad_forest\\
3 deciduous_needle_forest\\
4 deciduous_broad_forest\\
5 mixed_forest\\
6 closed_shrub\\
7 open_shrubs\\
8 woody_savanna\\
9 savanna\\
10 grassland\\
11 wetland\\
12 cropland\\
13 urban\\
14 crop_mosaic\\
15 antarctic_snow\\
16 desert\\
17 ocean_water\\
18 tundra\\
19 fresh_snow\\
20 sea_ice\\
}
Surface types 1 - 17 are defined by the International Geosphere Biosphere
Programme (IGBP); additionally there are tundra, fresh\_snow, and sea\_ice surface types.
The spectral albedo of the ground is determined as a function of solar
zenith angle, precitable water, and clouds. The spectral resolution
equals the grid of the correlated-k Fu/Liou parameterisation.
This library originates from the NASA CERES/SARB Surface Properties Project,
see \citet{Belward1996}.
For creating your own albedo library use \code{albedo_library path}, where \code{path} is
the path of the directory where the albedo data is stored. The files are expected to have the
names \code{albedo_01.dat, albedo_02.dat, ...} If \code{brdf_rpv_type 1} is specified
the albedo from \code{albedo_01.dat} will be used, and so on.
Each file is required to have two columns:
Column 1 is the wavelength in nm, and column 2 the corresponding
Lambertian surface albedo. The wavelength grid may be freely set. The
albedo will be interpolated linearely to the wavelength grid used for the
radiation calculation. Comments start with \code{\#}. Empty lines are ignored.
This option is similar to \code{albedo_file}, except that it offers an
easy way to use the option \code{surface_type_map} in combinition with albedo files.
''',
'albedo_map' : r'''
\emph{This option is preliminary and still subject to change (no wavelength dependency yet)!}
It gives the possibility to specify a wavelength independent albedo with the help of
a \emph{netCDF} file, which is used in combinition
with the options \code{latitude}, \code{longitude}, and \code{time}.
\fcode{
albedo_map file [variable_name]
}
Here \code{file} is the location of the \emph{netCDF} file,
The optional argument allows the name of the albedo variable in
the \emph{netCDF} file to be specified (the default name is \code{AL}).
The albedo must be provided as function of \code{latitude} and \code{longitude} \code{AL(lat, lon)},
and may also depend on time \code{AL(time, lat, lon)}.
The latitude, longitude, and time grids must be provided as doubles
\code{double lat(lat)}, \code{double lon(lon)}, and \code{double time(time)}.
\code{uvspec} reads the value at the nearest pixel to the given \code{latitude} and
\code{longitude}. No spatial interpolation or averaging of the values are performed.
If a time-dependent albedo is provided, the albedo data nearest to the specified time
will be selected (or linear interpolated if \code{time_interpolate} is switched on).
''',
'altitude_map' : r'''
Specifies an altitude map which is used in combinition with
\code{latitude}, \code{longitude} in order to
select the altitude for the simulation.
No interpolation is done between the pixels of the map.
The format of the call is:
\fcode{
altitude_map file [variable_name]
}
where \code{file} is the location of the altitude map file. The map is expected to
be in \emph{netCDF} format. The file must contain \code{double lat(lat)},
\code{double lon(lon)}, and the altitude variable, where \code{variable_name} is the
name of the surface elevation variable in the \emph{netCDF} file. The default name is Z.
The altitude variable must be \code{altitude(lat, lon)}.
For format discribtion see also the example map included in {\sl libRadtran},
\file{data/altitude/ELEVATION_GTOPO_10min.cdf}.
To use this map in \code{uvspec}, you may also use \code{altitude_map GTOPO}. This map has a resolution
of 10 arc minutes and the unit of the altitude is meter. Please note that this resolution
might not ne adequate for your application.
If an altitude in the map is below the lowest level of the
\code{atmosphere_file}, the atmospheric profiles are extrapolated assuming a constant
gradient for temperature and mixing ratios.
''',
'cloud_fraction_map' : r'''
Undocumented option.
''',
'cox_and_munk_u10_map' : r'''
Specify wind speed (in m/s) for the \citet{cox54a,cox54b}
ocean BRDF with the help of an \emph{netCDF} file, which is used in combinition
with the options \code{latitude}, \code{longitude}, and \code{time}.
\fcode{
cox_and_munk_u10_map file
}
where \code{file} is the location of the \emph{netCDF} file.
{\sl libRadtran} reads the value at the nearest pixel to the given \code{latitude} and
\code{longitude}. No spatial interpolation or averaging of the values is done.
The file must contain the elements of the wind vector \code{U10} and
\code{V10}. These must be specified as functions of \code{latitude}
and \code{longitude} \code{U10(lat, lon)}, \code{V10(lat, lon)}, or
additionally may also depent on time \code{U10(time, lat, lon)},
\code{V10(time, lat, lon)}. If the variable time is present in the
file, the wind speed will be interpolated according to the option
\code{time_interpolate}. All grids must be provided as \code{double
lat(lat)}, \code{double lon(lon)}, and \code{double time(time)}.
''',
'cox_and_munk_pcl_map' : r'''
A possibility to specify pigment concentration (in mg/m3) for the Cox and Munk
ocean BRDF with the help of an \emph{netCDF} file, which is used in combinition
with options \code{latitude}, \code{longitude}, and \code{time}.
\fcode{
cox_and_munk_pcl_map file [variable_name]
}
where \code{file} is the location of the \emph{netCDF} file.
{\sl libRadtran} reads the value at the nearest pixel to the given \code{latitude} and
\code{longitude}. No spatial interpolation or averaging of the values is done.
The default name of the pigment concentration variable is
\code{chlorophyll}, but can be changed with the optional argument
\code{variable_name}. The pigment concentration must be provided as
function of \code{latitude} and \code{longitude},
\code{chlorophyll(lat, lon)}, or additionally may also depend on time
\code{chlorophyll(time, lat, lon)}. If a time-dependent pigment
concentration is specified, the pigment concentration will be
interpolated according to the option \code{time_interpolate}. All
grids must be provided in the file as \code{double lat(lat)},
\code{double lon(lon)}, and \code{double time(time)}.
''',
'cox_and_munk_sal_map' : r'''
Specify ocean salinity (in ppt) for the \citet{cox54a,cox54b}
ocean BRDF with the help of an \emph{netCDF} file, which is used in combinition
with the options \code{latitude}, \code{longitude}, and \code{time}.
\fcode{
cox_and_munk_pcl_map file [variable_name]
}
where \code{file} is the location of the \emph{netCDF} file.
{\sl libRadtran} reads the value at the nearest pixel to the given \code{latitude} and
\code{longitude}. No spatial interpolation or averaging of the values is done.
The expected name of the pigment concentration variable is per default
\code{salinity}, but can be changed with the optional argument
\code{variable_name}. The pigment concentration must be provided as
function of \code{latitude} and \code{longitude}, \code{salinity(lat,
lon)}, or additionally may also depent on time \code{salinity(time,
lat, lon)}. If a time-dependent salinity is specified, the salinity
will be interpolated according to the option
\code{time_interpolate}. All grids must be provided as \code{double
lat(lat)}, \code{double lon(lon)}, and \code{double time(time)}.
''',
'emissivity_map' : r'''
\emph{This option is preliminary and still subject to change (no wavelength dependency yet)!}
Specify a wavelength independent emissivity with the help of
an \emph{netCDF} file, which is used in combinition
with the options \code{latitude}, \code{longitude}, and \code{time}.
\fcode{
emissivity_map file [variable_name]
}
where \code{file} is the location of the \emph{netCDF} file.
With the optional argument \code{variable_name} the name of the emissivity variable in
the \emph{netCDF} file can be specified. (By default the expected name is \code{EMIS}.)
The emissivity must be specified as function of \code{latitude} and \code{longitude} \code{EMIS(lat, lon)},
or additionally may also depent on time \code{EMIS(time, lat, lon)}.
All grids must be provided as
\code{double lat(lat)}, \code{double lon(lon)}, and \code{double time(time)}.
{\sl libRadtran} reads the value at the nearest pixel to the given \code{latitude} and
\code{longitude}. No spatial interpolation or averaging of the values is done.
If the variable time is present in the file, the emissivity data nearest to the specified time
will be selected (or interpolated if \code{time_interpolate} is switched on).
''',
'ECHAM_sza' : r'''
Undocumented option.
''',
'ECMWF_ozone_climatology' : '''
The Integrated Forecast System (IFS) of the ECMWF uses a ozone
climatology for radiative transfer instead of the ozone simulated by
the IFS. If this option is activated the ozone profile of the
\code{atmosphere_file} or \code{ECMWF_atmosphere_file} is replaced by
the ozone climatology by Fortuin and Langematz (1995).
(If there is also a \code{mol_file} for ozone, it modifies the ozone
climatology profile.)
''',
'ECMWF_ic_file' : r'''
\fcode{
ECMWF_ic_file file
}
For further information see \code{ECMWF_wc_file}.
''',
'ECMWF_levels_only' : r'''
The atmosphere considered in the simulation has the same height range
as the data in the
\code{ECMWF_atmosphere_file}/\code{radiosonde}-file. No further levels
are added above those. This option has only an effect in combination
with \code{ECMWF_atmosphere_file} or \code{radiosonde}
(this option is identical to \code{radiosonde_levels_only}).
''',
'ECMWF_wc_file' : r'''
Reads in combination with the options \code{latitude},
\code{longitude}, and \code{time} (all mandatory) the pressure,
temperature, and cloud liqid water content (CLWC) and cloud cover (CC)
from an ECMWF \emph{netCDF} data file.
\fcode{
ECMWF_wc_file file
}
No spatial interpolation of the values is done. The data nearest to
the specified \code{time} will be selected (or linearly interpolated
if \code{time_interpolate} is switched on). In order to use the ECMWF
data without cloud overlap assumption, use \code{cloud_overlap off}.
''',
'ECMWF_wind_file' : r'''
Reads in combination with the options \code{latitude},
\code{longitude}, and \code{time} (all mandatory) the wind components
U, V, and W from an ECMWF \emph{netCDF} data file.
\fcode{
ECMWF_wind_file file
}
The data nearest to the specified \code{time} will be selected (or
linearly interpolated, if \code{time_interpolate} is switched on).
''',
'satellite_geometry' : r'''
With this option the satellite geometry is determinded. The argument for this option
\fcode{
satellite_geometry netCDF_file
}
is the location of a \code{netCDF_file}, which must contain latitude and longitude position
as well as zenith and azimuth viewing angle for each pixel.
%ak20100306 What is below does not belong in the general Users Guide yet.
%For format specification see the example file data/satellite/MSG\_seviri/MSG\_seviri\_geometry.nc.
%This option has to be used in combination with \code{satellite_pixel}.
%You can also use the abbreviation
%\code{satellite_geometry MSG}
%for MSG simulation, \emph{but in order to use this, you have to copy the netCDF file}
%\fcode{
%cp -r /data/A3/satellite_geometry/satellites libRadtran/data/
%}
%\emph{which is not in cvs version, as it is too large.}
''',
'satellite_pixel' : r'''
This option specifies which pixel of the satellite image that should be simulated.
\fcode{
satellite_pixel pixel_x pixel_y
}
The arguments \code{pixel_nr_x} and \code{pixel_nr_y} specifies the pixel position in the native
system of the satellite, which is determinded by the option \code{satellite_geometry}.
''',
'surface_temperature_map' : r'''
Specify a surface\_temperature map with a \emph{netCDF} file which is used in combinition
with the options \code{latitude}, \code{longitude}, and \code{time}.
\fcode{
surface_temperature_map file [variable_name]
}
where \code{file} is the location of the \emph{netCDF} file.
\code{libRadtran} reads the value at the nearest pixel to the given \code{latitude} and
\code{longitude}. No spatial interpolation or averaging of the values is done.
''',
'surface_type_map' : r'''
Specify a surface type map, which is used in combinition with
\code{albedo_library}, \code{latitude}, and \code{longitude} in order to
select the surface type relevant for the simulation.
No pixel interpolation is done.
The format of the call is:
\fcode{
surface_type_map file [variable_name]
}
where \code{file} is the location of the surface type map file. The map is expected to
be in \emph{netCDF} format. The file must contain the variables \code{double lat(nlat)},
\code{double lon(nlon)}, and \code{byte brdf_rpv_type (nlat, nlon)}. If the name of the
surface type variable is different, the optional argument can be used in order to specify
the variable name. For format specification see also
\file{data/albedo/IGBP_map/SURFACE_TYPE_IGBP_10min.cdf}.
For using the IGBP map, the call is \code{surface_type_map IGBP}. This map has a resolution of 10
minutes and contains the surface types 1 to 18 defined in the \code{albedo_library IGBP}.
Fresh snow and sea ice are not included, as their extent is too variable. Attention:
That implies e.g. that the Arctic is considered ocean\_water and not sea\_ice!
Locations on the pixel boundaries are interpreted as the pixel northward and
eastward respectively. E.g. location 0 N, 0 E is interpreted like the pixel ranging from
0 to 10min North and from 0 to 10min East.
''',
}


TProgram
- The data type of programs.
TOutput
- The output type of programs.
TTarget
- The target type of the dataset.
public EnvironmentFacade<TProgram,TOutput extends Output<TProgram>,TTarget extends Target<? extends TProgram>>
Acts as a facade for simplifying access to details of an class Environment
.
An class Environment
is central during the operation of the system, as different sub-systems
rely on it for providing random state, configuration, module instances, and numerous other things.
This facade provides the public definition for an class Environment
that consumers can rely on.
class Environment
,
class Environment
,
class Environment
| Modifier and Type | Method and Description |
|---|---|
EnvironmentFacade<TProgram,TOutput,TTarget> |
copy()
Produces a clone of the current environment.
|
Configuration |
getConfiguration()
Contains the various configuration options available to the LGP system.
|
java.util.List<TProgram> |
getConstants()
A set of constants loaded using the
interface ConstantLoader given at construction time. |
kotlin.jvm.functions.Function0<nz.co.jedsimson.lgp.core.evolution.fitness.FitnessFunction> |
getFitnessFunctionProvider()
Provides a function that can measure the fitness of a program.
|
ModuleFactory<TProgram,TOutput,TTarget> |
getModuleFactory()
Provides access to modules that are registered in the environment.
|
java.util.List<nz.co.jedsimson.lgp.core.program.instructions.Operation> |
getOperations()
A set of operations loaded using the
interface OperationLoader given at construction time. |
kotlin.random.Random |
getRandomState()
Provides access to the environments random state.
|
RegisterSet<TProgram> |
getRegisterSet()
Provides access to the set of registers that programs in the environment will use.
|
ResultAggregator<TProgram> |
getResultAggregator()
Provides mechanisms for collecting results during the lifetime of an environment.
|
void |
registerModule(RegisteredModuleType type,
kotlin.jvm.functions.Function1<? super nz.co.jedsimson.lgp.core.environment.EnvironmentFacade<TProgram,TOutput,TTarget>,? extends nz.co.jedsimson.lgp.core.modules.Module> builder)
Register a module builder with a particular module type.
|
void |
registerModules(ModuleContainer<TProgram,TOutput,TTarget> container)
Registers the modules given by a container.
|
@NotNull kotlin.random.Random getRandomState()
Provides access to the environments random state.
This allows the entire framework to share the random state (as a singleton) to allow deterministic runs.
@NotNull kotlin.jvm.functions.Function0<nz.co.jedsimson.lgp.core.evolution.fitness.FitnessFunction> getFitnessFunctionProvider()
Provides a function that can measure the fitness of a program.
@NotNull Configuration getConfiguration()
Contains the various configuration options available to the LGP system.
@NotNull java.util.List<TProgram> getConstants()
A set of constants loaded using the interface ConstantLoader
given at construction time.
interface ConstantLoader
@NotNull java.util.List<nz.co.jedsimson.lgp.core.program.instructions.Operation> getOperations()
A set of operations loaded using the interface OperationLoader
given at construction time.
interface OperationLoader
@NotNull ResultAggregator<TProgram> getResultAggregator()
Provides mechanisms for collecting results during the lifetime of an environment.
@NotNull ModuleFactory<TProgram,TOutput,TTarget> getModuleFactory()
Provides access to modules that are registered in the environment.
The class ModuleFactory
acts as a service locator within the system, allowing sub-systems to get the dependencies they need.
class ModuleFactory
@NotNull RegisterSet<TProgram> getRegisterSet()
Provides access to the set of registers that programs in the environment will use.
void registerModules(@NotNull ModuleContainer<TProgram,TOutput,TTarget> container)
Registers the modules given by a container.
This acts as an aggregate form of the registerModule
function.
container
- A container that specifies modules to be registered.registerModule
void registerModule(@NotNull RegisteredModuleType type, @NotNull kotlin.jvm.functions.Function1<? super nz.co.jedsimson.lgp.core.environment.EnvironmentFacade<TProgram,TOutput,TTarget>,? extends nz.co.jedsimson.lgp.core.modules.Module> builder)
Register a module builder with a particular module type.
type
- The type of module to associate this builder with.builder
- A function that can create the module.@NotNull EnvironmentFacade<TProgram,TOutput,TTarget> copy()
Produces a clone of the current environment.
interface EnvironmentFacade
instance that is a copy of the current one.


{{ text }} {{ source }} {{ file }}
{{ text }}
{{ longParagraph }}
{{ paragraph }}
Sing along with your favorite Spotify songs, with lyrics powered by Canarado!
Buzzwords: HTML, CSS, JavaScript, Bulma CSS, OAuth PKCE


public interface FreeBusy
| Modifier and Type | Method and Description |
|---|---|
List<DominoDateRange> |
freeTimeSearch(String apptUnid,
TemporalAccessor apptOrigDate,
boolean findFirstFit,
TemporalAccessor from,
TemporalAccessor until,
int duration,
Collection<String> names)
This routine searches the schedule database (locally or on a specified server) for free time periods
common to a specified list of people.
|
Schedules |
retrieveSchedules(String apptUnid,
Collection<ScheduleOptions> options,
TemporalAccessor from,
TemporalAccessor until,
Collection<String> names)
Synchronously retrieves a local or remote schedule by asking the caller's home server for the schedule.
The ONLY time that local busy time is used is when the client is in the Disconnected mode which is specified through the location document. Otherwise, the API will route ALL lookup requests to the users home server for processing. |
List<DominoDateRange> freeTimeSearch(String apptUnid, TemporalAccessor apptOrigDate, boolean findFirstFit, TemporalAccessor from, TemporalAccessor until, int duration, Collection<String> names)
apptUnid
- This is the UNID of an appointment to ignore for the purposes of calculating free time. This is useful when you need to move an appointment to a time which overlaps it. Can be nullapptOrigDate
- This is the date of the original date of the appointment to ignore for free time calculations. Note that the only reason that this is here is for compatibility with Organizer 2.x gateway.findFirstFit
- If this value is equal to TRUE then this routine will return just the first free time interval that fits the duration. The size of this interval will equal to duration.from
- specifies the start of the range over which the free time search should be performed. In typical scheduling applications, this might be a range of 1 day or 5 daysuntil
- specifies the end of the range over which the free time search should be performed. In typical scheduling applications, this might be a range of 1 day or 5 daysduration
- How much free time you are looking for, in minutes (max 65535).names
- list of distinguished names whose schedule should be searched, either in abbreviated or canonical formatSchedules retrieveSchedules(String apptUnid, Collection<ScheduleOptions> options, TemporalAccessor from, TemporalAccessor until, Collection<String> names)
apptUnid
- Ignore this UNID in computationsoptions
- option flagsfrom
- specifies the start of the range over which the schedule lookup should be performed. In typical scheduling applications, this might be a range of 1 day or 5 daysuntil
- specifies the end of the range over which the schedule lookup should be performed. In typical scheduling applications, this might be a range of 1 day or 5 daysnames
- list of distinguished names whose schedule should be searched, either in abbreviated or canonical formatCopyright © 2019–2021 HCL. All rights reserved.


The Big 3 - HTML, CSS, JavaScript
While the server can process information in many different languanges, the files that they serve to the client are always going to be some combination of HTML, CSS, and JavaScript!
Learn more about the Big 3 here!
Mon - Fri 9 a.m. - 5 p.m. (EST)
International +1.617.963.0555
Computers connected to the Web are called clients and servers.
While the server can process information in many different languanges, the files that they serve to the client are always going to be some combination of HTML, CSS, and JavaScript!
Learn more about the Big 3 here!


YoungInnovations Blog
We develop innovative solutions! But we take pride in making solutions work and create impact!!
Email
Twitter
Facebook
Github
On August 22, Saturday, Ncell App Camp 2015 debriefing session was organized at Hotel Himalaya, Pulchowk. More than 300 students, developers and mobile enthusiasts participated altogether in 2 sessions. This week’s Knowledge Sharing Wednesday featured Alina Acharya ,Data Analyst, who presented on our earthquake fund tracking portal.
What is the difference between Ncell App Camp 2014 and Ncell App Camp 2015? There is more than one difference, most definitely. But, heightened anticipation, is something I’d mention with certainty. With the incredible success last year, this year’s event is being looked upon with much enthusiasm (and scrutiny) and we are excited to present to you every phase of the five month long journey.
We recently made our smoke testing library Hookah open source, you can get it as a composer package from packagist.
Hookah is a small smoke testing command line library for any web application. As it is just a sanity check, it checks if the given URL returns back the right response code, and body is not empty.
This week’s Knowledge Sharing Wednesday featured Achyut Devkota, System Engineer, who presented on VoiceInn, a Telephony Application and it’s architecture. VoiceInn is an interactive telephony solution with capabilities to take surveys from callers, have noticeboards built in and user support. To know more about VoiceInn you can view Achyut’s presentation.
This week Nirajan presented on what Gulp during our Knowledge Sharing Wednesday. Gulp is about automating tasks such as minification and copying of JavaScript files, static images etc. To know more about the Gulp, read Nirajan’s blog here.
This is our second weekly at YIPL which has links to blogs, posts, articles that YIPLites read to learn about technology, tips and tricks, other’s experiences. Now these links are here for everyone.
Here’s a short documentary on YoungInnovations prepared by students of KCM as one of their academic projects. It has been more than 2 and half years and lot of things have changed here.


Hello World
Take me to a place.
No, not that place.
Click Me!
Body Heading
This is my first paragraph.
This is my second paragraph.


Vocodes. Vocal playground. Vo.codes is a text to speech wonderland where all of your dreams come true.
Hackers stole GitHub and GitLab OAuth tokens from Git analytics firm Waydev | ZDNet OAuth tokens have been abused for intrusions at least two other companies, Dave.com and Flood.io.
Writing a file system from scratch in Rust · carlosgaldino A file system is responsible for organising and providing an abstraction over the storage devices where the data is physically stored. In this post, we will learn more about the concepts used by file systems, and how they fit together when writing your ow...
VPE and CTO - the first 90 days I put this mind map together a few years ago after a discussion about what a new VP of Engineering or CTO should think about in their first 90 days in a new role.
Work or walk? Last week, I talked about repetition, automation, organization, and disconnection. Ever since I started the podcast, I've had to prepare, manually, multiple…
Product Gravity
Quick challenge: Can you name all of the apps on your smartphone’s home screen without looking?

Wrappers SaaS businesses (particularly ones for technical users) sometimes have to deal with a vocal outcry that their product “is just a wrapper around” something. The implication is that ‘a wrapper’ is inherently not valuable, and it’s impossible to build a grea...
Paul Graham's "Same Way" There is a particular Paul-Graham-ism that I keep noticing. He statesthat two things happen in the same way, but on afirst superficial reading they are not t...
Don't forget the human Computers are cold and heartless.  You can abuse them all day long, and they'll still efficiently flip bits and push pixels. But... people aren't. Behind every piece of software, there's...
CS Syd - How to deal with money in software I recently did my accounting for my investment account. I noticed a significant amount of errors in the account statement that my broker gave me. After a bit of a rant on twitter, I want to explain what they likely did wrong and how to deal with money cor...
Tech vs Biotech — Celine Halioua Many of the common startup frameworks for tech companies do not apply as well to biotech. I’ve gone through the most common frameworks below, and how they differ for biotech companies.
You Want Options It’s an unsettling feeling, leaving college, leaving high school or some kind of post high-school service and entering (what they call) the “real world” and realizing that offers …
May you suffer well Suffering is a universal truth. Regardless of who or what you are in life, you will suffer. Is it some type of cosmic joke, that we're never able to truly be "happy" or free from suffering? Well, kind of, because it turns out, suffering is good.
Make Slack Smaller Slack is awesome. It’s visually pleasing & my not-technically-savvy friends have no trouble using it. It’s nice (or not nice?) to have one app that would handle personal messages and work conve…
The Freud Moment Three months ago to the day, I wrote: I’m getting concerned that we’re not psychologically ready for what’s coming next. The future may not be predictable, but people are. I have no idea what’s goi…
Usability of Footnotes I’ve been reading lots more non-fiction books than normal. And I’m getting increasingly annoyed about footnotes1. Footnotes are a weird skeuomorph hangover from the days of printed text…
Apache Arrow 1.0.0 Release The Apache Arrow team is pleased to announce the 1.0.0 release. This covers over 3 months of development work and includes 810 resolved issues from 100 distinct contributors. See the Install Page to learn how to get the libraries for your platform. Despit...
Is 40 the new 60? How popular media portrays the employability of older software developers Alerted by our previous research as well as media reports and discussions in online forums about ageism in the software industry, we set out to study the public discourse around age and software development. With a focus on the USA, we analyzed popular on...
Oodle 2.8.9 with Oodle Texture speed fix and UE4 integration Oodle 2.8.9 is now shipping, with the aforementioned speed fix for large textures. Oodle Texture RDO is always going to be slower than n...
Stack Overflow Developer Survey 2020 Nearly 65,000 took this comprehensive, annual survey of people who code. Demographics. Most loved, dreaded and wanted technologies. Salary and careers.
Highlights from Git 2.28 - The GitHub Blog The open source Git project just released Git 2.28 with features and bug fixes from over 58 contributors, 13 of them new. We last caught up with you on the latest in Git back when
The code I’m still ashamed of If you write code for a living, there’s a chance that at some point in your career, someone will ask you to code something a little deceitful – if not outright unethical. This happened to me back in the year 2000. And it’s something I’ll never be able to...
Life, part 27 We’re continuing with our deep dive into Alan Hensel’s QuickLife algorithm, rewritten in C# with an emphasis on clarity. When last we left off we had the following established: A Quad2 …
How to pay your rent with your open source project A look at the different business and pricing models to fund open source software and make it sustainable.
UnoConf 2020 - Uno Platform Developer Conference UnoConf features leading minds and world-renowned speakers in the areas of Mono, Xamarin,WinUI WebAssembly, .NET and of course the Uno Platform. Join us!
Cosmos DB capacity pitfall: When more is less You can use Cosmos DB to burn money, but you can also use it as a database. Cosmos DB is horizontally scalable, which means that you can always increase the capacity of the system on the fly, as long as you partition your data well enough. Here is what Co...
Merging migrations in Entity Framework Core 5 – Michał Białecki Blog When working with a fast-evolving project changes happen rapidly not only to the project’s code but also to the database schema. It happens especially when working on a micro-service from the start when its purpose shifts.
microsoft/vscode Visual Studio Code. Contribute to microsoft/vscode development by creating an account on GitHub.
It’s Time to Get Serious About Research Fraud Only a small fraction of research misconduct ever comes to light. Independent investigative bodies could remedy that.
Slowsort - a pessimal sorting algorithm | Arpit Bhayani Slowsort is a pessimal sorting algorithm based on the Multiply and Surrender paradigm. The algorithm is designed to be deterministically sub-optimal and it could easily be the worst way anyone could sort an array.
andrewducker | Facebook has blocked Dreamwidth I discovered, about an hour ago, that all of my posts on Facebook which were links to Dreamwidth had vanished. Suddenly gone as if they'd never existed.
Fresh Mozzarella From Scratch Recipe Excellent fresh mozzarella is milky, tender, and mild, with a faint layer of cream beneath the skin that gushes a little when you slice it. This is mozzarella you eat when it's still warm, and it never goes into the fridge. Here's how to make it at home.
LunrCore, a lightweight search library for .NET I'm pretty much convinced almost all applications need search. No matter what you're building, you'll likely handle data, and no matter how well you organize it, a good text search is often the …
Tip 272 - Azure Security Best Practices When you run an application, it needs to be secure. There are many ways that attackers can attack your application and potentially get at your data or bring your app down. When you run your application in Azure, you get a lot of world-class protection out...
Super Troopers (2/5) Movie CLIP - The Cat Game (2001) HD Super Troopers movie clips: http://j.mp/1WPct72 BUY THE MOVIE: FandangoNOW - https://www.fandangonow.com/details/movie/speed-2-cruise-control-1997/1MVe983b514c3e0cbc59df04876e74d422f?cmp=Movieclips_YT_Description iTunes - http://apple.co/1ImG8zz Google Pl...
Reverse Engineering Tools Review Review of reverse engineering tools. Descriptions, advantages and disadvantages of tools used in software reverse engineering.
Naming things We’ve been doing a lot of mob programming at work the last year or so and I’ve seen that I have a different attitude to naming things than others on my team. When I see that a name can be improved I always think this is priority number one. My colleagues ...
Twilio Security Incident Shows Danger of Misconfigured S3 Buckets Twilio says attackers accessed its misconfigured cloud storage system and altered a copy of the JavaScriptSDK it shares with customers.
S&P Best of Times Wost of Times Investment wizards tell us regular folks to buy and hold index funds. I’ve read many times that while the market goes up and down year to year, the average yearly return of the market is positive; patient investors will make money in the long term.
Writing more succinct C# – in F# (Part 1)! As the fourth post in this mini-series on functional programming on .NET, I wanted to go back to what started down this series, which is this excellent post by Dan Clarke. In it, Dan describes some techniques that newer versions of C# have introduced and ...
Amazon gets priority while mail gets delayed, say letter carriers Several letter carriers are accusing Portland's postmaster of deliberately delaying the delivery of first-class and priority mail by ordering clerks to sort Amazon packages first, ensuring that carriers deliver them on time.
Virtual Azure Community Day - July 28th, 2020 Join us for the second Virtual Azure Community Day! No stickers or socks, but 24 hours of technical geekery. There's multiple streams hosted from around the world.
Create Your Own Logging Provider to Log to Text Files in .NET Core Looking at the LogLevel options and the Console logging provider in .NET Core. Creating our own logging provider to write log events to text files.
Understanding the SynchronizationContext in .NET with C# Take control of which thread your code gets executed on, and how it does.
Small Mailserver Best Current Practices (This post was originally written as a reply on the mailop mailing-list, but a friend asked me to turn it into a blog post. I've edited it, mostly adding more links to elsewhere, but there are some additions here.)
New ‘Meow’ attack has deleted almost 4,000 unsecured databases Dozens of unsecured databases exposed on the public web are the target of an automated 'meow' attack that wipes data without any explanation.
How C# Records will change my life The new record type will be a huge timesaver when working with immutable objects in C#.
Developers Should Abandon Agile This is RonJeffries.com, the combination of new articles, XProgramming, SameElephant, and perhaps even some new items never before contemplated.
Copyright © 1998-forever Ronald E Jeffries
Finding Joy in Making Happy Little Computer Videos on YouTube We're all remote and it's sad, but I've found some new joy of late in rebooting my little low-traffic newsletter AND ...
 Its like asking Bonnie and Clyde to rob a bank where the combo...
Pixelles Creator Fund | Pixelles (Montreal) With the generous sponsorship of SUPERHOT and Kowloon Nights, Pixelles is proud to announce its new Creator Fund. (And if you are a sponsor who wants to join up and make this fund even better, let us know at sponsorship@pixelles.ca!)
Tech unicorn Dave admits to security breach impacting 7.5 million users | ZDNet Dave user data is now available for download on a public hacking forum.
Primer: The Job Guarantee The Job Guarantee is a programme that offers all citizens willing to work for it a guaranteed wage - which becomes the de facto minimum wage in the economy.
Wicked problems I still remember some of the (written down) expectations I faced when I joined a high-profile consultancy in 2001. One of them was: "to effectively solve poorly-defined problems"The "poorly-defined" is the interesting part here. But at that point in time,...
Relâchement des gestes barrière chez les jeunes : «Le pire qu’on aura, c’est une grosse grippe» De nombreux jeunes, comme Gabrielle, 26 ans, n’adoptent pas les gestes barrière lors des apéros et ne sont pas inquiets par les risques du C
Exploring the Worker Thread API in Node Worker threads super charged JavaScript(Node), as it was not ideal for CPU-intensive operations. This post explores how worker threads work.
An alleged Nintendo leak has unearthed early game prototypes | VGC Source code for classic games including Yoshi’s Island said to have leaked online…


Information technologies are a very important and malleable resource available to executives. Many companies have created a position of chief information officer (CIO) that sits on the executive board with the chief executive officer (CEO), chief financial officer (CFO), chief operating officer (COO), and chief technical officer (CTO). The CTO may also serve as CIO, and vice versa. The chief information security officer (CISO) focuses on information security management. The six components that must come together in order to produce an information system are: Hardware: The term hardware refers to machinery. This category includes the computer itself, which is often referred to as the central processing unit (CPU), and all of its support equipments. Among the support equipments are input and output devices, storage devices and communications devices. Software: The term software the operation of a computer system. "Procedures are to people what software is to hardware" is a common analogy that is used to illustrate the role of procedure.
A computer(-based) information system is essentially an IS using computer technology to carry out some or all of its planned tasks. The basic components of computer-based information systems are: As the name suggest, each FAIS support a particular function within the organization, e.g.: accounting IS, finance IS, production/operation management (POM) IS, marketing IS, and human resources IS. In finance and accounting, managers use IT systems to forecast revenues and business activity, to determine the best sources and uses of funds, and to perform audits to ensure that the organization is fundamentally sound and that all financial reports and documents are accurate. Other types of organizational information systems are FAIS, Transaction processing systems, enterprise resource planning, office automation system, management information system, decision support system, expert system, executive dashboard, supply chain management system, and electronic commerce system. Dashboards are a special form of IS that support all managers of the organization.


Akan names are derived from Ghanian culture. Frequently in Ghana , children are given their first name as a 'day name'
which corresponds to the day of the week they were born.
The application prompts the user to enter the day,month and year-of-birth to get their Akan names from the Ghanian culture depending on the week they were born.
The application runs in search for the key Id which checks picks the akan names according to gender
Gender


 Making your own Yorkshire puddings and creamed horseradish adds a special touch.
Preheat the oven to 220C/430F/Gas 7.
Heat a large frying pan over a high heat. Rub the beef with the vegetable oil, then sear in the hot pan for 3-4 minutes, turning occasionally, until browned all over. Remove from the pan and set aside.
In a bowl, mix together the mustard powder, sea salt and freshly ground black pepper. Rub the mixture all over the seared rib of beef.
Place the halved onions and chopped root vegetables into the bottom of a roasting tin. Rest the rib of beef on top of the onions and vegetables. Pour enough water into the tin to come 1cm/½in up the sides.
Roast the beef in the oven for 30 minutes, then reduce the oven temperature to 160C/320F/Gas 2. Then, for every kilo of meat, cook for a further 25 minutes (for medium; for rare, cook for 20 minutes per kilo; for medium, cook for 30 minutes per kilo; for well done, cook for 40 minutes per kilo).
To test whether the beef is done to your liking, insert a meat thermometer into the centre of the beef 15 minutes before the end of the cooking time. The meat will be ready when the temperature reading reaches the desired temperature within 15 minutes (40C/104F for rare; 50C/122F for medium rare; 60C/140F for medium; 68C/154F for medium well; 72C/162F for well done). As the beef will continue to cook after it's been taken out of the oven, remove the beef when it is about 10C/50F under the desired temperature.
Set the beef aside to rest for at least 15-20 minutes.
Increase the oven temperature to 220C/430F/Gas 7.
Meanwhile, for the roast potatoes, cook the potatoes in a pan of boiling water for 3-4 minutes. Drain and shake in a pan to roughen up the surfaces of the potatoes.

Sprinkle the semolina over the potatoes, tossing well to coat. Tip the potatoes into the roasting tin, tossing to coat in the oil. Season with salt and freshly ground black pepper. Cook for 45 minutes to one hour, turning the potatoes over occasionally, until golden-brown and crisp all over. Keep the oven on at the same temperature.
For the Yorkshire puddings, sieve the flour with the salt into a mixing bowl. Make a well in the middle, then add the beaten eggs. With a fork, draw the flour into the beaten egg to combine. When the egg and flour are well mixed, gradually whisk in the milk, until the batter has the consistency of single cream. Set the batter aside to rest for one hour.
Pour in 5mm/¼in of oil or goose fat into the well of a Yorkshire pudding tin. Place into the oven for 5-6 minutes, or until it is smoking hot.
Give the Yorkshire pudding batter a stir, then carefully pour into the tin (it may spit). Bake the Yorkshires in the oven for 30 minutes, or until risen and golden-brown.
For the creamed horseradish, mix all of the horseradish ingredients in a bowl until well combined.
To serve, carve the beef into thick slices and arrange on serving plates. Spoon the roast potatoes and roasted onions and root vegetables alongside, and place a Yorkshire pudding next to the beef. Spoon the creamed horseradish over or around the beef as desired.