Yadr ("Yet Another Document Reader") is used to read the popular DOC format on your Palm Handheld. Currently Yadr only supports the Doc format, but support for other formats are planned.
Yadr can read documents in both memory or on a MMC card (only the first card detected). Other highlights of Yadr are: bookmarks and customization of fonts, colors etc.
Note! Yadr cannot be used to read Microsoft Word .doc documents on your handheld. To read Word documents use something like Documents to Go from Dataviz.
You can support this project by donating any amount to my Pay Pal account.
v1.10 (2005-10-13) Yadr now supports full screen mode. v1.9 (2005-10-11) Supports the sysAppLaunchCmdOpenDB launch code which is sent by f.ex. zLauncher when a Document should be opened. v1.8 (2005-10-09) When opening large documents show a "Please Wait" sign. v1.7 (2005-10-08) Find implemented. v1.6 (2005-10-06) Fixed a bug where the handheld would crash when exiting the Formatting screen. Minor draw operations changed so it works better on Visors. v1.5 (2005-10-03) Documents can now be deleted, renamed and beamed. Fixed some minor bugs. v1.4 (2005-09-29) Documents created by Pilot Install can now be read. The documents created by Pilot Install contains an erroneous header. Changed the preferences screen in the reader to "Formatting". Added History option. Added Preferences screen. v1.3 (2005-09-25) Another day, another bug fix. It is now again possible to scroll up in a document ... (Brian takes out his head from the brown paper bag). v1.2 (2005-09-24) Changed "Screen Control" to "Page Control". Fixed various bugs which made the handheld bomb on various documents. When selecting "Top" from the drop down actually go to the start of the document. v1.1 (2005-09-22) Fixed a bug where the "Up" button on the documents list would dissappear when there was no documents. Added the Line Spacing option. v1.0 (2005-09-19) First public release.


Manage my subscriptions
These are the newsletters and authors you are following. If you don't want to receive a newsletter anymore you just have to leave it unselected. If you want to unfollow an author, click the "Following" button.


Imad App
Article 1
Article 2
Article 3
Username
Password
Submit
Parveen Khurana
3rd year student at NIT Kurukshetra


%include templates/parts/head.html
%include templates/parts/navBar.htmlDue: Wednesday, May 3rd, 10:30A.M.
Warmups, algorithmic analysis, bloom filters and predicting elections
Question 11: The numbers in part (c) were changed, and part (d) was modified. We made the change so that solving the problem would give you a better insight into bloom filters.


To create your own property reader you should create a class that implements PropertyReader interface and annotate it with FlipProperty annotation. The FlipProperty annotation has a property FlipProperty.priority which allows for developers to specify the priority of property readers when the feature descriptor is looked up.
The property readers are managed by PropertyManager. It knows how to ask them for a feature descriptor.


HEAD
Piecewise Test
Curtain Test
Tapered Curtain Test
Lock Washer Tower Test
Animated Tower Wrap Test


This is an un-vetted overview of some of the actions a publisher may need to do to be part of the IGSN2040 sprint. Some of these items will be required, others will not be.
The sprint will be a test of the flow of information through a new proposed architecture. It will provide an opportunity for providers and indexers to find issues and points that need clarification. For reference providers can reference the ESIP Science on Schema recommendations for schema.org type Dataset as an idea of the type of guidance that could be developed for the samples community.
As part of the sprint we will testing harvesting the resources exposed for the sprint. There are many tools and approaches for doing this. One we will use is the EarthCube Gleaner package (gleaner.io)
The release used in this screencast is v 2.1.18 and can be found at: https://github.com/earthcubearchitecture-project418/gleaner/releases/tag/2.1.18:w


|
|
def | __init__ |
| |
|
def | url |
| |
|
def | set_url |
| |
|
def | clear_url |
| |
|
def | has_url |
| |
|
def | app_version_id |
| |
|
def | set_app_version_id |
| |
|
def | clear_app_version_id |
| |
|
def | has_app_version_id |
| |
|
def | method |
| |
|
def | set_method |
| |
|
def | clear_method |
| |
|
def | has_method |
| |
|
def | queue |
| |
|
def | set_queue |
| |
|
def | clear_queue |
| |
|
def | has_queue |
| |
|
def | MergeFrom |
| |
|
def | Equals |
| |
|
def | IsInitialized |
| |
|
def | ByteSize |
| |
|
def | ByteSizePartial |
| |
|
def | Clear |
| |
|
def | OutputUnchecked |
| |
|
def | OutputPartial |
| |
|
def | TryMerge |
| |
|
def | __str__ |
| |
|
|
| has_url_ |
| |
|
| url_ |
| |
|
| has_app_version_id_ |
| |
|
| app_version_id_ |
| |
|
| has_method_ |
| |
|
| method_ |
| |
|
| has_queue_ |
| |
|
| queue_ |
| |
|
|
int | has_url_ = 0 |
| |
|
string | url_ = "" |
| |
|
int | has_app_version_id_ = 0 |
| |
|
string | app_version_id_ = "" |
| |
|
int | has_method_ = 0 |
| |
|
string | method_ = "POST" |
| |
|
int | has_queue_ = 0 |
| |
|
string | queue_ = "default" |
| |
|
int | kurl = 1 |
| |
|
int | kapp_version_id = 2 |
| |
|
int | kmethod = 3 |
| |
|
int | kqueue = 4 |
| |
The documentation for this class was generated from the following file:
- code/googleappengine-read-only/python/google/appengine/api/files/file_service_pb.py


Everything About Joey
I like long walks on the beach.
Germany
The U.K.
Australia
India
Japan
Norway
Russia
Egypt
Fiji
Vietnam
Career: SEO Project Manager
U.S. Marine Corps
Education: MBA from Saint Xavier University


Frequently Asked Questions
On this page, you’ll find information on how to use Beansight and on how Beansight works. This page is ordered following the lifespan of a prediction (from creation to expertise). You’ll also find information on how to set up Beansight to increase your comfort of use.
Creation
How do I create a prediction?
Just click on the create icon on the upper left menu. Then fill the prediction, the deadline the category and tags. And you’re done!
Why is the deadline important?
Each prediction is associated to a deadline. It’s the point when we’ll see whether you’re prediction happened or not. Chose it carefully!
Why are the category and tags important?
Category and tags will help us to sort your prediction so that other people may find it, read it and vote for or against it.
Votes
How do I vote for a prediction?
Just click on the thumb up to approve a prediction or on the thumb down if you disagree on a prediction.
What are the consequences of a vote?
Your vote will help us to determine whether this prediction is likely to happen. Beside for each vote you make, you engage your credibility. You can prove your expertise by showing skills in determining which predictions will happen.
How do I find interesting predictions?
You can browse prediction by using our filters (voted or not and by category). You can also sort them by their last activity or by popularity. If you’re looking to a specific prediction you can use our search engine. If you think we should sort them differently, please contact us.
What if I changed my mind on a prediction?
Beansight invites you to change your position if you change your mind. If you change from wrong to right you’ll lose less points. You can even earn points if your change comes soon enough.
How can I follow the trends of a prediction?
If you want to be notified about changes on a prediction you can add it to your favorites by clicking on the star. You’ll receive e-mails for new comments to keep up with the trend.
Validation
How are predictions validated?
Since users are welcome to change their mind, the closer we are to the deadline the more reliable votes will be. The trend will therefore converge to the right position in the end. Our algorithm will take every positions into account so that all prediction will be automatically validated.
What if everybody is wrong?
Mmmh... That’s very unlikely. But it might happen. In this case, users will be invited to flag the prediction in order to raise a community manager’s attention. But usually the crowd is right.
How come can I vote for past predictions?
Yes, you can! These votes will help us to validate the prediction. They aren’t for scoring. No expertise point is given for these votes.
Expertise
How is my expertise calculated?
Expertise is based on scores computed for each position you take. You can earn points if you’re right or lose point if you’re wrong. More points will be attributed if
- you keep your position longer
- you take a position against the trend
- the prediction is popular
How is my expertise displayed?
Your skills are shown thanks to expertise stars attributed by categories. The top performer on a specific category is given 5 stars. Then we compare your score with the score of the top performer and give you the deserved stars. If you want more stars, you’ll have to increase you expertise score.
This said, it also means that your number of stars could vary if the top performer’s score varies.
How to get rid of obvious predictions?
We don’t. Every prediction might be interesting. But don’t expect to earn expertise points if everybody agrees with you!
Do I earn expertise points for creating a prediction?
You don’t earn point for creating a prediction. But you’ll earn (or lose!) points by taking position. Of course, you can vote for your own prediction.
Are my comments taken into account for my expertise score?
Not yet! ;)
Experts
How do I find the experts?
You’ll find the list of Beansight users on the Experts menu. At this point, you can only look for experts by using the search engine (therefore you need to know their names). By default, experts are ranked by their global expertise score.
What’s the point of addind an expert to my favorites?
You can easily find later experts you follow in the left menu. You will also be able to suggest them predictions. You can follow someone by clicking on the star under their profile picture.
Profile and settings
How can I have a neat profile picture?
You can edit your profile by clicking on your name on the upper right corner of each page. You’re invited to add a profile picture and a description. Then, it’s all on you to upload the best profile pic!
How can I set up my languages?
By default, we use the language of your browser. You may change it or add additional languages on the setting page (just under your name on the upper right corner). At this point, Beansight can only speak English and French.
What does Log in with Twitter or Facebook mean?
When you log into Beansight using Twitter or Facebook, these websites will handle your authentication. You will not have to remember a password to access Beansight. Just continue clicking on “Log in with Twitter” or “Log in with Facebook” in the future to access Beansight.
Can I login with Twitter or Facebook if I usually log in using a password?
For now, If you created a traditional Beansight account (using the sign up form and choosing a password), you cannot log in on the same account using Twitter or Facebook. In the future, we may provide a way to associate an existing Beansight account with a Twitter or Facebook account.
Can I have invitations for my friends?
Sure! Our early adopters will receive invits sooner or later. The only thing we can say so far is that our most active users will have the priority.


Example: Some links.
A simple testing against a few links. This is a JavaScript implementation of
Multilevel Agglomerative Edge Bundling for Visualizing Large Graphs
. More information
here
.
Delta
Curviness
Angle
Neighbors
Line type
Loading please wait...


