Last updated: June 9th, 2014
The tool is just quick proof of concept but it might be useful when one doesn't have the time and resources to add integrated bruteforce detection to a possibly very complex web application stack. It's easy to filter for, say, very CPU-intensive URL's and set specific tresholds for those URL's. Two examples of usage of the tool are provided below; one in which a webserver is protected and another example in which TCP SYN scans are detected.
Since the tool does not keep track of which IP's were banned nor
when, it cannot unban those IP's either. To get this functionality one
can simply use fail2ban. After installing fail2ban open up /etc/fail2ban/jail.conf
and add the following lines:
[brutedet] enabled = true filter = brutedet logpath = /var/log/brutedet.log action = iptables-allports maxretry = 1
Then create /etc/fail2ban/filter.d/brutedet.conf
with the following content:
[Definition] failregex = <HOST>
Create the file /var/log/brutedet.log
and make sure it's readable by the credentials fail2ban runs under.
Reload the fail2ban rules by running fail2ban-client reload
and make sure there are no errors being displayed.
Now we are ready to start parsing HTTP log files and feed the data into the tool. First we disable any buffering and we run
a tail -f
on the logfile of our webserver such as this:
$ stdbuf -i0 -o0 -e0 tail -f /var/log/fnord/current @40000000538e48a02e25609c x.x.x.x 200 3453 santarago.org:80 Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0 none /brutedet.html @40000000538e48a13b676b9c x.x.x.x 304 0 santarago.org:80 Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0 none /brutedet.html @40000000538e48af23f7c95c x.x.x.x 200 3467 santarago.org:80 Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0 none /brutedet.html @40000000538e48e11a24871c x.x.x.x 200 3585 santarago.org:80 Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0 none /brutedet.html
To extract the IP addresses and, for example, the user-agent data we pipe the preceding output through awk
akin to:
$ stdbuf -i0 -o0 -e0 tail -f /var/log/fnord/current | \ awk -W interactive '{print $2 " " $6}' x.x.x.x Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0 x.x.x.x Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0 x.x.x.x Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0 x.x.x.x Mozilla/5.0_(Windows_NT_6.1;_WOW64;_rv:29.0)_Gecko/20100101_Firefox/29.0
The preceding data should now be piped into the tool. Let's settle
for allowing a maximum of 5 requests from a specific IP every 10
seconds, a maximum of 10 requests every minute and a maximum of 20
requests every ten minutess. This means we run the tool with ./brutedet 5 10 20 <cmd>
.
For the command which will be executed we need to output the IP address
and the date as this is a fail2ban requirement. We specify the command
as a long string. Before execution every occurence of the word KEY
is replaced with the actual IP address. In the aforementioned fail2ban
configuration we set up fail2ban such that it would read its input for
the bruteforce detection jail from the file /var/log/brutedet.log
. This means that the command needs to write out the IP and the date to that specific file. This results in a command like (printf 'KEY ' && date) >> /var/log/brutedet.log
. The entire resulting command will then become the following:
$ stdbuf -i0 -o0 -e0 tail -f /var/log/fnord/current | \ awk -W interactive '{print $2 " " $6}' | \ ./brutedet 5 10 20 "(printf 'KEY ' && date) >> /var/log/brutedet.log"
With the preceding command running we can now fire up a browser and
request a url more than 5 times in 10 seconds. If everything went
according to plan an entry will be written to /var/log/brutedet.log
. This entry will be picked up by fail2ban which will automatically add a firewall rule using iptables and write a log entry to /var/log/fail2ban.log
. After some time this IP will automatically become unbanned as per the fail2ban configuration:
2014-06-03 23:28:24,377 fail2ban.actions: WARNING [brutedet] Ban x.x.x.x 2014-06-03 23:38:24,797 fail2ban.actions: WARNING [brutedet] Unban x.x.x.xIf you want you can also have more advanced filters by inserting for example a
grep
command with the appropriate filters in the command. Say that one has a
webservice that has an API call which always takes 30 seconds to
complete because it's very CPU/resource intensive. By filtering out
these requests and only piping these through to the tool one has the
ability to quickly do bruteforce detecting for these URL's without
having to introduce this throttling functionality in the web application
stack itself.
You can also use the tool to automatically detect SYN floods. By using someting like tshark one can filter out SYN packets quite easily and apply limits to how often a SYN packet will be accepted from a specific IP before the source IP will be blocked by fail2ban.
tshark -i eth0 -l -R "tcp.flags==0x02" "tcp" | \ awk -W interactive '{print $2 " " $2}' | \ ./brutedet 5 10 20 "(printf 'KEY ' && date) >> /var/log/brutedet.log"
tar zxvf brutedet.tgz && cd brutedet && make && ./brutedet
not enough (or too many) arguments supplied ./brutedet [options] <t1> <t2> <t3> "echo added KEY" Parameters t1, t2, t3 are the integer tresholds for the 10 second-, 1 minute-, 10 minute-bucket respectively. The last argument is the command to execute once a treshold is passed. The word KEY will be replaced with the key in the bloomfilter. This will most likely be an IP address. Options: -c <capacity> bloom filter capacity (default: 100000) -e <error rate> allowed error rate(default: 0.010) -h help (this screen) The following example echo's a warning to a logfile and it will accept a maximum of 5 requests every 10 seconds, a maximum of 20 requests every minute and a maximum of 40 requests every 10 minutes. ./brutedet 5 20 40 "echo treshold reached for KEY >> /tmp/logfile.txt"


Quizzes
- Quizzes will be given at the beginning of class and you will have 10 minutes to answer the questions.
- All of the quizzes will be short (up to 5 questions), and easy... as long as you have done the reading.
- I expect to give eight quizzes over the quarter.
Reports
During the quarter, I will ask you to turn in three reports on the reading material. Reports are either a 1-2 page opinion essays on the reading material for the lectureor a 0.5 - 1 page summary, and the report due dates are marked on the lectures page.- Analysis: If I ask you to turn in an analysis, I am asking for your own opinion about the text. You may decide to take one point that you either strongly agree with, or strongly disagree with, and discuss it. You may decide to give an opiniated overview of the whole text. It is your choice. However, I want you to be specific: no generalities, no unsupported opinions. Make sure to credit any ideas that is not yours. An analysis should be 1 to 2 pages long.
- Summary: If I ask you to turn in a summary, I am expected an unbiased account of what the paper says. Do not indicate whether you agree of disagree with what the authors say. Make sure to write in prose: bullet points for example are not OK. A summary should be 0.5 to 1 page long.


Home
Trees
Indices
Help
ansible
[
hide private
]
[
frames
] |
no frames
]
Identifier Index
[
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
_
]
E
e
(in
ansible.plugins.lookup.consul_kv
)
eq()
(in
Conditional
)
execute_command()
(in
Service
)
Eapi
(in
ansible.module_utils.eos
)
error
(in ansible.compat.six.moves.urllib)
execute_create()
(in
VaultCLI
)
EAPI_FORMATS
(in
ansible.module_utils.eos
)
error()
(in
Display
)
execute_decrypt()
(in
VaultCLI
)
ec2
(in
ansible.module_utils
)
errors
(in
ansible
)
execute_delete()
(in
GalaxyCLI
)
ec2
(in
ansible.utils.module_docs_fragments
)
etcd
(in
ansible.plugins.lookup
)
execute_edit()
(in
VaultCLI
)
ec2_argument_spec()
(in
ansible.module_utils.ec2
)
Etcd
(in
ansible.plugins.lookup.etcd
)
execute_encrypt()
(in
VaultCLI
)
ec2_connect()
(in
ansible.module_utils.ec2
)
evaluate()
(in
Debugger
)
execute_import()
(in
GalaxyCLI
)
edit_file()
(in
VaultEditor
)
evaluate_conditional()
(in
Block
)
execute_info()
(in
GalaxyCLI
)
email_mime_base()
(in
_MovedItems
)
evaluate_conditional()
(in
Conditional
)
execute_init()
(in
GalaxyCLI
)
email_mime_multipart()
(in
_MovedItems
)
evaluate_conditional()
(in
Task
)
execute_install()
(in
GalaxyCLI
)
email_mime_text()
(in
_MovedItems
)
evaluate_tags()
(in
Taggable
)
execute_list()
(in
GalaxyCLI
)
EMAIL_REGEX
(in
ansible.module_utils.docker_common
)
exc
(in
ansible.module_utils.azure_rm_common
)
execute_login()
(in
GalaxyCLI
)
emit()
(in
CallbackModule
)
exec_()
(in
ansible.compat.six
)
execute_rekey()
(in
VaultCLI
)
emit_formatted()
(in
CallbackModule
)
exec_()
(in
ansible.module_utils.six
)
execute_remove()
(in
GalaxyCLI
)
emptyline()
(in
ConsoleCLI
)
exec_command()
(in
ConnectionBase
)
execute_search()
(in
GalaxyCLI
)
enable()
(in
RegistrationBase
)
exec_command()
(in
Connection
)
execute_setup()
(in
GalaxyCLI
)
enable()
(in
Rhsm
)
exec_command()
(in
Connection
)
execute_view()
(in
VaultCLI
)
enable()
(in
Service
)
exec_command()
(in
Connection
)
executor
(in
ansible
)
encode()
(in
AnsibleJSONUnsafeEncoder
)
exec_command()
(in
Connection
)
exists()
(in
ShellBase
)
ENCODING_STRING
(in
ansible.executor.module_common
)
exec_command()
(in
Connection
)
exists()
(in
ShellModule
)
encrypt
(in
ansible.utils
)
exec_command()
(in
Connection
)
EXIT
(in
NextAction
)
encrypt()
(in
VaultAES
)
exec_command()
(in
Connection
)
exit()
(in
VcaAnsibleModule
)
encrypt()
(in
VaultAES256
)
exec_command()
(in
Connection
)
exit_json()
(in
AnsibleModule
)
encrypt()
(in
VaultLib
)
exec_command()
(in
Connection
)
exit_without_ignore()
(in
GalaxyCLI
)
encrypt_file()
(in
VaultEditor
)
exec_command()
(in
Connection
)
expand_block()
(in
NetworkConfig
)
ensure_connect()
(in
ansible.plugins.connection
)
exec_command()
(in
Connection
)
expand_hostname_range()
(in
ansible.inventory.expand_hosts
)
ensure_tags()
(in
AnsibleCloudStack
)
exec_command()
(in
Connection
)
expand_hosts
(in
ansible.inventory
)
env
(in
ansible.plugins.lookup
)
exec_command()
(in
Connection
)
expand_intf_range()
(in
ansible.module_utils.eos
)
env_fallback()
(in
ansible.module_utils.basic
)
exec_module()
(in
AzureRMModuleBase
)
expand_line()
(in
NetworkConfig
)
env_prefix()
(in
ShellBase
)
EXEC_PERM_BITS
(in
ansible.module_utils.basic
)
expand_paths()
(in
CLI
)
env_prefix()
(in
ShellModule
)
execute()
(in
CLI
)
expand_section()
(in
NetworkConfig
)
env_prefix()
(in
ShellModule
)
execute()
(in
NetworkModule
)
expand_tilde()
(in
CLI
)
env_prefix()
(in
ShellModule
)
execute()
(in
Eapi
)
expand_user()
(in
ShellBase
)
eos
(in
ansible.module_utils
)
execute()
(in
Restconf
)
expand_user()
(in
ShellModule
)
eos
(in
ansible.utils.module_docs_fragments
)
execute()
(in
NetCli
)
extra_vars
(in
VariableManager
)
eos_argument_spec
(in
ansible.module_utils.eos
)
execute()
(in
NetworkModule
)
extract()
(in
ansible.plugins.filter.core
)
eos_template
(in
ansible.plugins.action
)
execute()
(in
NetworkModule
)
extras
(in
ansible.modules
)
EosConfigMixin
(in
ansible.module_utils.eos
)
execute()
(in
Debugger
)
Home
Trees
Indices
Help
ansible
Generated by Epydoc 3.0.1 on Fri Jul 29 13:11:37 2016
http://epydoc.sourceforge.net