Runtime configuration
Table of contents
Polymer supports runtime options that are useful for debugging and toggling between native APIs and their polyfill counterparts.
Flags can be used in combination with each other and settable three different ways:
- as attributes on the
<script>
tag that loadsplatform.js
- as URL query parameter
- directly on the
Platform.flags
object before loadingplatform.js
.
Debug flags
To use the debugging options, you must install and use the debug version of libraries:
- Install
polymer-dev
andplatform-dev
and then tweak the referencesbower install Polymer/platform-dev Polymer/polymer-dev
- Rewrite
platform/platform.js
toplatform-dev/platform.js
inindex.html
- Comment out line 6 and uncomment line 7 in polymer.html
- Install
platform-dev
andpolymer-dev
on top of the minified versionsbower install polymer=Polymer/polymer-dev platform=Polymer/platform-dev
debug
Example usage
URL param:
http://localhost/yourapp?debug
Attribute:
<script src="platform.js" debug></script>
Setting Platform.flags
:
<script>
Platform = {flags: {debug: true}};
</script>
<script src="platform.js"></script>
log
Controls console output.
Possible values:
| Value | Description |
|---|---|
| bind | Setup actions performed by the data-binding engine. |
| data | Runtime data transforms that result from bindings |
| watch | Data change notifications |
| events | Custom event bindings and event propagations |
| ready | Custom element reaching a ready state |
Example usage
URL param:
http://localhost/yourapp?log=bind,ready
Attribute:
<script src="platform.js" log="bind,ready"></script>
Setting Platform.flags
:
<script>
Platform = {flags: {log: 'bind,ready'}};
</script>
<script src="platform.js"></script>
Configuration flags
register
Including register
forces the Custom Elements polyfill in browsers that support it natively.
Example usage
Attribute:
<script src="platform.js" register></script>
URL param:
http://localhost/yourapp?register
Setting Platform.flags
:
<script>
Platform = {flags: {register: true}};
</script>
<script src="platform.js"></script>
shadow
Selects a Shadow DOM implementation to use: native
for supported browsers or polyfill
for unsupported browsers. Note: if the browser supports Shadow DOM natively, the presence
of this parameter forces the native API.
Possible values:
| Value | Description |
|---|---|
| native | Default. Use the native implementation of Shadow DOM if the browser supports. |
| polyfill | Forces the Shadow DOM polyfill to be loaded using platform.poly.min.js . Default for browsers that do not support Shadow DOM natively. |
Example usage
Attribute:
<script src="platform.js" debug shadow></script>
URL param:
http://localhost/yourapp?debug&shadow=polyfill
Setting Platform.flags
:
<script>
Platform = {flags: {shadow: 'polyfill'}};
</script>
<script src="platform.js"></script>
Polyfill settings
Some of the polyfills support additional options to override their default behavior or toggle experimental features.
eager
Including eager
as a URL param or setting the CustomElements.flags.eager
flag
upgrades Custom Elements immediately instead of waiting for DOMContentsLoaded
time.
The Custom Elements polyfill defers upgrading elements until DOMContentsLoaded
time. It does this as a performance optimization. Subsequent to the initial page load, Mutation Observers are used to discover new elements. If a page is particularly complex, it can paint before custom elements have
had a chance to upgrade. Elements on the page will be displayed in their un-upgraded state, typically
resulting in FOUC. The eager
flag can help mitigate these potential FOUC issues.
Example usage
<script>
CustomElements = {flags: {eager: true}};
</script>
<script src="platform.js"></script>
Or, equivalently:
http://localhost/yourapp?eager
Strict Shadow DOM styling
To instruct the Shadow DOM polyfill to enforce lower bound style encapsulation,
set Platform.ShadowCSS.strictStyling
.
Example usage
<script src="platform.js"></script>
<script>
Platform.ShadowCSS.strictStyling = true;
</script>
Note: We’re setting strictStyling
after loading platform.js
.
More information on this feature can be found in the Styling referencee.


No new cases have been reported in the ongoing Ebola virus disease (EVD) outbreak in the Democratic Republic of the Congo since 17 February 2020 (Figure 1). While this is a positive development, there remains a sustained risk of re-emergence of EVD given the current challenges related to limited resources amidst other local and global emergencies, continued insecurity and population displacement in previous hotspots, and limited access to some affected communities. Therefore, it is critical to maintain surveillance and response operations in the period leading up to the declaration of the end of the outbreak, as well as after the declaration – as outlined in the WHO recommended criteria for declaring the end of the EVD outbreak.
Ongoing outbreak response efforts continue, which include investigating and validating new alert cases, supporting appropriate care and rapid diagnosis of suspected cases (which continue to be detected), supporting survivors through a multi-disciplinary programme, and strategically transitioning activities. From 1 to 7 April, an average of 2208 alerts were reported and investigated daily, which was more than a 50% decrease in the number of alerts reported in affected health zones in the previous two weeks. Of these alerts, 175 were validated as suspected cases, requiring specialized care and laboratory testing to rule-out EVD. From 30 March to 5 April, 1347 samples were tested including: 645 blood samples from alive, suspected cases; 318 swabs from community deaths; and 384 samples from re-tested patients. Overall, laboratory activity decreased by 43% compared to the prior week.
As of 7 April 2020, a total of 3453 EVD cases were reported from 29 health zones (Table 1), including 3310 confirmed and 143 probable cases, of which 2273 cases died (overall case fatality ratio 66%). Of the total confirmed and probable cases, 57% (n=1935) were female, 29% (n=979) were children aged less than 18 years, and 5% (n=171) were health care workers.
An urgent injection of US $20 million is required to ensure that response teams have the capacity to maintain the appropriate level of operations through to the beginning of May 2020. For more information, please see this statement.
*Excludes n=149 cases for whom onset dates not reported. Data in recent weeks are subject to delays in case confirmation and reporting, as well as ongoing data cleaning. ‘Other health zones’ indicate health zones other than Kalunguta, Mandima, Mabalako, Beni, Katwa and Butembo Health Zones which have been affected by EVD.
**Total cases and areas affected during the last 21 days are based on the initial date of case alert and may differ from date of confirmation and daily reporting by the Ministry of Health.
For further information about public health response actions by the Ministry of Health, WHO, and partners, please refer to the latest situation reports published by the WHO Regional Office for Africa:
WHO continuously monitors changes to the epidemiological situation and context of the outbreak to ensure that support to the response is adapted to the evolving circumstances. The last assessment concluded that the national and regional risk levels remain high, while global risk levels remain low.
WHO advises against any restriction of travel to, and trade with, the Democratic Republic of the Congo based on the currently available information. Any requirements for certificates of Ebola vaccination are not a reasonable basis for restricting movement across borders or the issuance of visas for travellers to/from the affected countries. WHO continues to closely monitor and, if necessary, verify travel and trade measures in relation to this event. Currently, no country has implemented travel measures that significantly interfere with international traffic to and from the Democratic Republic of the Congo. Travellers should seek medical advice before travel and should practise good hygiene. Further information is available in the WHO recommendations for international traffic related to the Ebola Virus Disease outbreak in the Democratic Republic of the Congo.
For more information, please see:


Ganymede Games raises $550k in angel financing
Funding will go toward playable demo of New Mexico-based studio's first game
by Rebekah ValentineGanymede Games has announced it has raised $550,000 in angel financing to help continue development on its first title.
The funding came from the New Mexico Angels, Arrowhead Innovation Fund, Abenteuer Ventures, and other individuals in Las Cruces, New Mexico, where the studio is based.
Ganymede is using the funding toward a playable gameplay demo and internal testing of its first, unannounced title. The studio has also raised a total of $350,000 in Local Economic Development Act funding from both the state and city of Las Cruces.
The studio was founded earlier this year by veterans of Wargaming and Riot Games, and is building a headquarters in Las Cruces as the first game development company to take advantage of a New Mexico state tax credit for film, TV, and gaming companies.