South Africa court to rule next week on Zuma's appeal against graft trial
Pietermaritzburg, South Africa: A South African court said on Friday it will rule next week whether to allow former president Jacob Zuma's appeal against his corruption trial related to a 1990s arms deal.
Zuma was forced to step down last year by the ruling African National Congress (ANC) party after a nine-year reign marked by corruption allegations and dwindling popularity.
He is alleged to have taken bribes worth four million rand ($270,000, 240,000 euros) when he was deputy president related to a $3.4 billion arms deal in 1999.
Both Zuma and French defence company Thales, which supplied equipment for navy vessels, deny the charges.
Last month, Zuma's lawyer filed an appeal against the planned October 15 trial, dragging on a case that has seen numerous legal turns over a decade and a half.
On Friday, the court heard arguments from lawyers for both sides. It said it will decide on November 29 on the admissibility of the requested appeal.
Zuma's lawyer Muzi Sikhakhane denounced "political interference" in the case.
The prosecutor's representative, Andrew Breitenbach, asked for Zuma's appeal to be rejected, saying he had not provided a "sound, rational basis" to justify it.
"The matter must stop here and Mr Zuma must have his day in court," he said.
Zuma faces 16 charges of fraud, graft and racketeering related to the purchase of fighter jets, patrol boats and military equipment when he was deputy to the country's second black president, Thabo Mbeki.
President Cyril Ramaphosa, who took over from Zuma, has vowed to tackle deep-seated corruption but faces opposition from senior powerful ANC members, many of whom remain Zuma allies.
 OK, boomer
Tesla Inc.’s much-anticipated Cybertruck concept vehicle received an underwhelming reception from many investors and some of the automotive trade press due to its polarizing design and lack of typical pickup features. They may just be the wrong audience.
Read More
Shattered glass: Futuristic design questioned after Tesla Cybertruck launch
Tesla Inc's launch of its futuristic Cybertruck pickup suffered a setback when its "armored glass" windows shattered, but it was the overall look of the car that worried Wall Street on Friday, and the company's shares fell more than 6%.
Read More
Death threats prompt music exec to appeal for peace in feud with Taylor Swift
Music executive Scooter Braun on Friday said his family had received "numerous death threats" over a feud with singer Taylor Swift, and appealed to her to make peace.
Read More
First-aid workers slam medic arrests at Hong Kong campus
Hong Kong medical workers on Friday expressed outrage over the arrests this week of a number of colleagues at a university campus occupied by pro-democracy protesters, and called on the government to allow them to do their jobs.
Read More
Lebanese protesters pack streets to mark independence day
Tens of thousands of protesters took to the streets in Lebanon on Friday to mark independence day with a fresh wave of demonstrations against a ruling elite accused of rampant corruption and steering the country into deep crisis.
Read More
Bolivia aims for a new vote; without Morales
Bolivia is struggling to stabilize after weeks of anti-government protests and violence in which at least 30 people have been killed. President Evo Morales resigned on Nov. 10 after an election that the opposition said was rigged.


JavaFormatter
Extends:
JavaFormatter is the auto-formatter implementation for Java.
Constructor Summary
| Public Constructor | ||
| public |
constructor(formatUnit: *) Create a new JavaFormatter |
Member Summary
| Private Members | ||
| private |
|
Method Summary
| Public Methods | ||
| public |
Format a string of code. |
|
| public |
formatSnippet(code: *, startRow: *, endRow: *, offset: *): Array A slight variation of format(codeString). |
| Private Methods | ||
| private |
_calculateScopeIndex(string: *, token: *): * Calculate the scope index and make sure it is valid (look at _checkScopeIndex for more info) |
|
| private |
_checkForFunction(line: *): Boolean Checks if a line is a method signature. |
|
| private |
_checkForSpecialStatement(line: *): Boolean Checks if a line contains a special statement. |
|
| private |
_checkScopeIndex(string: *, scopeIndex: *, token: *): * Calculate the scope index and make sure it is valid, that means: 1. |
|
| private |
_expressionIdentifier(codeArray: *, index: *): Boolean Checks if a line identified by an index in an array qualifies as an expression. |
|
| private |
_formatJavadoc(codeArray: *): * Adds a space before Javadoc comments if they are a body or end comment. |
|
| private |
_identifyScope(codeArray: *, index: *, token: *): Number Helper method for _scopeEnterFunc and _scopeExitFunc. |
|
| private |
_scopeEnterFunc(codeArray: *, index: *): Number Checks if a line identified by an index in an array starts a new scope. |
|
| private |
_scopeExitFunc(codeArray: *, index: *): Number Checks if a line identified by an index in an array ends an existing scope. |
Inherited Summary
| From class AFormatter | ||
| public |
|
|
| private |
|
|
| private |
|
|
| private |
|
|
| private |
formatUnit: * |
|
| private |
|
|
| private |
|
|
| private |
|
|
| private |
|
|
| private |
|
|
| private |
|
|
| private |
|
|
| private |
|
|
| public |
format(code: *, expressionIdentifier: *, scopeEnterFunc: *, scopeExitFunc: *, formatCommentsFunc: *): Array Format a string of code. |
|
| public |
formatSnippet(code: *, startRow: *, endRow: *, offset: *, expressionIdentifier: *, scopeEnterFunc: *, scopeExitFunc: *, formatCommentsFunc: *, identifyMethodSigFunc: *, identifySpecialStatement: *, bodyCommentToken: *, simpleCommentToken: *): Array A slight variation of format(codeString). |
|
| private |
_fillBucketRange(array: *, start: *, end: *) Adds indentations to the array from the start to the end index, inclusive. |
|
| private |
_formatPrefix(scopeTree: *, array: *, oldStart: *): Array Format the prefix of a snippet. |
|
| private |
_formatSuffix(codeArray: *, oldEnd: *): Array Format the suffix of a snippet. |
|
| private |
_handleOpenComments(codeArray: *, startLine: *): Array If an open comment is met, take all lines necessary to close it from the original file and append them to the snippet. |
|
| private |
_preFormatArray(array: *, node: *) Pre-formats an empty array by adding the indentations (the specified format unit). |
|
| private |
_preFormatSnippet(snippet: *, selection: *): Array Performs the following preliminary tasks:
|
|
| private |
_removeExtraMethodSigAbove(codeArray: *): Array Remove method signatures in the prefix that do not belong to the selection. |
|
| private |
_removeExtraMethodSigBelow(codeArray: *): Array Remove method signatures in the suffix that do not belong to the selection. |
|
| private |
_splitSelection(codeArray: *, selection: *): Array Splits the code array into three parts: prefix, selection, suffix. |
|
| private |
_trimBeginning(codeArray: *): Array Removes empty lines at beginning of snippet. |
|
| private |
Removes empty lines at end of snippet. |
Public Constructors
public constructor(formatUnit: *) source
Create a new JavaFormatter
Override:
AFormatter#constructorParams:
| Name | Type | Attribute | Description |
| formatUnit | * | The token to be used for line indentations. |
Private Members
private methodSigRegex: * source
Public Methods
public format(codeString: *): Array source
Format a string of code. The string will be cut into lines and lines will be indented accordingly to their scope.
Override:
AFormatter#formatParams:
| Name | Type | Attribute | Description |
| codeString | * | The string of code to format. |
public formatSnippet(code: *, startRow: *, endRow: *, offset: *): Array source
A slight variation of format(codeString). Useful if you want to display a code snippet around a selection of lines.
In addition to indenting lines, formatSnippet takes a selection as a start and end row in a large slab of code and cuts out a snippet of code around this selection. The start and end of the snippet is based on an offset that is provided as a parameter. The offset with the start and end of the selection create a sort of range from which the snippet is taken.
In the example below, the selection is identified to belong to test2() and thus only test2() is returned. If the method is longer than the offset, than only the part within the offset will be returned. No code is added to the range with the exception of comment lines above the selection, to close unfinished comments.
Override:
AFormatter#formatSnippetParams:
| Name | Type | Attribute | Description |
| code | * | The original code base in which the selection is. |
|
| startRow | * | The start row of the selection in the code base. |
|
| endRow | * | The end row of the selection in the code base. |
|
| offset | * | The offset the defines the range on which to base the snippet. |
Return:
| Array | An array of formatted lines that form the snippet, separated into prefix selection and suffix, as well as the start and end lines of the snippet in the original code base. |
Example:
START:
1. @Test
2. public void test1() {
3. System.out.println("Test 1");
4. }
5.
6. // ------------------
7. // Perform test 2.
8. // ------------------
9. @Test
10. public void test2() {
11. System.out.println("Test 2");
12. }
13.
14. @Test
15. public void test3() {
16. System.out.println("Test 3");
17. }
18. ...
RESULT:
6. // ------------------
7. // Perform test 2.
8. // ------------------
9. @Test
10. public void test2() {
11. System.out.println("Test 1");
12. }
Private Methods
private _calculateScopeIndex(string: *, token: *): * source
Calculate the scope index and make sure it is valid (look at _checkScopeIndex for more info)
Params:
| Name | Type | Attribute | Description |
| string | * | The string that maybe contains the scope enter / exit token. |
|
| token | * | The scope enter / exit token to look for in the string. |
Return:
| * | The position in the line where the scope starts or ends or -1 if this line does neither. |
private _checkForFunction(line: *): Boolean source
Checks if a line is a method signature.
Params:
| Name | Type | Attribute | Description |
| line | * | The line to check for. |
private _checkForSpecialStatement(line: *): Boolean source
Checks if a line contains a special statement.
A special statement is defined in Java by:
- An empty line (e.g. '')
- A line that starts with an annotation (e.g. '@')
- A line that starts with a comment (e.g. '//')
Params:
| Name | Type | Attribute | Description |
| line | * | The line to check for a special statement. |
private _checkScopeIndex(string: *, scopeIndex: *, token: *): * source
Calculate the scope index and make sure it is valid, that means:
It is not inside quotation marks
If any of the above criteria is not met, the piece of code in question is cut off from the string, and we start over with the remaining string.
Params:
| Name | Type | Attribute | Description |
| string | * | The string that maybe contains the scope enter / exit token. |
|
| scopeIndex | * | The current "potential" scope index |
|
| token | * | The scope enter / exit token to look for in the string. |
Return:
| * | The position in the line where the scope starts or ends or -1 if this line does neither. |
private _expressionIdentifier(codeArray: *, index: *): Boolean source
Checks if a line identified by an index in an array qualifies as an expression.
An expression is defined as:
- A line that ends with a termination token (e.g. ';')
- A line that defines a scope start (e.g. '{')
- A line that defines a scope end (e.g. '}')
- A line that starts with a special character (e.g. '@')
- A line that starts with a comment (e.g. '//')
- An empty line (e.g. '')
Params:
| Name | Type | Attribute | Description |
| codeArray | * | An array of lines of code. |
|
| index | * | The index of the relevant line in the code array. |
private _formatJavadoc(codeArray: *): * source
Adds a space before Javadoc comments if they are a body or end comment.
Params:
| Name | Type | Attribute | Description |
| codeArray | * | The already formatted code array. |
Return:
| * | The formatted code array with spaces for Javadoc. |
private _identifyScope(codeArray: *, index: *, token: *): Number source
Helper method for _scopeEnterFunc and _scopeExitFunc.
Params:
| Name | Type | Attribute | Description |
| codeArray | * | An array of lines of code. |
|
| index | * | The index of the relevant line in the code array. |
|
| token | * | The token to find in the line. |
Return:
| Number | The position in the line where the scope starts or ends or null if this line does neither. |
private _scopeEnterFunc(codeArray: *, index: *): Number source
Checks if a line identified by an index in an array starts a new scope. Example: 'if (foo) {'
Params:
| Name | Type | Attribute | Description |
| codeArray | * | An array of lines of code. |
|
| index | * | The index of the relevant line in the code array. |
Return:
| Number | The position in the line where the new scope starts or null if this line does not start a new scope. |
private _scopeExitFunc(codeArray: *, index: *): Number source
Checks if a line identified by an index in an array ends an existing scope. Example: '}'
Params:
| Name | Type | Attribute | Description |
| codeArray | * | An array of lines of code. |
|
| index | * | The index of the relevant line in the code array. |
Return:
| Number | The position in the line where the scope ends or null if this line does not end a scope. |