DevOps User Guide
Create a Pipeline Using a Jenkinsfile
A Jenkinsfile is a text file that contains the definition of a Jenkins pipeline and is checked into source control. As it stores the entire workflow as code, it underpins the code review and iteration process of a pipeline. For more information, see the official documentation of Jenkins.
This tutorial demonstrates how to create a pipeline based on a Jenkinsfile from a GitHub repository. Using the pipeline, you deploy an example application to a development environment and a production environment respectively, which is accessible externally.
Note
stage
and step
.Prerequisites
- You need to have a Docker Hub account and a GitHub account.
- You need to enable KubeSphere DevOps system.
- You need to create a workspace, a DevOps project, and an account (
project-regular
). This account needs to be invited to the DevOps project with theoperator
role. See Create Workspace, Project, Account and Role if they are not ready. - You need to set a CI dedicated node for running pipelines. Refer to Set CI Node for Dependency Cache.
- You need to install and configure SonarQube. Refer to Integrate SonarQube into Pipeline. If you skip this part, there is no SonarQube Analysis below.
Pipeline Overview
There are eight stages as shown below in this example pipeline.
Note
- Stage 1. Checkout SCM: Check out source code from the GitHub repository.
- Stage 2. Unit test: It will not proceed with the next stage unit the test is passed.
- Stage 3. SonarQube analysis: The SonarQube code quality analysis.
- Stage 4. Build & push snapshot image: Build the image based on selected branches in Behavioral strategy. Push the tag of
SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER
to Docker Hub, the$BUILD_NUMBER
of which is the operation serial number in the pipeline’s activity list. - Stage 5. Push the latest image: Tag the sonarqube branch as
latest
and push it to Docker Hub. - Stage 6. Deploy to dev: Deploy the sonarqube branch to the development environment. Review is required for this stage.
- Stage 7. Push with tag: Generate the tag and release it to GitHub. The tag is pushed to Docker Hub.
- Stage 8. Deploy to production: Deploy the released tag to the production environment.
Hands-on Lab
Step 1: Create Credentials
- Log in the KubeSphere console as
project-regular
. Go to your DevOps project and create the following credentials in Credentials under Project Management. For more information about how to create credentials, see Credential Management.
Note
@
and $
in your account or password, they can cause errors as a pipeline runs because they may not be recognized. In this case, you need to encode your account or password on some third-party websites first, such as urlencoder. After that, copy and paste the output for your credential information.| Credential ID | Type | Where to use |
|---|---|---|
| dockerhub-id | Account Credentials | Docker Hub |
| github-id | Account Credentials | GitHub |
| demo-kubeconfig | kubeconfig | Kubernetes |
- You need to create an additional credential ID (
sonar-token
) for SonarQube, which is used in stage 3 (SonarQube analysis) mentioned above. Refer to Create SonarQube Token for New Project to use the token for the secret field below. Click OK to finish.
- In total, you have four credentials in the list.
Step 2: Modify Jenkinsfile in GitHub Repository
- Log in GitHub. Fork devops-java-sample from the GitHub repository to your own GitHub account.
- In your own GitHub repository of devops-java-sample, click the file
Jenkinsfile-online
in the root directory.
- Click the edit icon on the right to edit environment variables.
| Items | Value | Description |
|---|---|---|
| DOCKER_CREDENTIAL_ID | dockerhub-id | The Credential ID you set in KubeSphere for your Docker Hub account. |
| GITHUB_CREDENTIAL_ID | github-id | The Credential ID you set in KubeSphere for your GitHub account. It is used to push tags to your GitHub repository. |
| KUBECONFIG_CREDENTIAL_ID | demo-kubeconfig | The Credential ID you set in KubeSphere for your kubeconfig. It is used to access a running Kubernetes cluster. |
| REGISTRY | docker.io | It defaults to docker.io , serving as the address of pushing images. |
| DOCKERHUB_NAMESPACE | your-dockerhub-account | Replace it with your Docker Hub’s account name. It can be the Organization name under the account. |
| GITHUB_ACCOUNT | your-github-account | Replace it with your GitHub account name. For example, your GitHub account name is kubesphere if your GitHub address is https://github.com/kubesphere/ . It can also be the account’s Organization name. |
| APP_NAME | devops-java-sample | The application name. |
| SONAR_CREDENTIAL_ID | sonar-token | The Credential ID you set in KubeSphere for the SonarQube token. It is used for code quality test. |
Note
-o
of Jenkinsfile’s mvn
indicates that the offline mode is enabled. Relevant dependencies have already been downloaded in this tutorial to save time and to adapt to network interference in certain environments. The offline mode is on by default.- After you edit the environmental variables, click Commit changes at the bottom of the page, which updates the file in the SonarQube branch.
Step 3: Create Projects
You need to create two projects, such as kubesphere-sample-dev
and kubesphere-sample-prod
, which represent the development environment and the production environment respectively. Related Deployments and Services of the app will be created automatically in these two projects once the pipeline runs successfully.
Note
project-admin
needs to be created in advance since it is the reviewer of the CI/CD Pipeline. See Create Workspace, Project, Account and Role for more information.- Use the account
project-admin
to log in KubeSphere. In the same workspace where you create the DevOps project, create two projects as below. Make sure you inviteproject-regular
to these two projects with the role ofoperator
.
| Project Name | Alias |
|---|---|
| kubesphere-sample-dev | development environment |
| kubesphere-sample-prod | production environment |
- Check the project list. You have two projects and one DevOps project as below:
Step 4: Create a Pipeline
- Log out of KubeSphere and log back in as
project-regular
. Go to the DevOps projectdemo-devops
and click Create to build a new pipeline.
- Provide the basic information in the dialogue that appears. Name it
jenkinsfile-in-scm
and select a code repository.
- In the tab GitHub, click Get Token to generate a new GitHub token if you do not have one. Paste the token to the box and click Confirm.
- Choose your GitHub account. All the repositories related to this token will be listed on the right. Select devops-java-sample and click Select this repo. Click Next to continue.
- In Advanced Settings, check the box next to Discard old branch. In this tutorial, you can use the default value of Days to keep old branches and Maximum number branches to keep.
Discarding old branches means that you will discard the branch record all together. The branch record includes console output, archived artifacts and other relevant metadata of specific branches. Fewer branches mean that you can save the disk space that Jenkins is using. KubeSphere provides two options to determine when old branches are discarded:
- Days to keep old branches. Branches will be discarded after a certain number of days.
- Maximum number of branches to keep. The oldest branches will be discarded after branches reach a certain amount.
Note
- In Behavioral strategy, KubeSphere offers three strategies by default. You can delete Discover PR from Forks as this strategy will not be used in this example. You do not need to change the setting and can use the default value directly.
As a Jenkins pipeline runs, the Pull Request (PR) submitted by developers will also be regarded as a separate branch.
Discover Branches
- Exclude branches that are also filed as PRs. The source branch is not scanned such as the origin’s master branch. These branches need to be merged.
- Only branches that are also filed as PRs. Only scan the PR branch.
- All branches. Pull all the branches from the repository origin.
Discover PR from Origin
- Source code version of PR merged with target branch. A pipeline is created and runs based on the source code after the PR is merged into the target branch.
- Source code version of PR itself. A pipeline is created and runs based on the source code of the PR itself.
- Two pipelines are created when a PR is discovered. KubeSphere creates two pipelines, one based on the source code after the PR is merged into the target branch, and the other based on the source code of the PR itself.
- Scroll down to Script Path. The field specifies the Jenkinsfile path in the code repository. It indicates the repository’s root directory. If the file location changes, the script path also needs to be changed. Please change it to
Jenkinsfile-online
, which is the file name of Jenkinsfile in the example repository located in the root directory.
- In Scan Repo Trigger, check If not, scan regularly and set the interval to 5 minutes. Click Create to finish.
Note
Step 5: Run a Pipeline
- After a pipeline is created, it displays in the list below. Click it to go to its detail page.
- Under Activity, three branches are being scanned. Click Run on the right and the pipeline runs based on the behavioral strategy you set. Select sonarqube from the drop-down list and add a tag number such as
v0.0.2
. Click OK to trigger a new activity.
Note
- If you do need see any activity on this page, you need to refresh your browser manually or click Scan Repository from the drop-down menu (the More button).
- The tag name is used to generate releases and images with the tag in GitHub and Docker Hub. An existing tag name cannot be used again for the field TAG_NAME. Otherwise, the pipeline will not be running successfully.
- Wait for a while and you can see some activities stop and some fail. Click the first one to view details.
Note
- The pipeline pauses at the stage
deploy to dev
. You need to click Proceed manually. Note that the pipeline will be reviewed three times asdeploy to dev
,push with tag
, anddeploy to production
are defined in the Jenkinsfile respectively.
In a development or production environment, it requires someone who has higher authority (e.g. release manager) to review the pipeline, images, as well as the code analysis result. They have the authority to determine whether the pipeline can go to the next stage. In the Jenkinsfile, you use the section input
to specify who reviews the pipeline. If you want to specify a user (e.g. project-admin
) to review it, you can add a field in the Jenkinsfile. If there are multiple users, you need to use commas to separate them as follows:
···
input(id: 'release-image-with-tag', message: 'release image with tag?', submitter: 'project-admin,project-admin1')
···
Step 6: Check Pipeline Status
- In Task Status, you can see how a pipeline is running. Please note that the pipeline will keep initializing for several minutes after it is just created. There are eight stages in the sample pipeline and they have been defined separately in Jenkinsfile-online.
- Check the pipeline running logs by clicking Show Logs in the top right corner. You can see the dynamic log output of the pipeline, including any errors that may stop the pipeline from running. For each stage, you click it to inspect logs, which can be downloaded to your local machine for further analysis.
Step 7: Verify Results
- Once you successfully executed the pipeline, click Code Quality to check the results through SonarQube as follows.
- The Docker image built through the pipeline has also been successfully pushed to Docker Hub, as it is defined in the Jenkinsfile. In Docker Hub, you will find the image with the tag
v0.0.2
that is specified before the pipeline runs.
- At the same time, a new tag and a new release have been generated in GitHub.
- The sample application will be deployed to
kubesphere-sample-dev
andkubesphere-sample-prod
with corresponding Deployments and Services created. Go to these two projects and here are the expected result:
| Environment | URL | Namespace | Deployment | Service |
|---|---|---|---|---|
| Development | http://{NodeIP}:{$30861} |
kubesphere-sample-dev | ks-sample-dev | ks-sample-dev |
| Production | http://{$NodeIP}:{$30961} |
kubesphere-sample-prod | ks-sample | ks-sample |
Deployments
Services
Note
Step 8: Access Sample Service
- To access the service, log in KubeSphere as
admin
to use the web kubectl from Toolbox. Go to the projectkubesphere-sample-dev
, and selectks-sample-dev
in Services under Application Workloads. The endpoint can be used to access the service.
- Use the web kubectl from Toolbox in the bottom right corner by executing the following command:
$ curl <IP_ADDRESS>:8080
- Expected output:
Really appreciate your star, that's the power of our life.
Note
curl
endpoints or {$Virtual IP}:{$Port} or {$Node IP}:{$NodePort}- Similarly, you can test the service in the project
kubesphere-sample-prod
and you will see the same result.
$ curl <IP_ADDRESS>:8080
Really appreciate your star, that's the power of our life.


15 minutes
Participants will be able to:
psql
) and, optionally, a GUI admin apppsql
with no args, it assumes you want to connect as your current user (whoami
command output)psql postgres
to connect as the superusercreate database <YOUR_USERNAME>
\q
to quitpsql
Being a database, Postgres stores most of its settings in itself! So the config file isn’t really useful for us.
Install: https://eggerapps.at/postico/
If you created a DB of your user, it should work out of the box if you specify localhost
to connect.
This is not recommended because it is too advanced and difficult to connect.
Passwords? with the default setup you shouldn’t need a password.


Hello there, I am Ranveer Randhawa, A rising sophomore at University of Washington. I am majoring in Computer Science, and minoring in Math. I spend a lot of my time reading, and implementing algorithms since competive programming is one of my hobbies. In addition, I sometimes also like to learn and experiment with neural networks. I have also devloped some projects in my free time. I have listed and described my favourite ones below.
Finds the shortest path in the maze using breadth first search. The cells of the maze are weighted by the values 0 and 1 only.(Take a look)
An animation tool which visualizes the famous algorithm insertion sort. The reason this is one of my favourite ones is because I plan to devlop more algorithms in the future and create a compilation which could potentially help students.(Take a look)