Credits
Original Notes
Image Source: SCP-914, SCP-008, unsplash
Style Source: SCP Style Resource, tab style modified from Chicago Spirit CSS.
Japanese Version: Translated by BenjaminChong. Click here to view.
Translate Notes
Author: Infas12
Translator: Cynthia7979
Source: SCP-CN-1000
Some descriptions of "SAP"s were taken from original SCPs.
THE FOLLOWING FILE REQUIRES LEVEL 5/CN-1000 CLEARANCE
ANY UNAUTHORIZED ACCESS WILL BE CONSIDERED AS A CONTAINMENT BREACH.
Well, you got here.
.
.

I don't know how long this document can survive.  If you see this, then you have to be an AIC or a reckless inquisitive person.
Fuck, I really don't know if I saw something I'm not supposed to … fuck, I don't know.
… Let's get to the point.
Yesterday midnight at about … 2355 or so. I was monitoring the Tachyon Physics Lab of Site-CN-91, and a small … incident happened. Because of the Tachyon Turbulence, we got a tiny distort at 2355. And during this I got a bunch of files that are … not seeming right. The original recipient was Site-01. The receivers at Site-01 might be anxious that they started reading files almost right after they were received … and what had been decrypted were thus synced to me.
But the source of those files do not seem to be on our timeline. The sender seemed to be … from after 300 years.
You may not realize what this meant … so I will explain. It means three problems.
First of all, we accidentally connected to some server of Site-01 for about 15 seconds. It shows that Site-01 has also built a Tachyon Lab or something else. No matter what it is, they must be dealing with time anomalies. But Site-01 always claimed that they are not equipped with any researching or containing function.
Secondly, receiving files from future may result in chains of paradoxes and unresolvable problems.
If we consider Site-01 concealing its real function as special consideration of their managers, then I really don't know what to say about the following things. This bunch of file includes … fuck, I don't know how to summarize. View it yourselves.
Project #: SAP-001
Class: Junior-Hostile-Observe Influential-Low Threat
Target Transfer Year and Position: 1936, Pittsburgh, Pennsylvania, USA.
Description: SAP-001 is remodeled from a Military Assassin Drone, DFI"HvNT". It's outer shell was revamped into a khaki-colored concrete statue. SAP-001's system is highly specialized as following:
- Three MaNCER neutral monitors were appended to its abdomen in order to allow it to detect visual signals from humans around it.
- A GMR-2 thaumatransport device was appended to the base of its thigh. The device can achieve a complete spell definition, chant and backlash redirection within 0.2 seconds. This thaumaturgy made SAP-001 able to move 200 meters in a time period equivalent to a human blink. The only flaw was that the device may produce wastes, displaying as a combination of feces and blood.
- All weapons were removed and the combat program was rewritten. When no vision were detected, SAP-001 will be transported to the nearest human and attack by snapping the neck at the base of the skull, or by strangulation.
Expected Influence: SAP-001 is to be transferred to a densely populated urban area. About 20 to 30 injuries were expected to be caused by SAP-001 before its properties were summarized correctly. The said properties were going to be spread among local areas while further injuries happen. Government forces are eventually going to get involved and block any related information. SAP-001 will be simply suppressed due to its relatively mild abnormalities. Organization(s) responsible for securing SAP-001 may try to damage or disassemble SAP-001, but apparently, they may not disrupt its defense subsystem.
Comparing to traditional myths, SAP-001's tales are going to go with more details and higher credibility. SAP-001 may become the origin of urban legends or similar subcultures.
…
…
As a note, I'm Noah … out-posted engineer from the Headquarters, currently responsible for monitoring the Tachyon Physics Lab at Site-CN-91.
 ISD will find every line you left in the database and every fingerprint you left on your keyboard, no matter how you hid yourself.
Overall, I worked in many Sites at the Headquarters and have seen many SCPs. I saw the SAP list familiar - SAP-001 for SCP-173, SAP-090 for SCP-008, and SAP-069 for SCP-914. And note that there are two logos on the background of those documents, the Foundation one and the Coalition one.
The guards and polices of the paranormal world.
I lived through two containment breaches in Site-17. In the first one, I lost my computer. In the second one, I lost the whole squad I belonged to.
I worked with them for three years.

Tell me what I can do.
Apologies, we met a problem. A Chinese engineer edited our cover page for the cover page and complained about something … apparently he thought that CN-1000 is really a blank page. ISD is working on this. No, relax, it's only the amnestics.
We made a temporary entrance. Click here to go back to the home page.
Um, just a reminder. If Noah's note made you feel bad, remember to go to the psychologist.


Dimun
Spotlight
Since DIMUN VII, the annual DIMUN Spotlight has been bringing delegates to the stage. DIMUN Spotlight is a special event for DIMUN in which delegates can show off any talent that they might have, whether it be singing, magic tricks or something wholly different. Whatever it may be, DIMUN Spotlight is a time for delegates to take a break from a day full of resolutions and debating to enjoy performances and see just exactly what hidden talents the delegates of their committees have. It is a time for the delegates to show how much more their abilities extend beyond debating and writing, beyond even MUN itself. Delegates will all be encouraged to sign up and fill the evening with exciting performances and shows. Who knows what spectacular performances will there be this year?
1st Place Harmon Kardon Aura Studio Speakers (1899RMB)
2nd Place Bose Soundsports InEar (799RMB)
3rd Place Godiva Chocolate (380RMB)