Now that computers can defeat Go masters, and identify hotdogs, what's next? The holy grail: make music in the bluegrass banjo style of Earl Scruggs.
How does Earl "banjo-ify" a song?
This question led me on a journey, from my hometown of Normal, Illinois, to study with a banjo guru - in New Jersey, of course.
My guru said, start with a single note:
How can you hold long notes on instruments with no sustain?
Mandolin style is to just repeat it:
But banjo style, you play syncopated, rolling patterns:
I internalized these patterns, I could do it - but, I didn't understand how. It's tacit knowledge.
But what if I tried to teach a computer? I'm programming a context-free banjo grammar, using Allison Parrish's Python port of Kate Compton's Tracery library.
I start with ABC notation, transform it to musical notation, and MIDI:
Then I use replacement rules to "banjo-ify" it:
Why? Because it's fun! It's absurd.
And the process of programming helps us understand things in new ways.
If you ever wanted to learn about grammars and the Chomsky hierarchy, well, here's a concrete, weird example.
So join me this journey. Next stop, Seattle? Let's program a banjo grammar.


The beauty of mathematics, to me, lies the most in the ability of substantiating abstract ideas. One of my favorite to name is the orbit-stabilizer theorem (imaginable as a cube with orbit and you can flip it by rules).
The beauty of financial mathematics on the other hand, lies the most in everything comes down to a set of procedures all the time (uniformity!). For Black-Litterman optimization, it is falls under the category of statistical procedure, where we assume return follows a distribution, and portfolio managers’ economics views are useful to infer the parameters of the distribution given our objective expectation.
Before we start, I want to acknowledge that everything I learned in this post was again, from my wonderful professor Gordon Ritter at his very amazing class Active Portfolio Management (I think available at NYU tandon and Baruch MFE program). This particular class was taken from his paper with Professor Petter Kolm (who I always see him being very excited about math details). Please read their paper if you are interested in learning deeper (for example, the consideration on choosing prior)!
Objective: find optimized holdings of our portfolio s.t. $\small h* = argmax_h {E[h’r] - \frac{2}V[h’r] }$
Translation: Need to estimate mean and variance of $r$ to solve mean-variance optimization
Elements needed:
Imagine we have some portfolios, and N portfolio managers has opinion on what sector might outperform all other sectors by a percentage, $\small q%$. Then essentially the holdings on portfolio of each manager makes up a matrix $\small P$ of N rows and each row is a set of holdings. Then our expected return on the whole portfolio equals to $\small q$ .
Importantly, we specify error for each expectation, for which we will denote as $\small \epsilon_i \sim N(0, \Omega)$ and thus we have a likelihood to maximize.
Our calculation steps then follow:
use the above to calculate the posterior of $r$: $\small p(r \lvert q) = \int{p(r \lvert \theta)p(\theta \lvert q)d\theta} $
Very obviously we can approximate the posterior to $\small N(q \lvert p\theta,\Omega) N(\theta \lvert \Pi,\Omega)$ according to item 1. (question to readers, think about why are normalizer neglect-able?).
Having normal distribution in hand, we realize that it’s much easier to get log form and log function preserves monotonicity. Finally we have: For simplicity, let $\small H = P’\Omega^{-1}P+C^{-1}$ and $\small \eta = q’\Omega^{-1}P + \Pi’C^{-1}$
Now, think about how we get mean and covariance of $\theta$ It’s then clear that $\small H = \frac{1}{\sigma^2}\ and\ \eta = \frac{\mu}{\sigma^2} $ so we have covariance equals to $\small H^{-1}$ and mean equals $\small H^{-1}\eta$.
Well at this stage, I bet my readers already know the derivation for this one. Thanks to conjugate prior, we will be able to maintain the same update format as $\small \theta$.
let $\small \xi = H^{-1}\eta, v = H^{-1}$, hence Similarly, we let $H_r = V^{-1} + p’\Omega^{-1}P, \eta’_r =\xi’V^{-1} + r’\Omega^{-1}P$, and one more term $z = r’\Omega^{-1}r + \xi’V^{-1}\xi$
and using the same trick, we get
Recall our portfolio set up, we can now obtain optimal portfolio holding
Originally I imagined putting everything in one post, but while writing it I decided it’s best to follow the structure of most generalized derivation -> introduction of arbitrage pricing theory model -> application, from dataset specs to code. So stay tuned for the following posts in this series!


Hi! I’m still working on this section. In the meantime, you can find me elsewhere:
LINKEDIN DRIBBBLE GITHUB


Sumatran rhino officially extinct in Malaysia
by Robert Gearty, Fox NewsThe Sumatran rhino is now officially extinct in Malaysia with the death from cancer of a 25-year-old female named Iman — the last known specimen in the Asian country, according to the BBC.
Iman’s death was reported Saturday on the island of Borneo.
The Sumatran rhino once roamed across Asia but has all but disappeared from the wild, the BBC reported. Fewer than 100 Sumatran rhinos are believed to exist today.
Iman’s death at the Borneo Rhino Sanctuary “was a natural one and the immediate cause has been categorized as shock,” Malaysia’s Minister of Tourism Christina Liew said, according to the Malaysia Star.
“Iman was given the very best care and attention since her capture in March 2014 right up to the moment she passed, Liew said. “No one could have done more.”
The paper quoted the minister as saying that over the years Iman had almost died on several occasions due to sudden massive blood loss from uterine tumors.
The number of Sumatran rhinos has dwindled due to poaching and habitat loss, but the biggest threat facing the species today is the fragmented nature of their populations, the BBC reported.
Efforts to breed the species in Malaysia have so far failed.


| pgpool-II 4.0.3 Documentation | |||
|---|---|---|---|
| Prev | Up | Appendix A. Release Notes | Next |
Release Date: 2017-04-28
Fixing a mistake in the watchdog code. (Muhammad Usama)
commit also adds some debug messages in the watchdog code.
Fix for 0000299: Errors on the reloading of configuration. (Bug 299) (Muhammad Usama)
Fix for 0000289: Inconsistent backend state. (Bug 289) (Muhammad Usama)
Enhancing the handling of split-brain scenario by the watchdog. (Muhammad Usama)
Previously, the watchdog cluster was used to call for re-election of the master/coordinator node whenever the split-brain situation was detected. And consequently every node was required to rejoin the watchdog network, Which was essentially similar to the re-booting of the whole watchdog cluster.
The candidate for the master/coordinator node is selected on the following criteria.
1-- When two watchdog nodes are claiming to be the cluster master, the master node that has performed the escalation keeps the master status and the other node is asked to step down.
2-- If the conflict could not be resolved by the escalation status of the nodes, The node which holds the quorum remains the master/coordinator.
3-- If the quorum status of both contenders is also same. The node with higher number of connected alive nodes get the preference.
4-- Finally, if all above three yields no winner, the older master (The node that has the coordinator status for longer duration) remains the master.
Enhancing the watchdog internal command mechanism to handle multiple concurrent commands. (Muhammad Usama)
Add bool encode and decode functions to JSON framework for code compatibility.(Muhammad Usama)
Comment out unsupported Java method in new JDBC drivers to prevent regression failure. (Tatsuo Ishii)
Downgrade parse before bind log message to debug1. (Tatsuo Ishii)
Fix coverity warnings. (Tatsuo Ishii, Muhammad Usama)
Fix for [pgpool-general: 5396] pam ldap failure. (Muhammad Usama)
Consider SHOW command as kind of a read query. (Tatsuo Ishii)
In streaming replication mode, if SHOW is issued then subsequent SELECTs are sent to the primary node in an explicit transaction. This is not a reasonable and unnecessary limitation. Also fix hang when parse command returns error.
Fix memory leak problem caused by commit adcb636. (Tatsuo Ishii)
Commit adcb636 introduces "pending message queue". When a message arrives, the info is added to the queue and a copy of object is created at the same time, but forgot to free the object. Fix is, creating a new function pool_pending_message_free_pending_message() and call it after pool_pending_message_add(), pool_pending_message_get() and pool_pending_message_pull_out(). Problem reported by Sergey Kim.
Mega patch to fix "kind mismatch" (or derived) errors in streaming replication mode. (Bug 271) (Tatsuo Ishii)
The errors are caused by wrong prediction in which (or both) database node will send response to Pgpool-II. Previous implementation using "sync map" are weak and sometimes fail in the prediction.
This patch introduces new implementation using "pending message queue", which records all sent message to backends. The element of the queue stores info regarding messages types (parse/bind/execute/describe/close/sync), to which database node the message was sent and so on. It's a simple FIFO queue. When a message arrives from backend, by looking at the head of the "pending message queue", it is possible to reliably predict what kind of message and from which database node it will arrive. After receiving the message, the element is removed from the queue.
I would like to thank to Sergey Kim, who has been helping me in testing series of patches.
See Bug 271 and discussion in pgpool-hackers mailing list [pgpool-hackers: 2043] and [pgpool-hackers: 2140] for more details.
Fix for 0000296: PGPool v3.6.2 terminated by systemd because the service Type has been set to 'forking'. (Bug 296) (Muhammad Usama)


wonky
`Prev `__
W
`Next `__
--------------
**wonky**: /wong´kee/, adj.
[from Australian slang] Yet another approximate synonym for
`*broken* <../B/broken.html>`__. Specifically connotes a malfunction
that produces behavior seen as crazy, humorous, or amusingly perverse.
“That was the day the printer's font logic went wonky and everybody's
listings came out in Tengwar.” Also in wonked out. See
`*funky* <../F/funky.html>`__, `*demented* <../D/demented.html>`__,
`*bozotic* <../B/bozotic.html>`__.
--------------
+---------------------------+----------------------------+-------------------------------+
| `Prev `__ | `Up <../W.html>`__ | `Next `__ |
+---------------------------+----------------------------+-------------------------------+
| womble | `Home <../index.html>`__ | workaround |
+---------------------------+----------------------------+-------------------------------+


URL to a TileJSON source
Your map will print with this level of detail. To adjust, change the zoom level above.
Download map


CLINICAL DETAILS:
On active surveillance for GS 3+3 Ca prostate.
MACROSCOPIC:
A. One core measuring 12 mm long.
B. One core measuring 10 mm long.
C. One core measuring 14 mm long.
D. One core measuring 16 mm long.
E. One core measuring 18 mm long.
F. One core measuring 9 mm long.
G. One core measuring 14 mm long.
H. One core measuring 13 mm long.
I. One core measuring 13 mm long.
J. One core measuring 16 mm long.
K. One core measuring 15 mm long.
L. One core measuring 12 mm long.
M. One core measuring 16 mm long.
N. One core measuring 16 mm long.
O. One core measuring 20 mm long.
P. One core measuring 17 mm long.
Q. One core measuring 10 mm long.
R. One core measuring 18 mm long.
S. One core measuring 17 mm long.
T. One core measuring 16 mm long.
MICROSCOPIC:
Adenocarcinoma is present in the following distribution:
| Biopsy | Gleason score | Lengths | % involvement |
|---|---|---|---|
| 15 | 3 + 3 | 3 mm | 10% |
| 19 | 3 + 3 | 2mm | 5% |
Summary of whole case:
Tumour type: Acinar
Number of positive cores: 2
Number of positive sites: 2
Overall Gleason score: 3 + 3 = 6
Maximum cancer length: 2 mm
Maximum % core involvement: 10%
Perineural invasion: No
Extraprostatic extension: No
Acute inflammation: No
PROSTATE TEMPLATE BIOPSIES: ADENOCARCINOMA, GLEASON SCORE 3 + 3 = 6.


Unsupported Browser
cellxgene is currently supported on the following browsers
Chrome > 60
Firefox ≥ 60
Edge ≥ 79


Experiments training GAN's without data.
Reconstructing films with artificial neural networks.
Interactive 3D visualisation of the topological structures in neural networks.
Experiments with various geometric configurations of slit-scanning.
Research Project developing a method for object removal from light field images.
Augmented Reality project with an oculus rift exploring alternative sensory experiences.


QuickStart One
This article will step you through a simple setup of ArgentSea for non-sharded data access. This presentation introduces concepts which are further elaborated in the subsequent article, so this is a good orientation prior that that walkthrough too.
If you get stuck or have questions, click on one of the links to the in-depth tutorial articles.
1. Create a Project (or use an existing one)
The sample QuickStart project is here. You can reproduce the starting point by creating a new ASP.NET API project type. If you prefer to start by creating a new, empty project, ensure that appsettings.json is added.
2. Setup your Database
If you are using the QuickStart1 project, a setup SQL script is including in the project; otherwise you can access it on GitHub. You can run the SQL script against the database server to create the sample databases, tables, data, etc.
The best way to use ArgentSea is to exclusively use stored procedures, and to enforce least-privileged access by granting the logon only EXECUTE permissions.
Going further, you might consider creating distinct schemas, one for SELECT (read) procedures and one for INSERT, UPDATE, DELETE (write) procedures. Create two users and grant each EXECUTE to one or the other schema. Besides adding additional security, this may also help validate scale-out read-only endpoints during development and testing.
Caution
A password is embedded in the setup script (and corresponds to the credential sections below); you might consider changing this value. However, this is also a low-privileged user, so it is not a high risk if you leave things as they are.
3. Add ArgentSea to your project
If you have loaded the QuickStart project, you can skip this step. If you are creating a new project, use NuGet to add ArgentSea to your project by selected the package that corresponds to your database platform:
- For Microsoft SQL Server databases, use ArgentSea.Sql
- For PostgreSQL, use ArgentSea.Pg
Both packages will automatically include the shared ArgentSea package and any other dependencies. Using both packages in the same project may work but is not a tested scenario.
You can learn more about adding a reference to ArgentSea here.
4. Define your Login Information
ArgentSea leverages the .NET Core configuration architecture, which means that the configuration information is combined from multiple providers. In this example, we will store most connection information in the appsettings.json file, but store the login password securely in a separate store.
Tip
Because the new configuration architecture in .NET core allows values to be hosted in multiple places, we can also use environment variables — which can be very useful for managing a release pipeline. In that case, we might store the server or database information there instead of appsettings.json. Again, the details are described in the configuration tutorial.
Open the User Secrets JSON configuration file by right-clicking on the project node and selecting it from the popup menu. If a User Secrets option does not appear, you may need to add the Microsoft.Extensions.Configuration.UserSecrets NuGet package to your project. User Secrets provides a means of keeping passwords out of your source control files.
Note
Because the QuickStart1 sample application uses User Secrets, those following along at home with the downloaded project will still need to manually copy the credentials to the User Secrets in the sample app.
To connect using username and password authentication, add this to your User Secrets:
{
"SqlDbConnections": [
{
"Password": "Pwd123456"
}
]
}
Change the values, as appropriate, to represent a valid login.
Configure the DataSource and InitialCatalog properties in your appsettings.json configuration file:
{
"SqlDbConnections": [
{
"DatabaseKey": "MyDatabase",
"UserName": "webUser",
"DataSource": "localhost",
"InitialCatalog": "MyDb"
}
]
}
Note that if you are using Windows authentication, you can just specify this in appsettings.json and you don’t need to manage User Secrets:
{
"SqlDbConnections": [
{
"DatabaseKey": "MyDatabase",
"WindowsAuth": true,
"DataSource": "localhost",
"InitialCatalog": "MyDb"
}
]
}
Caution
In a production deployment, the Credential section — entries currently placed in User Secrets — should be hosted in AWS Secrets Manager, Azure Key Vault, a secure file share, or some other secure resource.
7. Load ArgentSea on Application Start
ArgentSea is an injectable service, so it needs to be registered on application startup.
Open your project’s Startup class. At the top, there should be the following using statement:
using ArgentSea.Sql;
Then, in the Startup
class’ ConfigureServices
method, add:
services.AddSqlServices(Configuration);
This step creates an injectable SqlServices object that we can consume in all of our data access clients.
Note
The ArgentSea services include both the Databases
and ShardSets
service. Of course, if no ShardSets are configured, the collection will be empty.
8. Create a Model Class
A model class has properties that correspond the the fields of a data entity. ArgentSea can automatically map these properties to input or output parameters, the columns of a DataReader object, or (in SQL Server) a table-valued parameter.
For example, suppose your subscriber data can be represented by a class like this:
using System;
public class Subscriber
{
public int SubscriberId { get; set; }
public string Name { get; set; }
public DateTime Expiration { get; set; }
}
We can simply add mapping attributes to this class:
using System;
using ArgentSea.Sql;
public class Subscriber
{
[MapToSqlInt("@SubID")]
public int SubscriberId { get; set; }
[MapToSqlNVarChar("@SubscriberName", 255)]
public string Name { get; set; }
[MapToSqlDateTime2("@EndDate")]
public DateTime Expiration { get; set; }
}
The “@” parameter prefix is optional — ArgentSea will add the “@” automatically for parameters and remove it automatically when reading data reader columns.
Note that the property name does not need to match the parameter or column name. It is not uncommon for database naming conventions to differ from .NET property naming conventions.
Warning
ArgentSea assumes consistent naming in your data parameters and results. A project with “consistently inconsistent” parameters or column names will find the ArgentSea Mapper of little practical use.
5. Define the SQL implementation
In the sample QuickStart, the stored procedure looks like this:
CREATE PROCEDURE ws.GetSubscriber
@SubId int,
@SubName nvarchar(255) OUTPUT,
@EndDate datetime2 OUTPUT
AS
BEGIN
SELECT @SubName = Subscribers.SubName,
@EndDate = Subscribers.EndDate
FROM dbo.Subscribers
WHERE Subscribers.SubId = @SubId;
END;
ArgentSea deliberately tries minimize mixing SQL and .NET code; ideally, only stored procedure names are compiled into the project. Further, to help track which procedures are in use, ArgentSea recommends centralizing the procedure names in a single static Queries
class:
public static class Queries
{
public static QueryProcedure GetSubscriber => new QueryProcedure("ws.GetSubscriber", new[] { "@SubId", "SubName", "EndDate" });
}
Finally, the application needs a repository class to actually retrieve the data. In the sample application, this is called the SubscriberStore. This is the class that will call the database stored procedure or SQL statement and return the specified subscriber. If you are creating your own project, you need to construct something similar.
Our implementation of the data access code requires only a few lines:
public class SubscriberStore
{
private readonly SqlDatabases _dbs;
private readonly ILogger<SubscriberStore> _logger;
public SubscriberStore(SqlDatabases dbs, ILogger<SubscriberStore> logger)
{
_dbs = dbs;
_logger = logger;
}
public async Task<Subscriber> GetSubscriber(int subscriberId, CancellationToken cancellation)
{
var db = _dbs["MyDatabase"];
var prms = new ParameterCollection()
.AddSqlIntInputParameter("@SubId", subscriberId)
.CreateOutputParameters<Subscriber>(_logger);
return await db.Read.MapOutputAsync<Subscriber>(Queries.GetSubscriber, prms, cancellation);
}
}
Because the “@SubId” parameter was manually created, the when the Mapper is enlisted to automatically create all the output parameters, it knows not to duplicate the “@SubId” parameter.
The MapOutputAsync
method retrieves the data and creates the model instance automatically.
The ArgentSea database service is injected into the SubscriberStore class by the .NET framework. The SubscriberStore itself is in turn injected into the controller. Don’t forget to add the SubscriberStore class to services.Configure()
in Startup, so that injection works.
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSingleton<SubscriberStore>();
...
}
The controller for a web API example, can be very simple:
[Route("api/[controller]")]
[ApiController]
public class SubscriberController : ControllerBase
{
private readonly SubscriberStore _store;
private readonly ILogger<SubscriberController> _logger;
public SubscriberController(SubscriberStore store, ILogger<SubscriberController> logger)
{
_store = store;
_logger = logger;
}
// GET api/subscriber/5
[HttpGet("{id}")]
public async Task<ActionResult<Subscriber>> Get(int id, CancellationToken cancellation)
{
var result = await _store.GetSubscriber(id, cancellation);
if (result is null)
{
return NotFound();
}
return result;
}
}
Due to the work of the Mapper, the controller code would not increase in complexity even if the model had a many more properties, each mapped to a parameter or result column.
You should be able to build and run your project. You can test the web service by specifying http://<projectUrl&gr;/api/subscriber/1.
The QuickStart code has a test project that validates that the web service returns the expected results.