The latest draft, reference header, and links to past discussions on github:
This proposal adds support for a set of free functions which allow one to efficiently detect and manipulate integral powers of 2.
This proposal was originally a small part of [N3864] but has been broken out.
This proposal is a pure library extension.
It does not require any changes in the core language and
does not depend on any other library extensions.
The proposal is composed entirely of free functions. The
proposed functions are added to the <cmath>
header.
This proposal is being written for C++. None of these functions
are required to be present in <math.h>
.
Consider the function bool ispow2(int x)
.
Here are 2 possible implementations.
//Return true if x is a power of 2
bool ispow2(unsigned int x) {
return (x & (x-1)) == 0;
}
//Returns the number of 1 bits in x, using a single instruction
unsigned int parity(unsigned int x);
//Return true if x is a power of 2
bool ispow2(unsigned int x) {
return parity(x) == 1;
}
As we can see here, if the machine has a parity
instruction in it's instruction set[N3864], then the second implementation
may be more efficient than the first. Core functions like ispow2()
with a wide general use case and
platform specific optimal implementations are a good candidate for standardization.
We will now describe the additions to the <cmath>
header. This is a procedural library implemented
entirely using templated and overloaded free functions.
Each function is constexpr
and noexcept
. Unless otherwise noted, each pre-condition violation results in undefined behavior.
Each pre-condition has
either undefined or implementation defines results and each case is documented below.
std::is_integral<integral>::value == true
template <typename integral>
constexpr bool ispow2(intergal x) noexcept;
template <typename integral>
constexpr integral ceilp2(integral x) noexcept;
template <typename integral>
constexpr integral floorp2(integral x) noexcept;
The result is undefined if any of:
a == 0
a
is not a power of 2x < 0
All of these implementations are trivial, efficient, and portable.
template <typename Integral>
constexpr bool ispow2(Integral x) noexcept {
return x > 0 && (x & (x-1)) == 0;
//return popcount(x) == 1;
}
//Round up to the next power of 2
//Application: Growable containers whose size must be a power of 2
//Application: Extending a 2d image size to a power of 2 for 3d graphics libraries (OpenGL/DirectX)
template <typename Integral>
constexpr14 Integral ceilp2(Integral x) noexcept {
x = x-1;
x |= x << 1;
x |= x << 2;
x |= x << 4;
if(sizeof(x) > 1) {
x |= x << 8;
if(sizeof(x) > 2) {
x |= x << 16;
if(sizeof(x) > 4) {
x |= x << 32;
}
}
}
return x + 1;
}
//Round down to the previous power of 2
//Application: See ceilp2
template <typename Integral>
constexpr14 Integral floorp2(Integral x) noexcept {
x |= shlr(x, 1);
x |= shlr(x, 2);
x |= shlr(x, 4);
if(sizeof(x) > 1) {
x |= shlr(x, 8);
if(sizeof(x) > 2) {
x |= shlr(x, 16);
if(sizeof(x) > 4) {
x |= shlr(x, 32);
}
}
}
return x - shlr(x, 1);
}
NOTE: Implementations should support all extended integral types.
Thank you to everyone who has been credited by N3864 for also helping with this proposal. Special thanks to everyone on the std-proposals forum for their valuable insight and feedback.


@(message: String = "")(implicit request: RequestHeader, context: model.ApplicationContext)
@admin_main("Purge Cache", isAuthed = true) {
Purge Cache
Warnings:
- This tool performs a soft purge of the cached content on www.theguardian.com. This will immediately attempt to refresh the cached content.
- If the backend service that provides the content is not healthy, stale content will continue to be served.
- If you are trying to resolve an issue and have not already done so, please use the Troubleshoot Tool
Usage:
-
Paste the url of the page (content) you want to clear below, including the entire url. Only works on
www.theguardian.com
.
E.g. https://www.theguardian.com/artanddesign/2015/nov/17/12-designs-that-revolutionised-cycling-fold-up-helmets-and-sandwich-bikes
- Click Purge to clear the page from the cache.
@if(!message.isEmpty) { @message
}
}


Before Change
gens8 = bga8.drop_duplicates(
subset=["plant_id_eia", "plant_id_pudl", "generator_id"])
// All generators from the generation table (923)/
gens9 = g9_summed.drop_duplicates(
subset=["plant_id_eia", "plant_id_pudl", "generator_id",
"report_year"])
// See which generators are missing from the bga table
gens = gens9.merge(
gens8, on=["plant_id_eia", "plant_id_pudl", "generator_id"],
After Change
"generator_id", "boiler_id"]]
// All generators from the generation_eia923 table, by year.
gens9 = gen_eia923[["report_date", "plant_id_eia",
"plant_id_pudl", "generator_id"]].drop_duplicates()
// Merge in the boiler associations across all the different years of
// generator - plant associations.
gens = pd.merge(gens9, bga8, how="left",
on=["plant_id_eia", "plant_id_pudl", "generator_id"])
// Set a boolean flag on each record indicating whether the plant-generator
// pairing has a boiler associated with it.
gens["boiler_generator_assn"] = \
np.where(gens.boiler_id.isnull(), False, True)
// Find all the generator records that were ever missing a boiler:
unassociated_generators = gens[~gens["boiler_generator_assn"]]
// Create a list of plants with unassociated generators, by year.
unassociated_plants = unassociated_generators.\
drop_duplicates(subset=[id_col, "report_date"]).\
drop(["generator_id", "boiler_id", "boiler_generator_assn"], axis=1)


lucee.Component logbox.system.core.util.RequestBuffer
A buffer object that lives in the request scope. It switches its implementation depending on the JDK its running on.
| Constructor Summary | |
|---|---|
|
init()
Constructor. |
| Method Summary | |
|---|---|
void
|
append(string str)
Append to the buffer. |
void
|
clear()
Clear the buffer. |
any
|
getBufferObject()
Get the raw buffer object. |
any
|
getString()
Get the string representation of the buffer. |
boolean
|
isBufferInScope()
Checks if the buffer has been created or not. |
numeric
|
length()
Returns the length (character count). |
| Methods inherited from class lucee.Component |
|---|
| None |
| Constructor Detail |
|---|
Constructor
| Method Detail |
|---|
Append to the buffer.
str
- The string to appendClear the buffer
Get the raw buffer object
Get the string representation of the buffer
Checks if the buffer has been created or not
Returns the length (character count)


Carnatic Music Notation Typesetter - Examples
Here are some examples of the usages of the Carnatic Music Typesetter Application:
Alankaram Examples:
Varnam Examples:
- ninnukOri - the mohanam varnam
- viribOni - a short exerpt of the grand bhairavi aTa tala varnam - illustrates the layout for Ata Talam. Note that like here long talas may be better
served by the Landscape orientation
Krithi Examples
- Adi Tala Example: dEvi nIyE tuNai - an excerpt from notations for Papanasam's Sivan's Kiravani Krithi in Adi Tala. Note that specific fonts are used for notations as well as headings
- Khanda Capu Example: nIvADanE gAna - an excerpt from notations for Tyagaraja's Saranga Krithi in Khanda Chapu.
- Misra Capu Example: ninnE nammi nAnu - an excerpt from notations for Syama Sastri's Todi Krithi in Misra Chapu.
- Sangita Sampradaya Pradarshini Example: SrI varalakshmi -
an excerpt of the Dikshitar krithi in Sriraga, with an attempt to capture the gamaka notations in SSP.
The source for this example is the english translation of SSP available on the net. Note that many
of the gamaka notations in SSP are more applicable for veena. Also, instead of using built-in
gamaka symbols, we have used appropriate english letters that resemble the SSP notations. In the
future, better support for SSP gamaka notations may be added.
- Triputa Tala Example: SrI kamaAmbikAyAm - an excerpt from
the Dikshitar krithi in Sahana (Notations based on SSP)
gamaka notations of SSP
- Chatusra Dhruva Tala Example: sUryamUrtE - an excerpt from
the Dikshitar krithi in Dhruva tala (Notations based on english translation of SSP)
- Chatusra Matya Tala Example: candram bhaja - an excerpt from
the Dikshitar krithi in Matya tala (Notations based on english translation of SSP)
- MiSra Jhampa Tala Example: budham ASrayAmi - an excerpt from
the nATakurinji Dikshitar krithi in this tala (Notations based on Sri Keerthanamalai of Rangaramanuja Iyengar)
- khaNDa tripuTa Tala Example: guruguha svAmini - an excerpt from
the bAnumati Dikshitar krithi in this tala (Notations based on Sri Keerthanamalai of Rangaramanuja Iyengar
Examples of notations rendered in other Languages
Please note that you must have the necessary Indic language fonts installed on your computer - otherwise your
browser will not render these correctly.
- Tamil Example: ninnE nammi nAnu - This is the same as the above
miSra cApu example, but with some slight adjustments so that it reads properly in tamil. Please note the
following in the input text:
- The explict use of n2 or n^ to force the right tamizh "na". Note that n^ cannot be used
in headings as they may be interpreted as superscript specifiers. It is actually safer
to always use n2 instead of n^ in the typesetter
- Also spelling of some words (like Syama Sastri) reflect how they are usually written in tamizh.
- nIvADanE gAna in various languages: Here, the same notation is rendered in various languages - the
content is the same for Telugu, Kannada, and Sanskrit except for the language specifier. For tamil,
some additional adjustments were made.


Megan Steblay
Web Developer.
Currently a student with the University of Minnesota's Full Stack Coding Boot Camp.
An interactive text-based game.
An application to check the weather and forecast.
A quiz testing your knowledge of JavaScript fundamentals.
<EMAIL_ADDRESS>GitHub
LinkedIn


When you cast this spell, you inscribe a glyph that harms other creatures, either upon a surface (such as a table or a section of floor or wall) or within an object that can be closed (such as a book, a scroll, or a treasure chest) to conceal the glyph. If you choose a surface, the glyph can cover an area of the surface no larger than 10 feet in diameter. If you choose an object, that object must remain in its place; if the object is moved more than 10 feet from where you cast this spell, the glyph is broken, and the spell ends without being triggered.
The glyph is nearly invisible and requires a successful Intelligence (Investigation) check against your spell save DC to be found.
You decide what triggers the glyph when you cast the spell. For glyphs inscribed on a surface, the most typical triggers include touching or standing on the glyph, removing another object covering the glyph, approaching within a certain distance of the glyph, or manipulating the object on which the glyph is inscribed.
For glyphs inscribed within an object, the most common triggers include opening that object, approaching within a certain distance of the object, or seeing or reading the glyph. Once a glyph is triggered, this spell ends.
You can further refine the trigger so the spell activates only under certain circumstances or according to physical characteristics (such as height or weight), creature kind (for example, the ward could be set to affect aberrations or drow), or alignment. You can also set conditions for creatures that don't trigger the glyph, such as those w ho say a certain password.
When you inscribe the glyph, choose explosive runes or a spell glyph.
Explosive Runes. When triggered, the glyph erupts with magical energy in a 20-foot-radius sphere centered on the glyph. The sphere spreads around corners. Each creature in the area must make a Dexterity saving throw. A creature takes 5d8 acid, cold, fire, lightning, or thunder damage on a failed saving throw (your choice when you create the glyph), or half as much damage on a successful one.
Spell Glyph. You can store a prepared spell of 3rd level or lower in the glyph by casting it as part of creating the glyph. The spell must target a single creature or an area. The spell being stored has no immediate effect when cast in this way. When the glyph is triggered, the stored spell is cast. If the spell has a target, it targets the creature that triggered the glyph.
If the spell affects an area, the area is centered on that creature. If the spell summons hostile creatures or creates harmful objects or traps, they appear as close as possible to the intruder and attack it. If the spell requires concentration, it lasts until the end of its full duration.
At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, the damage of an explosive runes glyph increases by 1d8 for each slot level above 3rd. If you create a spell glyph, you can store any spell of up to the same level as the slot you use for the glyph of warding.


Dance performed on the tips of the toes
An exercise designed to develop graceful movement and disposition of the arms
A movement in which a dancer bends the knees and straightens them again
A movement or composition marked to be played adagio
Involving a beating action of the toe of one foot against the ankle of the supporting leg
One leg is brushed outward from the body, which then takes the weight while the second leg is brushed in to meet it
A springing jump made from one foot to the other in any direction
Strongly pointed toe of the lifted and extended leg sharply lowers to hit the floor then immediately rebounds upward
Position of the body supported on one leg, with the other leg extended behind the body with the knee straight
A female ballet dancer
特别声明：此案例代码来自于http://tympanus.net/codrops/2011/12/26/css3-lightbox/


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @this( layout: templates.Layout, govukButton: GovukButton ) @(businessName: String, vrn: String, period: Period, submissionStatus: SubmissionStatus)(implicit request: Request[_], messages: Messages) @layout( pageTitle = titleNoForm(messages("index.title")), showBackLink = false ) {
@messages("index.yourReturns.nothingDue")
} case SubmissionStatus.Due => {@messages("index.yourReturns.returnDue")
@messages("index.yourReturns.startReturn")
} case SubmissionStatus.Overdue => {@messages("index.yourReturns.returnOverdue")
} }