A timestamp proves that some data existed prior to some point in time. OpenTimestamps (OTS) defines a standard set of operations for creating provable timestamps and later independently verifying them.
Here the Bitcoin blockchain is used as a timestamp notary: the proof is attested in a Bitcoin block header; this webpage is an interface to create timestamp proofs using the facilities provided by the public free OpenTimestamps calendar servers.
Anyone could realize a timestamp with the permissionless blockchain(s) by paying the transaction fees; conveniently, OpenTimestamps performs this operation for free without any registration or API key. A calendar server provides aggregation of multiple documents and Bitcoin timestamping using a single transaction for the aggregated documents. Moreover, a calendar provides remote calendar services for OpenTimestamps clients, so that to use the OpenTimestamps protocol a server is not needed: public servers exist that are free to use.
Timestamps can be verified independently using a local Bitcoin Core node; anyway, since a web-page cannot access the local filesystem, it relies on public blockexplorers.
Get the hash value associated to the data file to be timestamped.
No internet connectivity is required: the hash is calculated inside your browser
without disclosing your document to third parties, preserving your privacy.
Submit the hash value to multiple
OpenTimestamps calendar servers
for attestation of its existence (timestamp) and save the OTS proof
as local file; internet connectivity is required.
However, the proof cannot be verified immediately: it is incomplete as
it takes a few hours for the timestamp to get confirmed by the Bitcoin
blockchain; OpenTimestamps is not doing one transaction per timestamp:
calendars do aggregate multiple documents that are later attested with
a single blockchain transaction.
Load an existing OTS proof from a local file (no internet connectivity required).
Display the info included in the OTS proof, including the actual commitment operations and attestations (no internet connectivity required).
Attempt the upgrade of the OTS proof with attestations that might be available from the
OpenTimestamps calendars (internet connectivity is
required).
Incomplete proofs require the assistance of the remote calendars used for timestamping
to be verified: calendars provide the path to the Bitcoin block header. Upgrading an
incomplete timestamp adds the path to the Bitcoin block header to the proof itself,
making it self-contained and calendar-indipendent.
Verify the attestations included in the OTS proof (internet connectivity is required).
Timestamps can be verified independently using a local Bitcoin Core node; anyway, since
a web-page cannot access the local filesystem, it relies on public blockexplorers.
Proof upgrading is attempted contacting the OpenTimestamps calendars before verification:
if an upgrade is available, then it is downloaded and used for verification.


001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 package org.apache.commons.codec.digest; 018 019 import org.apache.commons.codec.Charsets; 020 021 /** 022 * GNU libc crypt(3) compatible hash method. 023 *
 024 * See {@link #crypt(String, String)} for further details. 025 *
 026 * This class is immutable and thread-safe. 027 * 028 * @version $Id: Crypt.java 1429868 2013-01-07 16:08:05Z ggregory $ 029 * @since 1.7 030 */ 031 public class Crypt { 032 033 /** 034 * Encrypts a password in a crypt(3) compatible way. 035 *
 036 * A random salt and the default algorithm (currently SHA-512) are used. See {@link #crypt(String, String)} for 037 * details. 038 * 039 * @param keyBytes 040 * plaintext password 041 * @return hash value 042 * @throws RuntimeException 043 * when a {@link java.security.NoSuchAlgorithmException} is caught. 044 */ 045 public static String crypt(final byte[] keyBytes) { 046 return crypt(keyBytes, null); 047 } 048 049 /** 050 * Encrypts a password in a crypt(3) compatible way. 051 *
 052 * If no salt is provided, a random salt and the default algorithm (currently SHA-512) will be used. See 053 * {@link #crypt(String, String)} for details. 054 * 055 * @param keyBytes 056 * plaintext password 057 * @param salt 058 * salt value 059 * @return hash value 060 * @throws IllegalArgumentException 061 * if the salt does not match the allowed pattern 062 * @throws RuntimeException 063 * when a {@link java.security.NoSuchAlgorithmException} is caught. 064 */ 065 public static String crypt(final byte[] keyBytes, final String salt) { 066 if (salt == null) { 067 return Sha2Crypt.sha512Crypt(keyBytes); 068 } else if (salt.startsWith(Sha2Crypt.SHA512_PREFIX)) { 069 return Sha2Crypt.sha512Crypt(keyBytes, salt); 070 } else if (salt.startsWith(Sha2Crypt.SHA256_PREFIX)) { 071 return Sha2Crypt.sha256Crypt(keyBytes, salt); 072 } else if (salt.startsWith(Md5Crypt.MD5_PREFIX)) { 073 return Md5Crypt.md5Crypt(keyBytes, salt); 074 } else { 075 return UnixCrypt.crypt(keyBytes, salt); 076 } 077 } 078 079 /** 080 * Calculates the digest using the strongest crypt(3) algorithm. 081 *
 082 * A random salt and the default algorithm (currently SHA-512) are used. 083 * 084 * @see #crypt(String, String) 085 * @param key 086 * plaintext password 087 * @return hash value 088 * @throws RuntimeException 089 * when a {@link java.security.NoSuchAlgorithmException} is caught. 090 */ 091 public static String crypt(final String key) { 092 return crypt(key, null); 093 } 094 095 /** 096 * Encrypts a password in a crypt(3) compatible way. 097 *
 098 * The exact algorithm depends on the format of the salt string: 099 *
 100 *
SHA-512 salts start with $6$ and are up to 16 chars long. 101 *
SHA-256 salts start with $5$ and are up to 16 chars long 102 *
MD5 salts start with "$1$" and are up to 8 chars long 103 *
DES, the traditional UnixCrypt algorithm is used else with only 2 chars 104 *
Only the first 8 chars of the passwords are used in the DES algorithm! 105 *
 106 * The magic strings "$apr1$" and "$2a$" are not recognised by this method as its output should be identical with 107 * that of the libc implementation. 108 *
 109 * The rest of the salt string is drawn from the set [a-zA-Z0-9./] and is cut at the maximum length of if a "$" 110 * sign is encountered. It is therefore valid to enter a complete hash value as salt to e.g. verify a password 111 * with: 112 * 113 *
 114 * storedPwd.equals(crypt(enteredPwd, storedPwd)) 115 *
 116 *
 117 * The resulting string starts with the marker string ($6$), continues with the salt value and ends with a "$" sign 118 * followed by the actual hash value. For DES the string only contains the salt and actual hash. It's total length 119 * is dependent on the algorithm used: 120 *
 121 *
SHA-512: 106 chars 122 *
SHA-256: 63 chars 123 *
MD5: 34 chars 124 *
DES: 13 chars 125 *
 126 *
 127 * Example: 128 * 129 *
 130 * crypt("secret", "$1$xxxx") => "$1$xxxx$aMkevjfEIpa35Bh3G4bAc." 131 * crypt("secret", "xx") => "xxWAum7tHdIUw" 132 *
 133 *
 134 * This method comes in a variation that accepts a byte[] array to support input strings that are not encoded in 135 * UTF-8 but e.g. in ISO-8859-1 where equal characters result in different byte values. 136 * 137 * @see "The man page of the libc crypt (3) function." 138 * @param key 139 * plaintext password as entered by the used 140 * @param salt 141 * salt value 142 * @return hash value, i.e. encrypted password including the salt string 143 * @throws IllegalArgumentException 144 * if the salt does not match the allowed pattern 145 * @throws RuntimeException 146 * when a {@link java.security.NoSuchAlgorithmException} is caught. * 147 */ 148 public static String crypt(final String key, final String salt) { 149 return crypt(key.getBytes(Charsets.UTF_8), salt); 150 } 151 }


National Outdoor 24 Hour Track Championships for Russia
Men (17 runnings) 23 May 2009 Moscow 240.443 km Denis Zhalybin 17 May 2008 Moscow 253.205 Vladimir Bychkov-2 05 May 2007 Moscow 251.062 Aleksey Arefyev 07 Aug 2006 Moscow 237.712 Oleg Yakolev 07 May 2005 Moscow 234.540 Timur Abzalilov-2 15 May 2004 Moscow 252.076 Vladimir Bychkov 11 May 2003 Moscow 247.705 Dmitriy Tishin 10 May 2002 Moscow 256.191 Vladimir Romanov 12 May 2001 Moscow 243.323 Ivan Labutin 08 May 2000 Moscow 256.869 Andrey Kazantsev 09 May 1999 Moscow 260.447 Nasibula Khushullin 09 May 1998 Moscow 259.227 Sergey Ishmulkin 10 May 1997 Moscow 241.138 Timur Abzalilov 11 May 1996 Moscow 254.662 Ivan Bogdanov-2 13 May 1995 Moscow 242.820 Ivan Bogdanov 21 May 1994 Moscow 252.950 Eduard Khikov 22 May 1993 Moscow 244.940 Nikolay Safin Women (16 runnings) 23 May 2009 Moscow 211.511 km Irina Reutovich-4 17 May 2008 Moscow 203.148 Rimma Paltseva 05 May 2007 Moscow 194.916 Yevgenia Kulikova-2 07 Aug 2006 Moscow 205.654 Yevgenia Kulikova 07 May 2005 Moscow 241.521 Lyudmila Kalinina-3 15 May 2004 Moscow 227.141 Galina Eremina-2 11 May 2003 Moscow 207.366 Galina Eremina 10 May 2002 Moscow 217.913 Lyudmila Kalinina-2 12 May 2001 Moscow 182.041 Lyudmila Kalinina 08 May 2000 Moscow 230.438 Irina Reutovich-3 09 May 1999 Moscow 236.363 Irina Reutovich-2 09 May 1998 Moscow 242.624 Irina Reutovich 10 May 1997 Moscow 218.759 Elena Sidorenkova 11 May 1996 Moscow 205.482 Rimma Palkheva 13 May 1995 Moscow 197.620 Nadezhda Tarasova 21 May 1994 Moscow 202.204 Svetlana Savoskina
Most Titles
Men
(1993-date)
2
Ivan Bogdanov
1995-96
.
Timur Abzalilov
1997,2005
Women
(1994-date) 4
Irina Reutovich
1998-2000,2009
Last Updated on
28 Mar 2010
Contributors: Klaas Loonstra (50), Juraj Gasparovic (7)


OpenSSH is OpenBSD's rework of the last free version of SSH, bringing it
up to date in terms of security and features, as well as removing all
patented algorithms to separate libraries (OpenSSL).
This package contains the secure shell daemon. The sshd is the server
part of the secure shell protocol and allows ssh clients to connect to
your host.
-rwxr-xr-x 1 root root 2885 Mar 3 1995 /etc/rc.d/init.d/sshd -rw------- 1 root root 3196 Mar 3 1995 /etc/ssh/sshd_config -rwxr-xr-x 1 root root 183711 Mar 3 1995 /usr/libexec/openssh/sftp-server -rwxr-xr-x 1 root root 1605518 Mar 3 1995 /usr/sbin/sshd -rw-r--r-- 1 root root 1858 Mar 3 1995 /usr/share/man/man8/sftp-server.8.gz -rw-r--r-- 1 root root 11148 Mar 3 1995 /usr/share/man/man8/sshd.8.gz


TABLE OF CONTENTS
A. GS1 Related B. GS2 Related POLITY 1. Supreme Court refers case of ban on women’s entry into Sabarimala temple to Constitution Bench 2. SC asks Centre to set up expert panel to check Blue Whale game 3. SC does a re-think on dowry harassment ruling 4. The legal message INTERNATIONAL AFFAIRS/BILATERAL RELATIONS 1. Rohingyas case: Have to strike a balance between national security and human rights, says Supreme Court 2. Cross-border terror: India to speak up at Bahamas meeting 3. Nepal Eminent Persons Group seeks review of 1950 friendship treaty with India C. GS3 Related ECONOMICS 1. To reverse women leaving the workforce, policies must change behaviour before they change beliefs ENVIRONMENT AND ECOLOGY 1. India to build more roads on China border INTERNAL SECURITY 1. The wrong approach to environmental regulation D. GS4 Related E. Prelims Fact F. UPSC Prelims Practice Questions G. UPSC Mains Practice Questions
Nothing here for Today!!!
1. Supreme Court refers case of ban on women’s entry into Sabarimala temple to Constitution Bench
In news:
Case transferred from three-judge Bench to Constitution Bench:
- The Supreme Court referred to a five-judge Constitution Bench the question whether the fundamental right of women to pray at the place of their choice can be discriminated against solely based “on a biological factor exclusive to the female gender.”
- Constitution Bench of the Supreme Court will scrutinise the age-old practice in Kerala’s famed Sabarimala temple of restricting entry for women aged between 10 and 50 — that is, those who are in the menstruating age.
- The Supreme Court questioned: How a temple managed by a statutory board — the Travancore Devaswom Board — and financed out of the Consolidated Fund of Kerala and Tamil Nadu “can indulge in practices violating constitutional principles/ morality.”
- Temple authorities’ response: justified the restriction, saying it is a practice founded in tradition.
Constitution Bench to decide:
- Whether the practice of excluding such women constitutes an “essential religious practice.”
- Whether a religious institution can exclude women as part of its right to manage its own affairs in matters of religion.
- Whether the ban qualifies as an “essential religious practice” of the Hindu faith, over which the court has no jurisdiction.
- Whether Ayyappa devotees form a separate religious denomination by themselves.
- If a temple managed by a statutory board can ‘indulge’ in the practice of banning women from entry on moral grounds.
Key Fact:
Rule 3 (b) of the Kerala Hindu Places of Public Worship (Authorisation of Entry) Rules, 1965: allows a ‘religious denomination’ to ban entry of women between the age of 10 to 50 years.
2. SC asks Centre to set up expert panel to check Blue Whale game
In news:
- The Supreme Court asked government to set up a panel of experts to block virtual dare games like Blue Whale Challenge which has allegedly led to several suicidal deaths.
- The apex court also sought the government’s response on a plea seeking to firewall such life threatening/violent games existing in the cyber world like ‘Choking game’, ‘Salt and Ice Challenge’, ‘Fire Challenge’, ‘Cutting challenge’, ‘Eyeball challenge’ and ‘Human Embroidery game’.
- What is a Firewall? Firewall is a system designed to prevent unauthorised access to or from a private network by controlling incoming and outgoing network traffic.
- The Blue Whale Challenge: The Blue Whale Challenge is reportedly a suicide game in which the player is given certain tasks to complete over a period of 50 days and the final task leads him or her to commit suicide. The player is also asked to share photos after finishing each challenge.
3. SC does a re-think on dowry harassment ruling
In news:
- Previous verdict:
- On July 27, the Supreme Court had concluded that Section 498A (dowry harassment) of the Indian Penal Code has come under much abuse.
- Dowry complaints are being filed in the heat of the moment by women over trivial issues.
- Innocent relatives, including parents of advanced age, siblings and grandparents, suffer harassment.
- The judgment directed ‘Family Welfare Committees’ to sift the genuine cases of dowry harassment from the trivial ones.
- Police would take action only on the basis of the committee’s report.
- These committees were directed to be made up of social workers, homemakers, retired persons and other citizens.
- No arrest should normally be effected on dowry harassment complaints until the committee confirms the genuineness.
- Absolute U-turn: Two months after the Supreme Court stopped immediate arrests of accused in dowry harassment cases, the court did a re-think, saying its order dilutes the right of a woman to seek justice against the evil of dowry.
Context
- Supreme Court criminalized sex between a man and his minor wife.
- The court refrained from adjudicating on the issue of marital rape, its judgment made reference to the Justice J.S. Verma committee recommendations that explained why the exemption of marital rape must be removed, and that a marital or other relationship is not a defence or justification for a lower sentence.
Exemption of Marital rape in India:
- The notion that marriage constitutes a contract, which includes the woman’s irrevocable consent to sex
- A woman is the property of her husband, and rape is a violation of a man’s property rather than a crime against women
- after marriage, a woman’s identity becomes part of her husband’s.
- The Indian government has consistently resisted a change in the law.
- Even after 2012 Delhi gang rape case that resulted in in an amendment to the criminal legislation in India, including the definition and punishment of rape.
- However, the exemption of marital rape was retained, despite recommendations by the Justice Verma committee.
- According to lawmakers if marital rape is brought under the law, the entire family system will be under great stress.

- This has been rejected by the government on the grounds that it will be used to harass men and will affect the institution of marriage.
- A greater importance is being given by the government to marriage than women rights.
- Women right activists do not believe in placing rape on a pedestal within the hierarchy of crimes within a marriage.That is, for a woman who is facing domestic violence, it is equally violating if her skull is fractured, her spine is broken, or her vagina is penetrated forcefully. What women object to is the violence involved.