| Time | Session Title | Speaker |
|---|---|---|
| Arrival | Free On-Site Luggage Storage | Provided by EMC {code} |
| 1:00 PM | Growing and Running an At-scale Social Platform | Shwetabh Mittal, Strategy & Operations at Linkedin |
| 1:30 PM | It's complicated: The User/Admin/Developer/Platform Relationship in the Dropbox API | Steve Marx, Product Manager, Developer Programs at Dropbox |
| 2:00 PM | DevOps: Next | Nicole Forsgren, PhD, Director Organizational Performance and Analytics at Chef |
| 2:30 PM | Docker 101 | Jonas Rosland, Sr. Developer Advocate with EMC Code |
| 3:00 PM | The Post-Cloud: Where Google, DevOps and Docker Converge | Nick Weaver, Director, Intel SDI Labs |
| 3:30 PM | Competing with Software: It Takes a Platform | Cornelia Davis, Director of Platform Engineering in the Cloud Foundry team at Pivotal |
| 4:00 PM | Code IT. Why Infrastructure as Code Matters | Carl Caum, Senior Technical Marketing Manager, Puppet Labs |
| 4:30 PM | Managing Automation at Scale | Steve Gonzales, Principal Cloud Software Engineer, EMC |
| 5:00 PM | A Service Assurance Perspective on DevOps | Dave Casper, CTO, Moogsoft |
| 5:30 PM | Cloud Native Apps: Why, What, and How | Kit Colbert, CTO and VP, VMware Cloud Native Apps |
| 6:00 PM - 7:30 PM | Happy Hour - Reception with food and drinks | Sponsored by EMC {code} |
Dr. Nicole Forsgren
Director Organizational Performance and Analytics
Chef
Cornelia Davis
Director of Platform Engineering in the Cloud Foundry team
Pivotal
Steve Marx
Program Manager, Developer Programs
Dropbox
Jonas Rosland
Developer Advocate
EMC {code}
Nick Weaver
Director
Intel SDI
Kit Colbert
CTO and VP
VMware Cloud Native Apps
Dave Casper
CTO
Moogsoft
Steve Gonzales
Principal Cloud Software Engineer
EMC
Carl Caum
Senior Technical Marketing Manager
Puppet Labs
Shwetabh Mittal
Strategy and Operations
LinkedIn
EMC {code} is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, disability, sexual orientation, appearance, race, or religion. We do not tolerate harassment of conference participants. Sexual language and imagery is not appropriate for any conference venue, including talks. Conference participants violating these rules may be sanctioned or expelled from the conference.  Participants asked to stop any harassing behavior are expected to comply immediately. If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a staff member immediately. Conference staff will be identifiable by distinct shirts and sweatshirts. We are available to help participants contact hotel security or local law enforcement and otherwise assist those experiencing harassment to feel safe for the duration of the conference. By registering for DevOps @ EMC World, you are agreeing to adhere to the Code of Conduct. Thank you for helping us keep interactions positive, productive, and professional. We value your attendance. Please reach out to the DevOps @ EMC World organizers<EMAIL_ADDRESS>if you have any questions. Please note, this event will abide by all rules and laws of the hotel and the city of Las Vegas, and no solicitation of outside services of any kinds will be permitted.


Control keys - Up, Down, Left, Right arrors and Enter
Music track: "Triarii – On Wings Of Steel" - just for fun.
Pics by Eva
Code by Ilya, Kirill, Alex


Implementation of the DEMI method for the analysis of high-density microarray data.
| Version: | 1.1.2 |
| Depends: | R (≥ 3.0.0), utils |
| Imports: | R.utils, affxparser, affy, oligo, plyr, methods, devtools |
| Suggests: | ggplot2, reshape |
| Published: | 2015-02-13 |
| Author: | Sten Ilmjarv [aut, cre], Hendrik Luuk [aut] |
| Maintainer: | Sten Ilmjarv <sten.ilmjarv at gmail.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | http://biit.cs.ut.ee/demi |
| NeedsCompilation: | no |
| CRAN checks: | demi results |
| Reference manual: | demi.pdf |
| Vignettes: |
Using demi |
| Package source: | demi_1.1.2.tar.gz |
| Windows binaries: | r-devel: demi_1.1.2.zip, r-release: demi_1.1.2.zip, r-oldrel: demi_1.1.2.zip |
| OS X binaries: | r-release: demi_1.1.2.tgz, r-oldrel: demi_1.1.2.tgz |
| Old sources: | demi archive |
Please use the canonical form https://CRAN.R-project.org/package=demi to link to this page.


AWS::Glue::DevEndpoint
The
AWS::Glue::DevEndpoint
resource specifies a development endpoint where a developer can remotely debug ETL
scripts for AWS Glue. For more information, see
DevEndpoint Structure in the
AWS Glue Developer Guide.
Topics
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Glue::DevEndpoint", "Properties" : { "EndpointName" :
String
, "ExtraJarsS3Path" :String
, "ExtraPythonLibsS3Path" :String
, "NumberOfNodes" :Integer
, "PublicKey" :String
, "RoleArn" :String
, "SecurityGroupIds" : [String
, ... ], "SubnetId" :String
} }
YAML
Type: AWS::Glue::DevEndpoint Properties: EndpointName:
String
ExtraJarsS3Path:String
ExtraPythonLibsS3Path:String
NumberOfNodes:Integer
PublicKey:String
RoleArn:String
SecurityGroupIds: -String
SubnetId:String
Properties
EndpointName
-
The name of the endpoint.
Required: No
Type: String
Update requires: Replacement
ExtraJarsS3Path
-
The path to one or more Java Jars in an Amazon S3 bucket to load in your endpoint.
Note
You can currently use only pure Java/Scala libraries on a DevEndpoint.
Required: No
Type: String
Update requires: No interruption
ExtraPythonLibsS3Path
-
The path to one or more Python libraries in an Amazon S3 bucket to load in your endpoint.
Note
You can currently use only pure Python libraries on a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, aren't supported yet.
Required: No
Type: String
Update requires: No interruption
NumberOfNodes
-
The number of nodes that the endpoint uses.
Required: No
Type: Integer
Update requires: No interruption
PublicKey
-
The public key for the endpoint to use for authentication.
Required: Yes
Type: String
Update requires: No interruption
RoleArn
-
The Amazon Resource Name (ARN) of the IAM role for the endpoint. It must match the AWS ARN string pattern:
arn:aws:iam::\d{12}:role/.*
Required: Yes
Type: String
Update requires: No interruption
SecurityGroupIds
-
A list of UTF-8 strings that specify the security group IDs for the endpoint.
Required: No
Type: List of String values
Update requires: No interruption
SubnetId
-
The subnet ID for the endpoint.
Required: No
Type: String
Update requires: No interruption
See Also
-
DevEndpoint Structure in the AWS Glue Developer Guide


A channel to discuss trading. For useful links and more info click the pinned messages to the right.
100 messages
Before 05-Dec-19 12:00 AM
Lanii30-Jul-19 06:17 PM
looks pretty good even
But thing is
higher TF gets priority
anyways, Im filled long on mex from 9095
Markus30-Jul-19 06:18 PM
good one
Lanii30-Jul-19 06:18 PM
I was chort eth
318.4
but market smashed closed it at 310
lmao
Markus30-Jul-19 06:18 PM
ye i was short eth 308 to 290
Lanii30-Jul-19 06:18 PM
did you learn
anything from that?
Markus30-Jul-19 06:18 PM
be more patient
Lanii30-Jul-19 06:18 PM
yep
never blow your load man
never fully close a position, hard learned lessons
Markus30-Jul-19 06:20 PM
from now on just gonna change the stop loss incase it pumps/dumps so that i secure profits rather then closing too early(edited)
Lanii30-Jul-19 06:21 PM
yeh thats probably better
A smart dude taught me a technique
Where you take 40-50% PT's before breaking range
and then chill with the rest 50-60%
Markus30-Jul-19 06:21 PM
yea thats good
Lanii30-Jul-19 06:22 PM
Considering you always expect a failure to gain a level or lose one
It makes hella sense
Markus30-Jul-19 06:23 PM
one thing that definitely helped me lately was to learn how to spot divergences on macd and rsi
Lanii30-Jul-19 06:23 PM
I dont use indicators but when I first started I did
and divergence was the only thing I'd use it for
However never enter a trade based on oversold or overbought
I seriously think its a meme sold to retail to rek them
same with patterns, H&S lmao
I longed all of them since january
Markus30-Jul-19 06:25 PM
i tried trading oversold/overbought on 15 min chart, it works quite well actually if u also can spot a falling wedge/rising wedge
Lanii30-Jul-19 06:25 PM
mh idk dude
anyways its not rly my business
I tend to shit on indicators
but if it works for you
then keep going
Markus30-Jul-19 06:25 PM
but it was just for testing so i basically just closed out after 10-20% gains with 10x
Lanii30-Jul-19 06:26 PM
How long have you been doing TA?
Markus30-Jul-19 06:26 PM
i started last year in december but i try to learn abit everyday
Lanii30-Jul-19 06:26 PM
nice one
you mean dec of 2018 or 2017?

Markus30-Jul-19 06:28 PM
i have done a few litecoin and eth trades but mostly btc
Lanii30-Jul-19 06:28 PM
okok
Markus30-Jul-19 06:29 PM
altho im looking into maybe try another platform for leveraged trading, not big fan of those system overloads
Lanii30-Jul-19 06:30 PM
yes they are horrible
Markus30-Jul-19 06:30 PM
i have heard ppl saying API trading do not have system overload issues so i might try to make some small program with just limit/market sell and buy nothing else
Lanii30-Jul-19 06:32 PM
yes
Api is way better
I think it eliminates this issue
Not very certain though
Markus30-Jul-19 06:32 PM
might be true
Lanii30-Jul-19 06:33 PM
You could also try Bybit
There are some people shilling it who moved from shitmex
Markus30-Jul-19 06:33 PM
yea alot of ppl talking about it
Lanii30-Jul-19 06:33 PM
They also moved cuz of overload
yeh
Markus30-Jul-19 06:33 PM
and they have a nice statistics page so u can follow ur trading progress nicely
i like that
Lanii30-Jul-19 06:34 PM
O;
damn
thats dope
that actually makes me want to make an account there
Its quite nice feature
Markus30-Jul-19 06:34 PM
ye its very nice actually
only issue i have is idk if u can trust it, its quite new
Lanii30-Jul-19 06:35 PM
yeh
never know with crypto
Markus30-Jul-19 06:35 PM
exactly
Lanii30-Jul-19 06:35 PM
Not like it never happend before
Markus30-Jul-19 06:36 PM
Altho i think bybit might be legit, they recently got added to tradingview also heard they will integrate so u can connect with API through tradingview to bybit so that u can execute trades from tradingview directly
Lanii30-Jul-19 06:41 PM
I think tradingview was talking about doing this 2 years ago
"It is vital we allow innovators room to grow in the United States."
Circle CEO @jerallaire urges @SenateGOP/@SenateBanking to adopt policies that define digital assets as a new asset class https://t.co/Q7X2QjmmNe
Likes
219
Hollowman900030-Jul-19 10:14 PM
lawl
They won’t listen
“We built you a new financial prison! You get your own cell!!”
“..where did all the innovators go?!”
1
1
actionslacks30-Jul-19 10:39 PM
Just build a smart chain that taxes your balance and sends them a cut. you must pay a fee or no freedom for thee.