Current scenario in USA
- In USA marital rape is treated differently from other forms of rape.
- Although all 50 states had enacted laws against marital rape by 1993, almost half the States still treat it differently from rape outside of marriage.
- In some states, marital rape is a chargeable offence only if the perpetrator uses or threatens to use physical force.
- Proof of marriage is often an easy way to reduce or mitigate the consequences of the offence.
- These kinds of legal distinctions legitimise the perception among law-enforcement agencies that cases of marital rape should be treated as less serious than rape outside of marriage.
Way Forward
- A narrow focus on sexual violence ignores the multiplicity of suffering faced by women and can result in inadequate attention being paid to their other needs. A broad focused policy approach is needed.
- We need to ensure that law and policy interventions do not inadvertently trivialise non-sexual violence and that steps are taken to strengthen compliance and implementation of laws relating to all forms of violence.
- There is a need to recognise that removing the current marital exception, if nothing else, has an important signalling effect.
- In order to prove effective, such a change needs to be accompanied by a deliberate attempt to shift attitudes that normalise violence in the home.
- The strategies must focus on structural factors that prevent the incidence of rape, rather than focussing only on strengthening response mechanisms.
- Since gender socialisation begins young, there is need to focus interventions on children and adolescents through family and societal institutions, popular culture and media. Disruptive and violent environment at home must be prevented.
- In addition to sensitising law enforcement authorities whose attitudes are merely symptomatic of widely-held beliefs about women and gender roles, we need to work with children, parents and the larger community to ensure marital rape is condemned, not condoned.
Category: INTERNATIONAL AFFAIRS/BILATERAL RELATIONS
Context:
- Deportation of Rohingya’s
In news:
- The Supreme Court sounded a warning to all the states with regards to the stance adopted against Rohingyas in India .
- The Supreme Court has also asked them to proceed with caution, citing the presence of women and children among the refugee groups that have settled in the country.
- Supreme Court’s observation:
- ‘We have to strike a balance. It is not an ordinary case. The issue involves human rights of many.”
- National security is an important issue and cannot be secondary, but at the same time, human rights of Rohingyas should be kept in mind.
- “If you (Centre) take any kind of contingency plan, you need to inform this court,”
- Key Fact:
- There are about 11 lakh Rohingyas (mostly Muslims) in Myanmar but they suffer discrimination and are denied citizenship.
- Some 3,79,000 Rohingyas have fled Myanmar since violence against them in Rakhine state started on August 25, after Rohingya militants attacked police posts there.
2. Cross-border terror: India to speak up at Bahamas meeting
Context:
- Commonwealth Law Ministers Meeting
- Venue: islands of the Bahamas.
Key Points:
- India will strongly articulate the need to strengthen counter terrorism measures and prevent radicalisation of youth through information and communication technology (ICT) at the Commonwealth Law Ministers Meeting .
Main Agenda:
- Addressing the issue of using ICT and social media platforms to recruit terrorists and radicalise youth is also part of the agenda.
- Cyber crimes, climate change, the practice of child marriage, and the need for effective laws, to deal with these issues are also important items on the agenda.
3. Nepal Eminent Persons Group seeks review of 1950 friendship treaty with India
In news:
- The government had appointed Eminent Persons Group (EPG) to review the 1950 India-Nepal Friendship Treaty.
- The group held discussion on “regulation” of movement of people across the border.
- Nepali sources confirmed that at the latest meeting of the EPG held on 8 October, the Nepali delegation brought proposals seeking changes required in the friendship treaty and the need for border policing to stop cross border crimes and trafficking.
- Group’s mandate: To take a serious look at a possible review of the friendship treaty which was concluded decades ago.
- Better border policing: The border between two sides is already delineated and the border posts are already in place but many of these markers are damaged indicating poor maintenance. There is an urgent need to police the boder better to stop cross border crime and ensure regulated movement of people.
1. To reverse women leaving the workforce, policies must change behaviour before they change beliefs
Context:
- In most countries, higher numbers of educated women have resulted in the improvement of their societal status and economic participation
- But in women’s participation in economic sector is very low
Women participation in economic spheres:
- Only 27 per cent of working-age women in India work
- The number fell sharply in the last decade from 43 per cent to 27 per cent
- Nepal and Bangladesh are way ahead, leaving only the Arab countries and Pakistan behind India
The World Bank report, ‘Precarious Drop: Reassessing Patterns of Female Labour Force Participation in India’
- According to the report, participation of women in economic sector depends on their marital-status, age, education, family labour composition and whether in rural or urban India
- Stability in family income levels also lead to women dropping out of the workforce
- Other factors include lower levels of job creation, availability of very low paying jobs in the informal sector, poor infrastructure, safety issues, and boys outnumbering girls in technical and professional education
- The study concludes that “education skilling and legal provisions may not be sufficient”
Acceptable norms:
- In a heterogeneous country like India, ‘acceptable’ norms of work may differ based on income, caste, rural/urban and informal/formal sector
- One belief is allpervasive: women are primarily homemakers and men breadwinners
Key points:
- Research in neuroscience states that deep-seated ‘typical’ beliefs regarding race, caste, gender and other social categories get embedded or hardwired in the brain
- Inaccurate to start with, the brain finds it difficult to ‘unlearn’ them even when the reality has changed. It interprets new data in a biased manner to confirm originally held beliefs (confirmatory bias)
Can behavioural changes counter these stereotypes?
- Research in behavioural design provides evidence that this is indeed possible and has been successfully pursued in many countries
- There are ‘behavioural insights’ groups advising governments in the US, Britain, Australia and Germany
Misguided policies
- Government and corporate sector policies, instead of taking steps to encourage and hasten this permeability, have been misguided
- The flawed legislation introduced recently increasing maternity benefits from three to six months is a case in point
- For ensuring that women don’t opt out of work, it reinforces gendered norms and unwittingly places women at a disadvantage
- What could have helped instead is a combination of maternity and paternity leave, on a ‘use it or it lapses’ basis
The way forward
- Involving women in the decisionmaking process and in leadership roles, rather than providing benefits passively, can have far-reaching benefits
- Behavioral design, when complemented by a judicious mix of legislation and incentives, can go a long way in resetting norms sooner
Category: ENVIRONMENT AND ECOLOGY
1. The wrong approach to environmental regulation
Context:
Recent SC order banning the sale of firecrackers in Delhi and the National Capital Region (NCR), which has expectedly turned into a controversy
Two Issues:
The scope of the state’s regulatory power vis-à-vis a religious celebration: On this account, the matter is relatively clear
- The bursting of firecrackers releases a heavy dose of carcinogens in the atmosphere, presenting a public health challenge for the entire city
- As soon as it is clear that bursting of firecrackers by one person presents a health challenge to another, any argument of religion cannot reign supreme in a constitutional, secular republic
The agency of the state that such regulation should vest with
- The more difficult question is the choice between regulation
- The decision requires numerous inputs from scientific organizations, regulatory institutions, public policy experts and civil society
- Since a court of law does not have in-house expertise in these domains, it should leave such matters to the executive
- The Supreme Court delivered its arguments in the broader framework of the “right to breathe clean air” and the “right to health”
- But it went about dismissing the commercial considerations of the firecracker industry.
- These considerations could have equally been framed in terms of the right to livelihoods of thousands who depend heavily on the sale of firecrackers during Diwali
Creditability of SC:
Bans are rarely effective
- It is difficult to imagine that no firecracker sale will happen in the entire territory of Delhi and NCR as a result of the SC order
- If the police fail to enforce the order, the credibility of the SC, particularly in cases of environmental regulation, will suffer immensely
Dealing of this matter by the SC
- The manner in which the SC has dealt with this particular case also raises a number of concerns
- It first passed an order on 11 November 2016 (after Diwali) banning the sale of firecrackers
- Then it partially lifted the ban on 12 September 2017
- To make matters worse, the court has ordered suspension of all the temporary licences issued after its 12 September 2017 verdict which allowed the grant of these licences
Not a new issue: In an earlier instance, the SC had increased the entry tax on trucks entering Delhi without factoring in the demand elasticity of goods (carried in those trucks) transported to Delhi
The way forward
- The elected government is in the best position to elicit scientific and economic inputs and take a call, even if it involves expending political capital
- The governments at the Centre and the states should involve different agencies like the Petroleum and Explosives Safety Organisation and the pollution control boards and invest in setting regulatory standards
- This can solve environment issues, better than Judiciary
1. India to build more roads on China border
In news:
- The Ministry of Defence has decided to significantly enhance infrastructure along the Sino-Indian border including near Doklam, where the militaries of both sides were engaged in a two-month standoff.
- The decision was taken at the Army’s commanders conference from October 9 to 15 which extensively deliberated on the recent face-off with China, besides analysing all possible security challenges on the northern border, according to official sources.
- Four passes Niti, Lipulekh, Thangla1 and Tsangchokla have been decided to be connected by 2020 on priority.
Nothing here for Today!!!
| Nothing here for Today!!! |
F. Practice Questions for UPSC Prelims Exam
Question 1. The Government of India has recently announced the sale of “Government of
India Floating Rate Bonds 2024". With reference to government securities, consider the
following:
- Floating Rate Bonds are sold by the Reserve Bank of India.
- RBI issues Cash Management Bills (CMBs) to meet long-term borrowing needs of the Government of India.
- Treasury bills are short term debt instruments issued by the Government of India.
Select the correct answer using the codes below.
- 1 and 2 only
- 1 and 3 only
- 2 only
- 2 and 3 only
See
Question 2. The year of 2017 marks 25 years of dialogue partnership between India and
ASEAN and 15 years of summit-level interaction. With reference to India-ASEAN relations,
consider the following:
- India’s relationship with ASEAN is a key pillar of our Act East Policy.
- AIFTA is a free trade area among the member states of the ASEAN and India.
- India and ASEAN are yet to upgrade their relationship to a ‘strategic partnership’.
Select the correct answer using the codes below.
- 2 only
- 1and3only
- 1 and 2 only
- 3 only
See
Question 3. Universal suffrage (voting rights to all eligthle) was granted to women all
over India in
- 1950 once Indian republic was formed
- Morley-Minto Act
- Government of India Act, 1935
- 1939 General elections
Question 4. With reference to the National Disaster Response Force (NDRF), consider
the following statements:
- President of India serves as the Director General (DG) of NDRF.
- NDRF was established under the Disaster Management Act, 2005.
- It is housed directly under the Prime Minister’s Office and functions from there.
Select the correct answer using the codes below.
- 2 only
- l and 3 only
- 1 only
- 2 and 3 only
Question 5. Which of these is/are mandatory qualification(s) to contest for the office of
Vice-President of India?
- She must be a citizen of India or a person of Indian Origin (PlO) residing in India since last ten years.
- She must have completed 35 years or age.
- She must not hold an office for profit.
- She must have served as a Member of Parliament (MP) or a member of Legislative Assembly in India.
Select the correct answer using the codes below.
- 2 and 3 only
- 2, 3 and 4 only
- 1 and 4 only
- 3 only
G. UPSC Mains Practice Questions
GS Paper III
- What do you know by Internet –of –things? Discuss its various applications in everyday life?
GS Paper IV
- One of the scientists working in the R & D laboratory of a major pharmaceutical company discovers
that one of the company’s bestselling veterinary drugs, B has the potential to cure a currently
incurable liver disease that is prevalent in tribal areas. However, developing a variant of the drug
suitable for human beings entailed a lot of research and development having a huge expenditure to the
extent of 50 crores rupees. It was unlikely that the company would recover the costs as the disease was
rampant only in poverty-stricken area having very little market otherwise.
If you were the CEO, then—
(a) Identify the various actions that you could take;
(b) Evaluate the pros and cons of each of your actions.
Also, check previous Daily News Analysis
“Proper Current Affairs preparation is the key to success in the UPSC- Civil Services Examination. We have now launched a comprehensive ‘Current Affairs Webinar’. Limited seats available. Click here to Know More.”
Enroll for India’s Largest All-India Test Series


This section provides guidelines regarding the use of the SOCIETIES Context Management facilities by third party context-aware services. The Context Management (CM) component block acts as an intermediate layer between context-aware services and the sources of context information.
Add the following dependencies to your pom.xml file:
And the following configuration on your bundle-context-osgi.xml


An open hashing table has an array size of NUM. What is the maximum number of records that can be stored in the table?
In open hashing, where are the records stored?
They are stored in linked lists outside the table.


{% load blog_tags %}
This is my blog. I've written {% total_posts %} posts so far.
Subscribe to my RSS feed
Search matches


Wall Street extends fall after report trade deal may not be completed this year
by Reuters(Reuters) - U.S. stocks moved sharply lower on Wednesday after Reuters reported that completion of a "phase one" U.S.-China trade deal could slide into next year, citing trade experts and people close to the White House.
At 1:00 p.m. ET, the Dow Jones Industrial Average (DJI) was down 187.73 points, or 0.67%, at 27,746.29, the S&P 500 (SPX) was down 18.66 points, or 0.60%, at 3,101.52. The Nasdaq Composite (IXIC) was down 57.88 points, or 0.68%, at 8,512.78.


18_LarryNY.py
class Solution:
def maxProbability(self, n: int, edges: List[List[int]], succProb: List[float], start: int, end: int) -> float:
graph = collections.defaultdict(list)
heap = []
for (u, v), w in zip(edges, succProb):
graph[u].append((v, w))
graph[v].append((u, w))
distance = [0.0] * n
heapq.heappush(heap, (-1.0, start))
distance[start] = 1.0
while len(heap) > 0:
p, node = heapq.heappop(heap)
p = -p
if node == end:
return p
if distance[node] > p:
continue
for v, w in graph[node]:
if distance[v] < p * w:
distance[v] = p * w
heapq.heappush(heap, (-(p*w), v))
return 0