TABLE OF CONTENTS
A. GS1 Related B. GS2 Related Polity 1. Parents are behind child marriages: SC 2. ‘Medical boards proposed to hear abortion pleas’ 3. Making the Doklam standoff useful for India 4. Plea to re-start tonga race in Nagaur rejected 5. Order on net neutrality in a month 6. Nationwide programme to test all TB patients International Relations 1. An article of faith 2. India thanks Switzerland for support in global fora C. GS3 Related Economics 1. Powering aspirational India 2. GDP growth slips to 5.7% in April-June 3. Fiscal deficit touches 92.4% of budget estimates at July-end 4. Core sector output growth quickens to 2.4% in July 5. ‘Trade-distorting farm subsidies must go 6. Odisha rated as low-growth State 7. Domestic sugar production may increase 18-20% in October-September: ICRA Internal Security 1. Despite big reforms in Army, no clarity on sahayak system Science and Technology 1. 39 successes later, PSLV launch fails D. GS4 Related E. Prelims Fact F. UPSC Prelims Practice Questions G. UPSC Mains Practice Questions
Nothing here for Today!!!
1. Parents are behind child marriages: SC
In news:
Supreme Court observations:
- It was unfortunate to note that parents drive their minor children into marriage
- At least one in three marriages in rural areas involves girl children below the age of 18.
Petition filed by NGO Independent Thought:
- Contention: Petition challenges the Exception 2 to Section 375 (rape) of the Indian Penal Code, which permits “intrusive sexual intercourse with a girl child aged between 15 and 18 only on the ground that she is married.”
- The Exception is part of the Criminal Law (Amendment) Act of 2013 and is contrary to the anti-child sex abuse law, Protection of Children from Sexual Offences Act of 2012 (POCSO).
Key stats: As per the Fourth National Family Health Survey of 2015-16, there are 26.8% of brides in the country who were married below the age of 18.
2. ‘Medical boards proposed to hear abortion pleas’
Context:
- Supreme Court directive: appoint permanent medical boards to provide women, especially rape survivors, urgent access to medical care and to consider their requests for abortion.
In news:
- Government informed Supreme Court : that it has written to States and Union Territories about the court’s suggestion.
Basic Information
What is MTP Act, 1971?
- Abortion in India is legal only up to twenty weeks of pregnancy under specific conditions and situations.
- One, the continuance of the pregnancy would involve a risk to the life of the pregnant woman or of grave injury of physical or mental health, or
- Two, there is a substantial risk that if the child were born, it would suffer from such physical or mental abnormalities as to be seriously handicapped.
What the draft MTP bill 2014 provides?
- The draft MTP increased the legal limit for abortion from 20 weeks to 24 weeks.
- It provides for abortion beyond 24 weeks under defined conditions.
- The Bill amends Section 3 of the 1971 Act to provide that “the length of pregnancy shall not apply” in a decision to abort a foetus diagnosed with “substantial foetal abnormalities” or if it is “alleged by the pregnant woman to have been caused by rape”.
- Under the 1971 Act, even pregnant rape victims cannot abort after 20 weeks, compelling them to move court.
- It allows a woman to take an independent decision in consultation with a registered health-care provider.
- It also takes into account the reality of a massive shortage of both doctors and trained midwives, and seeks to allow Ayurveda, Unani and Siddha practitioners to carry out abortions.
Why is it essential to change the MTP law?
- Foetal abnormalities show up only by 18 weeks, so just a two-week window after that is too small for the would-be parents to take the difficult call on whether to keep their baby.
- Even for the medical practitioner, this window is too small to exhaust all possible options before advising the patient.
- There is an urgent need to empower women with sexual rights, legal protection against sex crimes and sex choices both in their own interest and for the sake of reducing the fertility rate as a whole.
- The lack of legal approval moves abortion to underground and they are done in unhygienic conditions by untrained, thus, putting thousands of women at risk.
3. Making the Doklam standoff useful for India
Context
- After more than two months, the India-China standoff in Doklam, came to an end.
- Chinese accepted to cease the construction of road, which in fact was the trigger behind the scenes. Meanwhile Indian troops retreated as a concession to the decision.
Key Points:
- Chinese escalations along the Sikkim sector that is an advantageous military zone for India could have been costlier.
- The forthcoming Brics summit, which they will be hosting in Xiamen, must have also played a role in Chinese concern.
- India should not believe the Chinese tactical move and get into a conclusion that former would stop its incursions into disputed and other’s territories.
- India brilliantly utilized the denial tactics to prevent China from adjusting the facts on the ground.
- China’s rise is a challenge to India’s supremacy in South Asia.
- Looks like despite being aware of its disadvantages in Chumbi Valley, Chinese played the card to trigger a rift between New Delhi and Thimphu.
- But Thimphu upheld its calm endorsed India’s position by calling for a return to the status quo ante.
- But on the other the relationship of India with its other neighbours is unlike with that of Bhutan. For example, In Pakistan, China has assisted the establishment of a nuclear-armed state which deploys terrorists against Indiato achieve its territorially revisionist goals.
- Chinese presence in the Indian ocean region is also a threat to Indian supremacy.
Way forward
- India should be prepared with its diplomatic and military apparatus to prevent Doklam-type unilateral adventurism again.
- India should also exploit its advantages of geography
- Initiate closer military partnership with the US and Japan.
4. Plea to re-start tonga race in Nagaur rejected
Context:
- Rajasthan High Court: In January 2016, had banned the controversial tonga race.
- The HC had outlawed the race citing cruelty to animals
In news:
- State government filed a petition before the court, seeking the modification of its earlier order.
- The Rajasthan High Court has dismissed the State government’s petition
- Jat leaders opinion : the race is a matter of people’s faith and religious tradition and it does not have any trait of cruelty to animals.
-
Tonga race tradition:
- Every year, on the 9th of Shukla day of Bhadrapada month as per the Hindu calendar, horse-carts run for 36 km on hard concrete or tarred road on the Mundiad-Kharnal-Nagaur route in Nagaur district.
- The race forms part of fairs dedicated to Lord Ganesha and Lord Tejaji, with the tongas running amid the chaos of heavy traffic and with thousands of spectators shouting on the roadside.
5. Order on net neutrality in a month
In news:
- The Telecom Regulatory Authority of India is likely to come out with its recommendations on the long-pending controversial issue of net neutrality in a month’s time.
- The issue has been debated since early 2015 in India.
- What is net neutrality? Net Neutrality is the principle that service providers should treat all data on the Internet equally, and not discriminate or charge differently by user, content, site, platform, or application.
- Demanding that the same rule should apply for the same services, telecom operators have reasoned that operators are required to ensure service quality and pay levies to the government, while no such rules are applicable on Internet-based calling applications such as Whatsapp and Skype.
- After a series of consultation papers on related topics such as over-the-top service providers and differential pricing of data services, TRAI had released a consultation paper on ‘Net neutrality’.
- The regulator had last year barred telecom service providers from charging differential rates for data services, effectively prohibiting Facebook’s Free Basics and Airtel Zero platform.
6. Nationwide programme to test all TB patients
In news:
- Health authorities plan to commence a nationwide programme to test every tuberculosis (TB) patient for signs of resistance to first-line drugs .
- This new plan could reveal a large number of hidden tuberculosis patients, as well greater numbers of those with multiple infections of TB and HIV (human immunodeficiency virus).
- WTO estimates: as many as a million Indians with TB could be outside government scrutiny.
-
Key stat:
- In 2015, nine million Indians were tested for suspected tuberculosis and about 900,000 were confirmed to be ailing from it.
- Nearly 3% of new TB cases and 18% of prevalent cases are believed to be drug resistant.
- The WHO’s TB statistics for India for 2015, gives an estimated incidence figure of 2.2 million cases of TB for India out of a global incidence of 9.6 million.
-
Universal Drug Sensitivity Test
:
- The new policy, called the Universal Drug Sensitivity Test, will be implemented using a molecular diagnostic test called
- GeneXpert is a US-developed technology tool being used worldwide since 2010. It can detect the TB bacterium as well check for resistance to rifampicin, one of the standard key TB drugs, within 90 minutes.
- Conventional tests take at least a day or more and require well-trained personnel for similar results.
-
Why are we unable to eliminate TB?
- Inability to rapidly diagnose multi-drug resistant tuberculosis has long been identified as among the chinks in India’s strategy to eliminate tuberculosis.
- Lack of logistics : There are only around 600 GeneXpert devices now in use — roughly one for each district — and this posed a stumbling block to deploying the WHO-recommended kits earlier.
-
Alternative for GeneXpert:
- GeneXpert kits is very expensive.
- It requires air-conditioned settings and reliable electricity access for optimal output.
- The Indian Council of Medical Research (ICMR) is in the process of testing a cheaper alternative to GeneXpert called Truenat MTB, which is reportedly more portable, battery-operated, and performs as well at lower costs.
Category: INTERNATIONAL RELATIONS
Context:
- Repeal of Article 35A that protects the unique identity of Dogras will test the relationship between J&K and the rest of the country.
Key Points:
- The cultural identity and very existence of Jammu and Kashmir, which was recognized as an example of cultural assimilation and co-existence is at, peril now.
- Article 35A of the Constitution is more relevant for the Duggar region of Jammu than Kashmir and Ladakh for a variety of reasons.
- Repeal of this article will lead to the economic deprivation and erosion of cultural identity of the Dogras.
- The last Dogra ruler of Jammu and Kashmir, Maharaja Hari Singh introduced these laws in 1927 to safeguard the interests of his subjects and to shield them from domination by elite and affluent non-state subjects.
- Those wanting to trample the unique identity of the Duggar land are spreading the rumor that repealing Article 35A will give a boost to development in Jammu.
Why should the scrapping of 35A, therefore, be wrongly linked to the lack of industrial growth in Jammu and Kashmir?
- A misguiding move initiated that Article 35A will lead to the integration of Jammu and Kashmir with the rest of India.
- But Jammu and Kashmir is a part of India and the relationship with the nation was inked on October 26, 1947 through the Instrument of Accession signed by Maharaja Hari Singh, then ruler of Jammu and Kashmir, and Lord Mountbatten, the Viceroy of India, which were incorporated into the Indian Constitution as Article 370.
- But the real fact is that removing Article 35A could lead to a squeeze in opportunities for the Dogra youth.
- Where they will have to compete with youth from other states for jobs,Professional academic courses, recruitment in the security forces and denied scholarships and other financial assistance.
- The marginal and medium-level traders will face increased competition.
- The influx of “non-subjects”, in the absence of the repeal of Article 35A, will put immense pressure on landholdings.
- Thus the fight to protect Article 35 A is the fight to protect Dogra Dugar land.
2. India thanks Switzerland for support in global fora
Context:
Swiss President Doris Leuthard, on a three day visit to India.
In news:
- Prime Minister Narendra Modi sought greater cooperation to ensure bilateral financial transparency.
- Swiss government was thanked by Modi, for its support to India’s membership bid for the Missile Technology Control Regime (MTCR ).
- Joint statement:
- Switzerland has supported India’s continued quest for membership in the Australia Group and the Wassenaar Arrangement .
- Agreements signed: signed two major agreements on railways.
Basic Information
The Australia Group:
- The Australia Group is an informal group of countries (now joined by the European Commission) established in 1985 (after the use of chemical weapons by Iraq in 1984) to help member countries to identify those exports which need to be controlled so as not to contribute to the spread of chemical and biological weapons.
- It now has 42 members, including the European Commission, all 28 member states of the European Union, Ukraine, and Argentina.
- The name comes from Australia’s initiative to create the group. Australia manages the secretariat.
The Wassenaar Arrangement
- The Wassenaar Arrangement on Export Controls for Conventional Arms and Dual-Use Goods and Technologies, commonly known as the Wassenaar Arrangement, is a multilateral export control regime (MECR) with 41 participating states.
- The Wassenaar Arrangement was established to contribute to regional and international security and stability by promoting transparency and greater responsibility in transfers of conventional arms and dual-use goods and technologies, thus preventing destabilizing accumulations. Participating states seek, through their national policies, to ensure that transfers of these items do not contribute to the development or enhancement of military capabilities which undermine these goals, and are not diverted to support such capabilities.
The Missile Technology Control Regime (MTCR ):
- The Missile Technology Control Regime (MTCR ) is a multilateral export control regime. It is an informal and voluntary partnership among 35 countries to prevent the proliferation of missile and unmanned aerial vehicle technology capable of carrying above 500 kg payload for more than 300 km.
- India formally applied for membership to the group in June 2015, with active support from France and the United States, and officially became a member on 27 June 2016 with the consensus of the 34 member nations.
1. Powering aspirational India
Context
More investment required to step up the use of low-carbon energy sources to meet the growing energy needs of the country.
Keypoints:
-
Country’s energy requirements are assessed by two ways:
- Top-down econometric model: This model studies growth in the economy, analyses the affiliation between economic growth and energy requirements, and integrates required technological and policy changes.
- On the other hand, demand centered equipment capacities, competences and usage is assessed through Bottom-up approach.
- International Energy Agency Report (2014) says average global per capita electricity consumption is 3030 kWh and for India it is at 805 units and for industrialized countries of the OECD, it is 8,028 units
- Looking at the growing rate of population it is estimated that India’s populationwould touch6 billion count by the middle of 21 st century Transmission and distribution losses will come down to the lowest technically feasible value of about 7%.
- Electricity generation projected for 2050 is six times the total generation in 2016-17and in terms of per capita generation, it is about 4.5 times.
- Energy conservation and efficiency in utilization can help in decreasing electricity consumption.
- India’s solar and wind energy potential is greater than 750 GW and 302 GW respectively hence it is a brilliant move to maximize the use of low carbon energy sources.
Steps taken by the Government of India
- 10 indigenous pressurised heavy water reactors are being constructed including units 3-6 at Kudankulam.
- nuclear cooperation agreement with Japan
2. GDP growth slips to 5.7% in April-June
In news:
- April- June, 2017: India’s GDP growth rate is 5.7%
- The slowest pace recorded in 13 quarters.
- Gross fixed capital formation : reflects the investments into the country, stood at a four-quarter high of 29.8% of GDP , but was still lower than the 31% clocked in the same quarter of 2016-17.
3. Fiscal deficit touches 92.4% of budget estimates at July-end
In news:
- India’s fiscal deficit at July- end touched 92.4 % of the budget.
- Reason : because of front loading of expenditure by various government departments.
-
Target:
- 2017-18: fiscal deficit to 3.2 % of the GDP.
- 2016-17: Government had met the deficit target of 3.5 % of the GDP.
Basic Information
Fiscal Deficit:
- The difference between total revenue and total expenditure of the government is termed as fiscal deficit. It is an indication of the total borrowings needed by the government.
- A deficit is usually financed through borrowing from either the central bank of the country or raising money from capital markets by issuing different instruments like treasury bills and bonds.
4. Core sector output growth quickens to 2.4% in July
In news:
- Core sector output grew 2.4% year-on-year basis in July, 2017-18.
- Reasons: favorable base effect for steel, cement, fertilizers and electricity.
Basic Information
Base Effect:
- The base effect refers to the impact of the rise in price level (i.e. last year’s inflation) in the previous year over the corresponding rise in price levels in the current year (i.e., current inflation): if the price index had risen at a high rate in the corresponding period of the previous year leading to a high inflation rate, some of the potential rise is already factored in, therefore a similar absolute increase in the Price index in the current year will lead to a relatively lower inflation rates. On the other hand, if the inflation rate was too low in the corresponding period of the previous year, even a relatively smaller rise in the Price Index will arithmetically give a high rate of current inflation.
IIP:
- The Index of Industrial Production (IIP) is an index for India which details out the growth of various sectors in an economy such as mineral mining, electricity and manufacturing.
- The all India IIP is a composite indicator that measures the short-term changes in the volume of production of a basket of industrial products during a given period with respect to that in a chosen base period.
- It is compiled and published monthly by the Central Statistical Organisation (CSO) six weeks after the reference month ends.
- The level of the Index of Industrial Production (IIP) is an abstract number, the magnitude of which represents the status of production in the industrial sector for a given period of time as compared to a reference period of time.
- The base year was at one time fixed at 1993–94 so that year was assigned an index level of 100. The current base year is 2011-2012.[1].
- The Eight Core Industries comprise nearly 40.27% of the weight of items included in the Index of Industrial Production (IIP). These are Electricity , steel, refinery products, crude oil, coal, cement, natural gas and fertilisers.
5. ‘Trade-distorting farm subsidies must go
Context:
- Joint proposal submitted by India and China to the World Trade Organization.
- Upcoming 11th Ministerial Conference (MC) of the WTO to be held in Buenos Aires in December 2017
In news:
What is the proposal?
- Proposal called for the develelimination — by developed countries — of the most trade-distorting form of farm subsidies, as a prerequisite for consideration of other reforms in domestic support negotiations.
- Contention : Developed countries, including the US, the EU and Canada, have been consistently providing trade-distorting subsidies to their farmers at levels much higher than the ceiling applicable to developing countries.
Aggregate Measurement of Support (AMS) and developing countries:
- Aggregate Measurement of Support (AMS) or ‘ Amber Box’ support: The most trade-distorting form of farm subsidies
- Developed countries have more than 90% of global AMS entitlements amounting to nearly $160 billion.
- Most of the developing countries, including India and China, do not have AMS entitlements.
- China and India says: Elimination of AMS should be the starting point of reforms rather than seeking reduction of subsidies by developing countries.
6. Odisha rated as low-growth State
The NITI Aayog’s ‘Ease of Doing Business Report: An Enterprise Survey of Indian States’
- It points at issues in setting up new businesses in Odisha compared to other States
- The 15-high growth States include Bihar, Uttarakhand, Tripura, Sikkim and Meghalaya
- Basis of the report: The NITI Aayog and IDFC Institute, its knowledge partner, have classified States on the basis of their average annual real growth rate
- By using State GDP from 2004-05 to 2013-14
7. Domestic sugar production may increase 18-20% in October-September: ICRA
In news:
- ICRA predication of domestic sugar availability:
- Domestic sugar production is likely to increase by 18-20% to around 24-24.5 million MT in sugar year (SY) 2018.
-
How?
- Recovery in cane availability in Maharashtra and north Karnataka supported by monsoons.
- Expected increase in sugar production in Uttar Pradesh.
-
For the sugar year 2017:
- ICRA estimate: stock to end between 4-4.5 million MT.
- Stock is expected to be sufficient for around two months of domestic consumption despite the possibility of a localised sugar deficit conditio n in the southern and western states during the forthcoming festival season.
-
Analysis:
- Low closing stock levels of sugar in the domestic market are likely to support the sugar prices in the near term.
- UP-based mills are likely to be benefit from healthy sugar prices along with continued healthy volumes and recovery rates, although that impact could be partly offset by higher cane prices.
- Mills in Maharashtra and north Karnataka are expected to be negatively impacted by higher costs and reap benefits of higher production.
Basic Information
ICRA Limited (ICRA)
- ICRA Limited (ICRA) is an Indian independent and professional investment information and credit rating agency.
- It was established in 1991, and was originally named Investment Information and Credit Rating Agency of India Limited (IICRA India).
- It was a joint-venture between Moody’s and various Indian commercial banks and financial services companies. The company changed its name to ICRA Limited, and went public on 13 April 2007, with a listing on the Bombay Stock Exchange and the National Stock Exchange.
1. Despite big reforms in Army, no clarity on sahayak system
In news:
-
Cabinet approved military reforms:
- Enhances the combat capability and rebalances defence expenditure of the Army.
- Increase the teeth-to-tail ratio, by which 57,000 soldiers would be redeployed to operational duties.
- Neglected reformative measure: no immediate end to the sahayak system that is actually holding up thousands of combat soldiers from active duty.
-
Sahayaks:
- There are over 30,000 soldiers employed as sahayaks or orderlies both in peacetime and forward locations.
- There have been recommendations, time and again, to end the practice and replace the sahayaks in peacetime locations with civilians freeing up the soldiers for combat roles.
- Parliamentary Standing Committee on Defence in the year 2010, had asked the Army to emulate the Navy and Air Force and abolish the “demeaning and humiliating” practice, a colonial legacy.
Category: SCIENCE AND TECHNOLOGY
1. 39 successes later, PSLV launch fails
In news:
- Failed attempt: the PSLV-C39 mission carrying the replacement navigation satellite IRNSS-1H failed.
- This was the PSLV’s first failure, after 39 continuously successful launches and only the second such instance since 1993.
- Reason for the failure: spacecraft was stuck in the heat shield in the last and fourth stage; it did not release into space as planned.
-
Impact:
- Dent the image that the PSLV commands in the global small-to-medium launchers market. It has been the most-sought-after vehicle for small satellites of up to 600-700 kg.
Nothing here for Today!!!
|
NATIONAL PARKS/SANCTURIES/BIOSPHERE RESERVES: 1. Great Himalayan National Park Location: located in Kullu region in the state of Himachal Pradesh. Features: Park is at an altitude of between 1500 and 6000 m. The Great Himalayan National Park is a habitat to numerous flora and more than 375 fauna species, including approximately 31 mammals, 181 birds, 3 reptiles, 9 amphibians, 11 annelids, 17 mollusks and 127 insects. In June 2014, the Great Himalayan National Park was added to the UNESCO list of World Heritage Sites
2. Inderkilla National Park Location: Inderkilla National Park IUCN Red List: 1. Forest owlet
IUCN Classification:
Critically endangered
2. Baer’s pochard
IUCN Classification:
Critically endangered
|
F. Practice Questions for UPSC Prelims Exam
G. UPSC Mains Practice Questions
GS Paper I
- Should India as a whole or the diverse states individually fight for preserving its race, language, history, legends and tradition in the multi-religious, multi- lingual and multi-racial canvas?
GS Paper II
- “Traditional bureaucratic structure and culture have hampered the process of socio-economic development in India.” Comment.
- Why does the state of Jammu and Kashmir in general, and Jammu in particular, feel compelled to fight for the rights bestowed by the Indian Constitution, 70 years after Independence?
- What has gone wrong that the peaceful, compassionate and tolerant Dogras, ingrained with secular ethos, feel challenged by the overt and covert attempts to remove Article 35A of the Constitution?
GS Paper III
- Rehabilitation of human settlements is one of the important environmental impacts which always attracts controversy while planning major projects. Discuss the measures suggested for mitigation of this impact while proposing major developmental projects.
GS Paper IV
Topic: CASE STUDY ANALYSIS
Question 1. You are working as Junior Engineer in a Tehsil. You have been given responsibility to measure MGNREGA works undertaken by 3 Gram Panchayats.
You have authority to give technical sanctions to all MGNREGA works. In one of these Panchayats you notice that your predecessor had wrongly measured many works, and in many cases he had approved works that never existed. One day few elected members of that Panchayat with bundle of job cards come to you to seek ‘sanction’ for the works done by them. When enquired, they reveal that they were contractors who had completed works under MGNREGA. When you reject their demand, they threaten you and tell you that the previous Junior Engineer was made to quit his job because he didn’t listen to them. This is your first job and is very important to sustain your family. There have been precedents in the past that some junior officials were beaten to death in some parts of the Tehsil.
What will you do in this situation? Explain in detail citing rules from MGNREGA Act.
Answer
- I would tell contractor that there is provision of social audit for MGNREGA and in future it is most likely that they would get caught in future. Also the provision of DBT and biometric authentication will reveal all their wrong doings.
- Subsequently i will report such incidence to my higher authorities and seek police protection in case my life is at risk. A report of bogus as well as valid JOB card shall be separately prepared by me which shall lie as a proof for all past irregularities.
- My courage and uprightness will deter me from succumbing to their demands. In any case if i comply as directed by contractors, my job would be in peril. Truth can’t be hidden for long and its better to be courageous than to hide facts and face future actions.


--- layout: documentation title: ActionsType ---
The ActionsType is a complex type representing a set of cyber observable actions.
| Field Name | Type | Description |
|---|---|---|
| Action1..n | ActionType |
The Action construct enables description/specification of a single cyber observable action. |


Parliament approves 555,000 grant deal with EBRD to renew rail wagons
by Egypt Today staffCAIRO – 20 November 2019: The Egyptian Parliament approved on Tuesday, November 19th, a €555,000 worth grant agreement with the European Bank for Reconstruction and Development (EBRD) to renew railway carriages.
The approval came after the Parliament reviewed a report by a joint committee regarding Presidential Decree no. 514/2019 on the agreement.
The non-repayable grant was signed between the Ministry of Investment and International Cooperation and the EBRD to pave the way for implementing another €290 million loan agreement with the bank to purchase 100 new locomotives, MENA reported.


{{remainingTime}}
Reset
Toogle settings
Countdown duration:
Make pomodero stoppable
Ask confirmation for reset
Background image:
Quotes
Title:
Quote:
Delete this quote
Add a quote
Set and reset


How do I... Integrate with native code?
At some point you may need to use the bots to drive native code, like C++ for example. This is not for the faint of heart, but it is possible.
Erlang has a few ways of communicating with native code. The most suitable option for the bots is using "ports." You can see a thorough example of using Erlang ports. A simplified example pertaining to the bots is below.
Ports
The idea of a port is to spawn a native process from Elixir/Erlang in a way that can monitor if the process goes down. You can also send binary data to and from the process via stdio. This uses the Elixir Ports standard library.
Here is a sample action for the bots that starts up a port:
@doc """
Launches the provided executable
In this case, the executable is in the standard `priv` directory.
This specifies 2 bytes to prepend to each message to indicate its length.
"""
def open_port(_context, executable_path) do
path = Path.join(:code.priv_dir(:your_apps_name), executable_path)
Port.open({:spawn, path}, [{:packet, 2}])
{:succeed, port: port}
end
Once the port has been opened and the port
is in the context, you can send messages
to it. Here is a helper that enumerates the contract API exposed by the external
library, and does the encoding and sending of the message for you. This example uses
Msgpack to encode the data, but you could encode it in any binary format or a JSON
string. Notice how the integer representation of the action is prepended to the
message.
# "Enum" of the available actions the external code understands (identified as
# integers starting with 0).
# **You need to implement the same enum in the external code!**
@actions [
:create,
:get_post,
:update_post
]
|> Enum.with_index(0)
|> Map.new()
@doc """
Sends a command through the port to the indicated action with the included args.
See @actions for valid action atoms.
Opts can include a `timeout` (defaults to 5000ms).
"""
def call_port(port, action, args, opts \\ []) when is_port(port) and is_atom(action) do
timeout = Keyword.get(opts, :timeout, 5000)
{:ok, data} = Msgpax.pack(args)
action_index =
Map.get(@actions, action) ||
raise "Invalid action: #{inspect(action)}"
Port.command(port, [<<action_index>> | data])
receive do
{^port, {:data, msg}} ->
Msgpax.unpack(msg)
after
timeout ->
{:error, :timeout}
end
end
With this in place, you can make actions for each API you want to call. The actions need to interpret the response:
@doc """
Calls the "create" api with some values.
Note that the actual created state lives in the external library!
"""
def create(%{port: port}, %{name: _, age: _} = args) do
case call_port(port, :create, args) do
# NULL gets sent back, which gets converted to 0
{:ok, 0} ->
:succeed
other ->
Logger.error("Unexpected response, #{inspect(other)}")
:fail
end
end
When you are done, you can close the port with the following action. If the bots crash, the external executable will only close if you respond to the closed stdio channel correctly.
def close_port(%{port: port}) do
Port.close(port)
receive do
{:EXIT, ^port, :normal} ->
:succeed
other ->
Logger.error("Failed to close port, #{inspect(other)}")
{:error, other}
after
1000 ->
Logger.error("Timed out trying to close port")
{:error, :timeout}
end
end
The executable side
You will need to add a layer to the executable to receive and handle messages over stdio properly. The details of this depend on the language of your executable. See the Erlang ports link for examples in C.
The summary is to receive messages using the first 2 bytes to determine the length, then to check the next byte to look up the action it corresponds to, then to decode the rest of the message to get any arguments, then to call the correct action appropriately, encode the response, and send it back over stdio.


Layers
WMS Layers
WMS Host
Select a host...
Layer
Add Layer
Extensions
Print
Output file
Browse...
Submit
Extensions
Tour
About
Questions? Contact James Ramm
email
Originally developed at JBA Risk Management Ltd 2016