| Name | Total Lines | Lines of Code | Total Coverage | Code Coverage |
|---|---|---|---|---|
| gems/gems/highline-1.5.1/lib/highline/question.rb | 463 | 190 | 64.58%
|
21.58%
|
Code reported as executed by Ruby looks like this...and this: this line is also marked as covered.Lines considered as run by rcov, but not reported by Ruby, look like this,and this: these lines were inferred by rcov (using simple heuristics).Finally, here's a line marked as not executed.
1 #!/usr/local/bin/ruby -w |
2 |
3 # question.rb |
4 # |
5 # Created by James Edward Gray II on 2005-04-26. |
6 # Copyright 2005 Gray Productions. All rights reserved. |
7 # |
8 # This is Free Software. See LICENSE and COPYING for details. |
9 |
10 require "optparse" |
11 require "date" |
12 require "pathname" |
13 |
14 class HighLine |
15 # |
16 # Question objects contain all the details of a single invocation of |
17 # HighLine.ask(). The object is initialized by the parameters passed to |
18 # HighLine.ask() and then queried to make sure each step of the input |
19 # process is handled according to the users wishes. |
20 # |
21 class Question |
22 # An internal HighLine error. User code does not need to trap this. |
23 class NoAutoCompleteMatch < StandardError |
24 # do nothing, just creating a unique error type |
25 end |
26 |
27 # |
28 # Create an instance of HighLine::Question. Expects a _question_ to ask |
29 # (can be <tt>""</tt>) and an _answer_type_ to convert the answer to. |
30 # The _answer_type_ parameter must be a type recongnized by |
31 # Question.convert(). If given, a block is yeilded the new Question |
32 # object to allow custom initializaion. |
33 # |
34 def initialize( question, answer_type ) |
35 # initialize instance data |
36 @question = question |
37 @answer_type = answer_type |
38 |
39 @character = nil |
40 @limit = nil |
41 @echo = true |
42 @readline = false |
43 @whitespace = :strip |
44 @case = nil |
45 @default = nil |
46 @validate = nil |
47 @above = nil |
48 @below = nil |
49 @in = nil |
50 @confirm = nil |
51 @gather = false |
52 @first_answer = nil |
53 @directory = Pathname.new(File.expand_path(File.dirname($0))) |
54 @glob = "*" |
55 @responses = Hash.new |
56 @overwrite = false |
57 |
58 # allow block to override settings |
59 yield self if block_given? |
60 |
61 # finalize responses based on settings |
62 build_responses |
63 end |
64 |
65 # The ERb template of the question to be asked. |
66 attr_accessor :question |
67 # The type that will be used to convert this answer. |
68 attr_accessor :answer_type |
69 # |
70 # Can be set to +true+ to use HighLine's cross-platform character reader |
71 # instead of fetching an entire line of input. (Note: HighLine's |
72 # character reader *ONLY* supports STDIN on Windows and Unix and may not |
73 # work correctly if STDIN is redirected.) Can also be set to <tt>:getc</tt> |
74 # to use that method on the input stream. |
75 # |
76 # *WARNING*: The _echo_ and _overwrite_ attributes for a question are |
77 # ignored when using the <tt>:getc</tt> method. |
78 # |
79 attr_accessor :character |
80 # |
81 # Allows you to set a character limit for input. |
82 # |
83 # *WARNING*: This option forces a character by character read. |
84 # |
85 attr_accessor :limit |
86 # |
87 # Can be set to +true+ or +false+ to control whether or not input will |
88 # be echoed back to the user. A setting of +true+ will cause echo to |
89 # match input, but any other true value will be treated as to String to |
90 # echo for each character typed. |
91 # |
92 # This requires HighLine's character reader. See the _character_ |
93 # attribute for details. |
94 # |
95 # *Note*: When using HighLine to manage echo on Unix based systems, we |
96 # recommend installing the termios gem. Without it, it's possible to type |
97 # fast enough to have letters still show up (when reading character by |
98 # character only). |
99 # |
100 attr_accessor :echo |
101 # |
102 # Use the Readline library to fetch input. This allows input editing as |
103 # well as keeping a history. In addition, tab will auto-complete |
104 # within an Array of choices or a file listing. |
105 # |
106 # *WARNING*: This option is incompatible with all of HighLine's |
107 # character reading modes and it causes HighLine to ignore the |
108 # specified _input_ stream. |
109 # |
110 attr_accessor :readline |
111 # |
112 # Used to control whitespace processing for the answer to this question. |
113 # See HighLine::Question.remove_whitespace() for acceptable settings. |
114 # |
115 attr_accessor :whitespace |
116 # |
117 # Used to control character case processing for the answer to this question. |
118 # See HighLine::Question.change_case() for acceptable settings. |
119 # |
120 attr_accessor :case |
121 # Used to provide a default answer to this question. |
122 attr_accessor :default |
123 # |
124 # If set to a Regexp, the answer must match (before type conversion). |
125 # Can also be set to a Proc which will be called with the provided |
126 # answer to validate with a +true+ or +false+ return. |
127 # |
128 attr_accessor :validate |
129 # Used to control range checks for answer. |
130 attr_accessor :above, :below |
131 # If set, answer must pass an include?() check on this object. |
132 attr_accessor :in |
133 # |
134 # Asks a yes or no confirmation question, to ensure a user knows what |
135 # they have just agreed to. If set to +true+ the question will be, |
136 # "Are you sure? " Any other true value for this attribute is assumed |
137 # to be the question to ask. When +false+ or +nil+ (the default), |
138 # answers are not confirmed. |
139 # |
140 attr_accessor :confirm |
141 # |
142 # When set, the user will be prompted for multiple answers which will |
143 # be collected into an Array or Hash and returned as the final answer. |
144 # |
145 # You can set _gather_ to an Integer to have an Array of exactly that |
146 # many answers collected, or a String/Regexp to match an end input which |
147 # will not be returned in the Array. |
148 # |
149 # Optionally _gather_ can be set to a Hash. In this case, the question |
150 # will be asked once for each key and the answers will be returned in a |
151 # Hash, mapped by key. The <tt>@key</tt> variable is set before each |
152 # question is evaluated, so you can use it in your question. |
153 # |
154 attr_accessor :gather |
155 # |
156 # When set to a non *nil* value, this will be tried as an answer to the |
157 # question. If this answer passes validations, it will become the result |
158 # without the user ever being prompted. Otherwise this value is discarded, |
159 # and this Question is resolved as a normal call to HighLine.ask(). |
160 # |
161 attr_writer :first_answer |
162 # |
163 # The directory from which a user will be allowed to select files, when |
164 # File or Pathname is specified as an _answer_type_. Initially set to |
165 # <tt>Pathname.new(File.expand_path(File.dirname($0)))</tt>. |
166 # |
167 attr_accessor :directory |
168 # |
169 # The glob pattern used to limit file selection when File or Pathname is |
170 # specified as an _answer_type_. Initially set to <tt>"*"</tt>. |
171 # |
172 attr_accessor :glob |
173 # |
174 # A Hash that stores the various responses used by HighLine to notify |
175 # the user. The currently used responses and their purpose are as |
176 # follows: |
177 # |
178 # <tt>:ambiguous_completion</tt>:: Used to notify the user of an |
179 # ambiguous answer the auto-completion |
180 # system cannot resolve. |
181 # <tt>:ask_on_error</tt>:: This is the question that will be |
182 # redisplayed to the user in the event |
183 # of an error. Can be set to |
184 # <tt>:question</tt> to repeat the |
185 # original question. |
186 # <tt>:invalid_type</tt>:: The error message shown when a type |
187 # conversion fails. |
188 # <tt>:no_completion</tt>:: Used to notify the user that their |
189 # selection does not have a valid |
190 # auto-completion match. |
191 # <tt>:not_in_range</tt>:: Used to notify the user that a |
192 # provided answer did not satisfy |
193 # the range requirement tests. |
194 # <tt>:not_valid</tt>:: The error message shown when |
195 # validation checks fail. |
196 # |
197 attr_reader :responses |
198 # |
199 # When set to +true+ the question is asked, but output does not progress to |
200 # the next line. The Cursor is moved back to the beginning of the question |
201 # line and it is cleared so that all the contents of the line disappear from |
202 # the screen. |
203 # |
204 attr_accessor :overwrite |
205 |
206 # |
207 # Returns the provided _answer_string_ or the default answer for this |
208 # Question if a default was set and the answer is empty. |
209 # |
210 def answer_or_default( answer_string ) |
211 if answer_string.length == 0 and not @default.nil? |
212 @default |
213 else |
214 answer_string |
215 end |
216 end |
217 |
218 # |
219 # Called late in the initialization process to build intelligent |
220 # responses based on the details of this Question object. |
221 # |
222 def build_responses( ) |
223 ### WARNING: This code is quasi-duplicated in ### |
224 ### Menu.update_responses(). Check there too when ### |
225 ### making changes! ### |
226 append_default unless default.nil? |
227 @responses = { :ambiguous_completion => |
228 "Ambiguous choice. " + |
229 "Please choose one of<EMAIL_ADDRESS>|
230 :ask_on_error => |
231 "? ", |
232 :invalid_type => |
233 "You must enter a valid<EMAIL_ADDRESS>|
234 :no_completion => |
235 "You must choose one of " + |
236<EMAIL_ADDRESS>|
237 :not_in_range => |
238 "Your answer isn't within the expected range " + |
239 "(#{expected_range}).", |
240 :not_valid => |
241 "Your answer isn't valid (must match " + |
242 "#{@validate.inspect})." }.merge(@responses) |
243 ### WARNING: This code is quasi-duplicated in ### |
244 ### Menu.update_responses(). Check there too when ### |
245 ### making changes! ### |
246 end |
247 |
248 # |
249 # Returns the provided _answer_string_ after changing character case by |
250 # the rules of this Question. Valid settings for whitespace are: |
251 # |
252 # +nil+:: Do not alter character case. |
253 # (Default.) |
254 # <tt>:up</tt>:: Calls upcase(). |
255 # <tt>:upcase</tt>:: Calls upcase(). |
256 # <tt>:down</tt>:: Calls downcase(). |
257 # <tt>:downcase</tt>:: Calls downcase(). |
258 # <tt>:capitalize</tt>:: Calls capitalize(). |
259 # |
260 # An unrecognized choice (like <tt>:none</tt>) is treated as +nil+. |
261 # |
262 def change_case( answer_string ) |
263 if [:up, :upcase].include?(@case) |
264 answer_string.upcase |
265 elsif [:down, :downcase].include?(@case) |
266 answer_string.downcase |
267 elsif @case == :capitalize |
268 answer_string.capitalize |
269 else |
270 answer_string |
271 end |
272 end |
273 |
274 # |
275 # Transforms the given _answer_string_ into the expected type for this |
276 # Question. Currently supported conversions are: |
277 # |
278 # <tt>[...]</tt>:: Answer must be a member of the passed Array. |
279 # Auto-completion is used to expand partial |
280 # answers. |
281 # <tt>lambda {...}</tt>:: Answer is passed to lambda for conversion. |
282 # Date:: Date.parse() is called with answer. |
283 # DateTime:: DateTime.parse() is called with answer. |
284 # File:: The entered file name is auto-completed in |
285 # terms of _directory_ + _glob_, opened, and |
286 # returned. |
287 # Float:: Answer is converted with Kernel.Float(). |
288 # Integer:: Answer is converted with Kernel.Integer(). |
289 # +nil+:: Answer is left in String format. (Default.) |
290 # Pathname:: Same as File, save that a Pathname object is |
291 # returned. |
292 # String:: Answer is converted with Kernel.String(). |
293 # Regexp:: Answer is fed to Regexp.new(). |
294 # Symbol:: The method to_sym() is called on answer and |
295 # the result returned. |
296 # <i>any other Class</i>:: The answer is passed on to |
297 # <tt>Class.parse()</tt>. |
298 # |
299 # This method throws ArgumentError, if the conversion cannot be |
300 # completed for any reason. |
301 # |
302 def convert( answer_string ) |
303 if @answer_type.nil? |
304 answer_string |
305 elsif [Float, Integer, String].include?(@answer_type) |
306<EMAIL_ADDRESS>answer_string) |
307 elsif @answer_type == Symbol |
308 answer_string.to_sym |
309 elsif @answer_type == Regexp |
310 Regexp.new(answer_string) |
311 elsif @answer_type.is_a?(Array) or [File, Pathname].include?(@answer_type) |
312 # cheating, using OptionParser's Completion module |
313 choices = selection |
314 choices.extend(OptionParser::Completion) |
315 answer = choices.complete(answer_string) |
316 if answer.nil? |
317 raise NoAutoCompleteMatch |
318 end |
319 if @answer_type.is_a?(Array) |
320 answer.last |
321 elsif @answer_type == File |
322<EMAIL_ADDRESS>answer.last)) |
323 else |
324<EMAIL_ADDRESS>answer.last)) |
325 end |
326 elsif [Date, DateTime].include?(@answer_type) or @answer_type.is_a?(Class) |
327 @answer_type.parse(answer_string) |
328 elsif @answer_type.is_a?(Proc) |
329 @answer_type[answer_string] |
330 end |
331 end |
332 |
333 # Returns a english explination of the current range settings. |
334 def expected_range( ) |
335 expected = [ ] |
336 |
337 expected << "above #{@above}" unless @above.nil? |
338 expected << "below #{@below}" unless @below.nil? |
339 expected << "included in<EMAIL_ADDRESS>unless @in.nil? |
340 |
341 case expected.size |
342 when 0 then "" |
343 when 1 then expected.first |
344 when 2 then expected.join(" and ") |
345 else expected[0..-2].join(", ") + ", and #{expected.last}" |
346 end |
347 end |
348 |
349 # Returns _first_answer_, which will be unset following this call. |
350 def first_answer( ) |
351 @first_answer |
352 ensure |
353 @first_answer = nil |
354 end |
355 |
356 # Returns true if _first_answer_ is set. |
357 def first_answer?( ) |
358 not @first_answer.nil? |
359 end |
360 |
361 # |
362 # Returns +true+ if the _answer_object_ is greater than the _above_ |
363 # attribute, less than the _below_ attribute and included?()ed in the |
364 # _in_ attribute. Otherwise, +false+ is returned. Any +nil+ attributes |
365 # are not checked. |
366 # |
367 def in_range?( answer_object ) |
368 (@above.nil? or answer_object > @above) and |
369 (@below.nil? or answer_object < @below) and |
370 (@in.nil? or @in.include?(answer_object)) |
371 end |
372 |
373 # |
374 # Returns the provided _answer_string_ after processing whitespace by |
375 # the rules of this Question. Valid settings for whitespace are: |
376 # |
377 # +nil+:: Do not alter whitespace. |
378 # <tt>:strip</tt>:: Calls strip(). (Default.) |
379 # <tt>:chomp</tt>:: Calls chomp(). |
380 # <tt>:collapse</tt>:: Collapses all whitspace runs to a |
381 # single space. |
382 # <tt>:strip_and_collapse</tt>:: Calls strip(), then collapses all |
383 # whitspace runs to a single space. |
384 # <tt>:chomp_and_collapse</tt>:: Calls chomp(), then collapses all |
385 # whitspace runs to a single space. |
386 # <tt>:remove</tt>:: Removes all whitespace. |
387 # |
388 # An unrecognized choice (like <tt>:none</tt>) is treated as +nil+. |
389 # |
390 # This process is skipped, for single character input. |
391 # |
392 def remove_whitespace( answer_string ) |
393 if @whitespace.nil? |
394 answer_string |
395 elsif [:strip, :chomp].include?(@whitespace) |
396 answer_string.send(@whitespace) |
397 elsif @whitespace == :collapse |
398 answer_string.gsub(/\s+/, " ") |
399 elsif [:strip_and_collapse, :chomp_and_collapse].include?(@whitespace) |
400 result =<EMAIL_ADDRESS>|
401 result.gsub(/\s+/, " ") |
402 elsif @whitespace == :remove |
403 answer_string.gsub(/\s+/, "") |
404 else |
405 answer_string |
406 end |
407 end |
408 |
409 # |
410 # Returns an Array of valid answers to this question. These answers are |
411 # only known when _answer_type_ is set to an Array of choices, File, or |
412 # Pathname. Any other time, this method will return an empty Array. |
413 # |
414 def selection( ) |
415 if @answer_type.is_a?(Array) |
416 @answer_type |
417 elsif [File, Pathname].include?(@answer_type) |
418<EMAIL_ADDRESS>@glob)].map do |file| |
419 File.basename(file) |
420 end |
421 else |
422 [ ] |
423 end |
424 end |
425 |
426 # Stringifies the question to be asked. |
427 def to_str( ) |
428 @question |
429 end |
430 |
431 # |
432 # Returns +true+ if the provided _answer_string_ is accepted by the |
433 # _validate_ attribute or +false+ if it's not. |
434 # |
435 # It's important to realize that an answer is validated after whitespace |
436 # and case handling. |
437 # |
438 def valid_answer?( answer_string ) |
439 @validate.nil? or |
440 (@validate.is_a?(Regexp) and answer_string =~ @validate) or |
441 (@validate.is_a?(Proc) and @validate[answer_string]) |
442 end |
443 |
444 private |
445 |
446 # |
447 # Adds the default choice to the end of question between <tt>|...|</tt>. |
448 # Trailing whitespace is preserved so the function of HighLine.say() is |
449 # not affected. |
450 # |
451 def append_default( ) |
452 if @question =~ /([\t ]+)\Z/ |
453 @question << "|#{@default}|#{$1}" |
454 elsif @question == "" |
455 @question << "|#{@default}| " |
456 elsif @question[-1, 1] == "\n" |
457 @question[-2, 0] = " |#{@default}|" |
458 else |
459 @question << " |#{@default}|" |
460 end |
461 end |
462 end |
463 end |
Generated on Thu Nov 12 16:05:07 +0530 2009 with rcov 0.9.6


A visual style used to highlight the most important actions. To avoid confusing users, don’t use more than one primary button within an email.
A visual style used to highlight the most important actions on a dark background. To avoid confusing users, don’t use more than one white button within an email.
All buttons, by default, are secondary buttons.
s-btn
class with s-btn__primary
, s-btn__white
or s-btn__outlined
applies :hover
progressive enhancements defined in the <style>
tag. Only email clients that support <style>
in <head>
will render the :hover
.


VIENNA
MAY 26th - MAY 29th 2016
Round Table 1 Vienna is committed to promote friendship and
to initiate, develop and foster charity projects in its community.
Registration
Welcome Party
First Taste of Viennese Nightlife
Vienna Tour
Lunch
Home Parties
Viennese Nightlife
AGM (alternative program for spouses)
Banner Lunch
Gala Dinner
Last Call to Viennese Nightlife
Farewell Brunch
Please refer to "EUROPE ONE 2016" for special rates.
MOTEL ONE Website
CONTACT MOTEL ONEBook your flights to the EUROPE ONE 2016 online at www.austrian.com and save 15% on all applicable fares!
To do so, simply enter the following code in the eVoucher field on the Austrian homepage booking engine:
Code: ONE16
Conditions:
• Booking period: now until May 29th, 2016
• Valid for flights to Vienna and return as of May 19th, 2016 until June 5th, 2016 (final date for return flight) on OS operated flights.
Book your flights here!
MEMBER REGISTRATION
| Earliest Bird | First from each table and payment due until 31.07.2015 | €330 |
| Early Bird | Payment due until 31.12.2015 | €360 |
| Regular | Payment after 31.12.2015 | €399 |
| Partner | At any time | €330 |
Members from the following tables are already registered for the Europe One:
Brasov
Dubai
Helsingborg
Helsinki
Copenhagen
Luxembourg
Milan
Malta
Norwich
Paris
Round Table 1 Wien
c/o Hotel Sacher
Philharmonikerstrasse 4
1010 Wien
GENERAL INFORMATION
Jean-Paul Vaugoin
<EMAIL_ADDRESS>BOOKING AND REGISTRATION INFORMATION
Philipp Ruthensteiner
booking@europeone2016.com


{{ message }}
Designated App Sponsor
Name: {{ sponsor_name }} | Netid: {{ sponsor_netid }} | Email: {{ sponsor_email }}
Department: {{ sponsor_dept }} | Unit: {{ sponsor_unit }}
Designated Primary Developer
Name: {{ manager_name }} | Netid: {{ manager_netid }} | Email: {{ manager_email }}
App Details
App Name: {{ app_name }} | Primary Language: {{ app_lang }} Include in: {% for p in app_store %} {{ p }} {% if not forloop.last %},{% endif %} {% endfor %}
App Sponsor Agreement form: {{ status }}


In most RT modelling work, researchers usually want to examine the manifested statistics. Often, these are the average response times (RTs) and accuracy rates. In the following, I used the LNR model LNR (Heathcote & Love, 2012), as an example to illustrate a method to calculate these statistics efficiently. The user wishes to understand and apply LNR model on her / his work can find useful information in the DMC tutorials (Heathcote et al., 2018).
This particular LNR model presumes one stimulus (S) factor, and similar to the LBA model, it has a latent matching (M) factor.
library(data.table); library(ggdmc)
model <- BuildModel(
p.map = list(meanlog = "M", sdlog = "M", t0 = "1", st0 = "1"),
match.map = list(M = list(left = "LEFT", right = "RIGHT")),
factors = list(S = c("left", "right")),
responses = c("LEFT", "RIGHT"),
constants = c(st0 = 0),
type = "lnr")
The arbitrary chosen true parameters generate a reasonable RT distribution, which similar with typical choice RT data, giving approximately 25% errors (I will show you this later).
p.vector <- c(meanlog.true = -1, meanlog.false = 0, sdlog.true = 1,
sdlog.false = 1, t0 = .2)
simulate function takes the first option, model to generate data based on the provided model. ps option expects a true parameter vector that matches the setting in the model object, nsim option expects the number of trial per condition.
dat <- simulate(model, ps = p.vector, nsim = 1024)
d <- data.table(dat)
## S R RT
## 1: left LEFT 0.3821405
## 2: left LEFT 0.7859101
## 3: left LEFT 0.5237262
## 4: left RIGHT 0.3932804
## 5: left LEFT 0.6604592
## ---
## 2044: right RIGHT 0.7342084
## 2045: right RIGHT 1.3628130
## 2046: right RIGHT 0.3343844
## 2047: right RIGHT 0.4913930
## 2048: right RIGHT 0.6119065
- S is the stimulus factor
- R is the response type
- RT stores response time in second
By using data.table function .N, I confirmed that each condition does has 1024 trials.
d[, .N, .(S)]
## S N ## 1: left 1024 ## 2: right 1024
A similar syntax, with S and R factors, I printed out the information regarding the hit, correct rejection, false alarm and miss responses.
d[, .N, .(S, R)]
## S R N ## assuming the left is signal and right is noise ## 1: left LEFT 791 ## hit ## 2: left RIGHT 233 ## miss ## 3: right RIGHT 786 ## correct rejection ## 4: right LEFT 238 ## false alarm
I used a ifelse chain to calculate a C column to indicate correct (TRUE) and error (FALSE) responses. In real world data, there would be some responses missing or participants pressing wrong keys, so the last else is “NA” to catch these situations.
d$C <- ifelse(d$S == "left" & d$R == "LEFT", TRUE,
ifelse(d$S == "right" & d$R == "RIGHT", TRUE,
ifelse(d$S == "left" & d$R == "RIGHT", FALSE,
ifelse(d$S == "right" & d$R == "LEFT", FALSE, NA))))
The data table now looks like below.
## S R RT C
## 1: left LEFT 0.3821405 TRUE
## 2: left LEFT 0.7859101 TRUE
## 3: left LEFT 0.5237262 TRUE
## 4: left RIGHT 0.3932804 FALSE
## 5: left LEFT 0.6604592 TRUE
## ---
## 2044: right RIGHT 0.7342084 TRUE
## 2045: right RIGHT 1.3628130 TRUE
## 2046: right RIGHT 0.3343844 TRUE
## 2047: right RIGHT 0.4913930 TRUE
## 2048: right RIGHT 0.6119065 TRUE
This is one way to calculate average RTs with data.table.
d[, .(MRT = round(mean(RT), 2)), .(C)]
## C MRT
## 1: TRUE 0.61
## 2: FALSE 0.71
The syntax to calculate the response proportions, namely correct and error rates, are less straightforward, but possible. Firstly, I calculated the counts for hit, correct rejection, miss, and false alarm and store them in prop. Then I made up a new column, called NN, to store the total number of trial. Lastly, I divided the four conditions by the total number of trial. I also used a round to print only to the two decimal place below zero. These are almost 25% error rates, as promised.
prop <- d[, .N, .(S, R)]
prop[, NN := sum(N), .(S)]
prop[, acc := round(N/NN, 2)]
prop
## S R N NN acc
## 1: left LEFT 791 1024 0.77
## 2: left RIGHT 233 1024 0.23
## 3: right RIGHT 786 1024 0.77
## 4: right LEFT 238 1024 0.23
Real-world Example
In this section, I will demonstrate more data processing techniques, using the empirical data (Holmes, Trueblood & Heathcote (2016). This data set can be downloaded from my OSF site.
One raw data format often found is one subject per text or csv file (*.txt or *.csv). For example, the file, “S125.2014-04-23_6-22-36.txt”, stores the data from participant, S125. There are 47 of them. All are in the same format. In another tutorial, I will illustrate how to handle similar but not identical formatted data files.
block trial target CO1 CO2 ST resp RT correct
1 1 R 50 -1 -1 1 1076 1
1 2 L 50 -1 -1 0 733 1
1 3 R 50 -1 -1 1 637 1
1 4 R 50 -1 -1 1 517 1
...
How to read large data sets efficiently
I stored data files in a standard location of usual R packaging. The folder, named data unsurprisingly, immediately in a project folder. And the analysis scripts are stored in a folder, called R. I then used list.files function to store all file names in a object, called fn.
?list.files
dp <- "data/Holmes_etal_CogPsych_2016_Data"; ## data path
fn <- list.files(dp, pattern = "*.txt") ## file name
print(fn)
## [1] "S125.2014-04-23_6-22-36.txt"
## [2] "S126.2014-04-23_6-25-38.txt"
## [3] "S127.2014-04-23_6-26-46.txt"
## ...
## [45] "S169.2014-05-07_6-16-49.txt"
## [46] "S170.2014-05-07_6-18-16.txt"
## [47] "S171.2014-05-07_6-38-56.txt"
Next I created a DTLapply function to pipe the text files one after another to the fread of data.table to quickly process them.
function(fn, dp) {
v <- lapply(seq_along(fn), function(i) {
s <- strsplit(fn[i], split = "[.]")[[1]][1]
d <- data.table::fread(file.path(dp, fn[i]))
S <- d$target
R <- d$resp
RTSec <- d$RT / 1e3
C <- d$correct
return(d[, c("s", "S", "R", "RT", "C") := list(s, S, R, RTSec, C)])
})
return(data.table::rbindlist(v))
}
x0 <- DTLapply(fn, dp)
seq_along function will convert fn, which store 47 file name strings to numerical indices, for the looping.
seq_along(fn)
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
function(i) inside the lapply function is an anonymous function, namely a function used internally by the lappy function. Inside this anonymous function is basically a quicker R for loop. The first line in the anonymous function is to extract the label for a participant. For example, if I just processed the first text file, the strsplit function splits the string whenever it finds a dot symbol. Because strsplit returns an R list, I took the first element in the first list.
print(fn[1])
## [1] "S125.2014-04-23_6-22-36.txt"
strsplit(fn[1], split = "[.]")
## [[1]]
## [1] "S125" "2014-04-23_6-22-36" "txt"
s <- strsplit(fn[i], split = "[.]")[[1]][1]
print(s)
## [1] "S125"
Next line uses the convenient function, file.path in R base to construct a file path to a particular file. For example, if I extract the first participant.
dp <- "data/Holmes_etal_CogPsych_2016_Data"; ## data path
file.path(dp)
## [1] "data/Holmes_etal_CogPsych_2016_Data"
file.path(dp, fn[1])
## [1] "data/Holmes_etal_CogPsych_2016_Data/S125.2014-04-23_6-22-36.txt"
The function, file.path returns the complete relative file path to the data file, which is then read by the fread function. Note I can easily use the relative path method, because the folder structure follows strictly R packaging structure.
d <- data.table::fread(file.path(dp, fn[1]))
## block trial target CO1 CO2 ST resp RT correct
## 1: 1 1 R 50 -1 -1 1 1076 1
## 2: 1 2 L 50 -1 -1 0 733 1
## 3: 1 3 R 50 -1 -1 1 637 1
## 4: 1 4 R 50 -1 -1 1 517 1
## 5: 1 5 L 50 -1 -1 0 476 1
## ---
## 1276: 20 68 L 15 -1 -1 -1 -1 1
## 1277: 20 69 L 15 -1 -1 0 1077 0
## 1278: 20 70 LR 15 15 529 0 1463 1
## 1279: 20 71 L 15 -1 -1 0 1895 0
## 1280: 20 72 LR 15 15 529 0 1311 1
The following four lines were simply to temporarily save the columns, “target”, “resp”, “RT” (converted to second), and “correct” to four different R vectors, “S”, “R”, “RTSec”, and “C”. These operations just converted the original column naming to my factor naming convention. For example, target column indicates whether a stimulus was one of the four levels:
- right (stationary trial),
- left (stationary trial),
- left and right (switching trial) or
- right and left moving dot (switching trial), so I converted it to as stimulus, S, factor.
This list was directly inserted into the data.table, d, which created five new columns on top the original ones (i.e., block, trial, etc.).
d[, c("s", "S", "R", "RT", "C") := list(s, S, R, RTSec, C)]
The result was then returned to the lapply function as its output. := is just the assignment symbol in data.table syntax.
return(d[, c("s", "S", "R", "RT", "C") := list(s, S, R, RTSec, C)])
Each participant file was looped through in a fastest possible way in R language and finally, each of them was glued together via the data.table function, rbindlist, which return as the output for my homemade DTLapply function.
## # A tibble: 60,160 x 13
## block trial target CO1 CO2 ST resp RT correct s S R
## <int> <int> <chr> <int> <int> <dbl> <int> <dbl> <int> <chr> <chr> <int>
## 1 1 1 R 50 -1 -1 1 1.08 1 S125 R 1
## 2 1 2 L 50 -1 -1 0 0.733 1 S125 L 0
## 3 1 3 R 50 -1 -1 1 0.637 1 S125 R 1
## 4 1 4 R 50 -1 -1 1 0.517 1 S125 R 1
## 5 1 5 L 50 -1 -1 0 0.476 1 S125 L 0
## 6 1 6 R 50 -1 -1 1 0.419 1 S125 R 1
## 7 1 7 R 50 -1 -1 1 0.493 1 S125 R 1
## 8 1 8 R 50 -1 -1 1 0.486 1 S125 R 1
## 9 1 9 L 50 -1 -1 0 0.685 1 S125 L 0
## 10 1 10 L 50 -1 -1 0 0.581 1 S125 L 0
## # ... with 60,150 more rows, and 1 more variable: C <int>
How to trim off irregular participants
It is not uncommon in a data set to have few participants who do not engage in performing a task or drop out in the middle of an experiment. With convincing evidence, we can exclude these participants. Here I demonstrated one way to conduct this operation.
I used the match function, which has a symbol form, %in%. This is an R internal function, which uses efficient algorithm.
## Excluding 3 + 13 participants from model fitting, due to
## (1) a computer error and,
## (2) less than 70% accuracy on the stationary trials in 4-18 blocks.
## They are 126, 129, 130, 133, 134, 138, 139, 140, 143, 147, 148, 150, 155,
## 156, 161, 162
badsubjs <- c("S126", "S129", "S130", "S133", "S134", "S138", "S139", "S140",
"S143", "S147", "S148", "S150", "S155", "S156", "S161", "S162")
x1 <- x0[ !(s %in% badsubjs) ]
Reference
-
Heathcote A., and Love J. (2012) Linear deterministic accumulator models of simple choice. frontiers in Psychology, 23. https://doi.org/10.3389/fpsyg.2012.00292.
-
Holmes, W.R. et al, A new framework for modeling decisions about changing information: The Piecewise Linear Ballistic Accumulator model”, 2015, Cognitive Psychology 85, 1-29.


Interface to the Xethru X2M200 Application module This interface is used to control the XeThruu X2M200 module. More...
#include <X2M200.hpp>
Public Member Functions | |
| X2M200 (LockedRadarInterfacePtr &a_radar_interface) | |
| Constructor. More... | |
| int | set_debug_level (unsigned char level) |
| Sets debug level in the Xethru module. More... | |
| int | set_log_level (unsigned int level) |
| Set log level of ModuleConnector. More... | |
| int | ping (unsigned int *pong) |
| Send a ping message to the module. More... | |
| int | get_item_number (std::string *item_number) |
| Get the Novelda PCBA Item Number, including revision.  More... | |
| int | get_serial_number (std::string *serial_number) |
| Get the module serial number. More... | |
| int | get_build_info (std::string *build_info) |
| Get information about the SW build installed on the Xethru module. More... | |
| int | get_app_id_list (std::string *app_id_list) |
| Get a list of supported profiles. More... | |
| int | reset () |
| Reset the module. More... | |
| int | start_bootloader () |
| int | set_sensor_mode_run () |
| Set the sensor in run mode. More... | |
| int | set_sensor_mode_idle () |
| Set the sensor in idle mode. More... | |
| int | load_sleep_profile () |
| Load the sleep profile. More... | |
| int | load_respiration_profile () |
| Load the respiration profile. More... | |
| int | enable_baseband_ap () |
| Enable amplitude/phase baseband output. More... | |
| int | disable_baseband_ap () |
| Disables amplitude/phase baseband output. More... | |
| int | enable_baseband_iq () |
| Enable I/Q baseband output. More... | |
| int | disable_baseband_iq () |
| Disables I/Q baseband output. More... | |
| int | set_detection_zone (float start, float end) |
| Set the desired detection zone. More... | |
| int | set_sensitivity (uint32_t sensitivity) |
| Set module sensitivity. More... | |
| int | set_led_control (uint8_t mode, uint8_t intensity) |
| Configures the module LED mode. More... | |
| int | subscribe_to_resp_status (const std::string &name) |
| Adds a subscription for respiration data packets. More... | |
| int | subscribe_to_resp_status (const std::string &name, std::function< bool(Bytes)> callback) |
| Adds a subscription for respiration data packets. More... | |
| int | subscribe_to_sleep_status (const std::string &name) |
| Adds a subscription for sleep status data packets. More... | |
| int | subscribe_to_sleep_status (const std::string &name, std::function< bool(Bytes)> callback) |
| Adds a subscription for sleep data packets. More... | |
| int | subscribe_to_baseband_ap (const std::string &name) |
| Adds a subscription for amplitude phase baseband data packets. More... | |
| int | subscribe_to_baseband_ap (const std::string &name, std::function< bool(Bytes)> callback) |
| Adds a subscription for amplitude phase baseband data packets. More... | |
| int | subscribe_to_baseband_iq (const std::string &name) |
| Adds a subscription for IQ baseband data packets. More... | |
| int | subscribe_to_baseband_iq (const std::string &name, std::function< bool(Bytes)> callback) |
| Adds a subscription for IQ baseband data packets. More... | |
| void | unsubscribe (const std::string &name) |
| Turns off a named subscription. More... | |
| int | disable_resp_output () |
| Turn off respiration status output from the Xethru X2M200 module. More... | |
| int | enable_resp_output () |
| Turn on respiration status output from the Xethru X2M200 module. More... | |
| unsigned int | get_number_of_packets (const std::string &name) |
| Get number of packets in a named subscription queue/buffer. More... | |
| int | get_respiration_data (const std::string name, RespirationData *respiration_data) |
| Get one respiration data message from subscription queue. More... | |
| int | get_sleep_data (const std::string name, SleepData *sleep_data) |
| Get one sleep data message from subscription queue. More... | |
| int | get_baseband_ap_data (const std::string name, BasebandApData *baseband_ap_data) |
| Get one baseband data message from subscription queue. More... | |
| int | get_baseband_iq_data (const std::string name, BasebandIqData *baseband_iq_data) |
| Get one baseband data message from subscription queue. More... | |
| void | clear (const std::string &name) |
| Empty the buffer of the named data stream subscription. More... | |
Interface to the Xethru X2M200 Application module This interface is used to control the XeThruu X2M200 module.
See the data sheet of the X2M200 module for more information on the X2M200 module.
| XeThru::X2M200::X2M200 | ( | LockedRadarInterfacePtr & | a_radar_interface | ) |
Constructor.
| [in] | a_radar_interface | a reference to the internal radar interface |
| void XeThru::X2M200::clear | ( | const std::string & | name | ) |
Empty the buffer of the named data stream subscription.
| [in] | name | Name of subscription |
| int XeThru::X2M200::disable_baseband_ap | ( | ) |
Disables amplitude/phase baseband output.
| int XeThru::X2M200::disable_baseband_iq | ( | ) |
Disables I/Q baseband output.
| int XeThru::X2M200::disable_resp_output | ( | ) |
Turn off respiration status output from the Xethru X2M200 module.
This setting does not survive a power cycle
| int XeThru::X2M200::enable_baseband_ap | ( | ) |
Enable amplitude/phase baseband output.
For all supported profiles it is possible to turn on Amplitude Phase baseband output.
This setting does not survive a power cycle
| int XeThru::X2M200::enable_baseband_iq | ( | ) |
Enable I/Q baseband output.
For all supported profiles it is possible to turn on IQ baseband output.
This setting does not survive a power cycle
| int XeThru::X2M200::enable_resp_output | ( | ) |
Turn on respiration status output from the Xethru X2M200 module.
This setting does not survive a power cycle
| int XeThru::X2M200::get_app_id_list | ( | std::string * | app_id_list | ) |
Get a list of supported profiles.
| [out] | app_id_list | Pointer to where to assign the resulting list of supported app ids as a string. |
| int XeThru::X2M200::get_baseband_ap_data | ( | const std::string | name, |
| BasebandApData * | baseband_ap_data | ||
| ) |
Get one baseband data message from subscription queue.
| name | Name of subscription | |
| [out] | baseband_ap_data | A data object holding the resulting amplitude/phase baseband data. |
| int XeThru::X2M200::get_baseband_iq_data | ( | const std::string | name, |
| BasebandIqData * | baseband_iq_data | ||
| ) |
Get one baseband data message from subscription queue.
| name | Name of subscription | |
| [out] | baseband_iq_data | A data object holding the resulting Inphase Quadrature baseband data. |
| int XeThru::X2M200::get_build_info | ( | std::string * | build_info | ) |
Get information about the SW build installed on the Xethru module.
| [out] | build_info | Pointer to where to assign the resulting build info as a string. |
| int XeThru::X2M200::get_firmware_id | ( | std::string * | firmware_id | ) |
Get the installed Firmware ID.
| [out] | firmware_id | Pointer to where to assign the resulting firmware id as a string. |
| int XeThru::X2M200::get_firmware_version | ( | std::string * | version | ) |
Get the installed Firmware version.
| [out] | version | Pointer to where to assign the resulting firmware version as a string. |
| int XeThru::X2M200::get_item_number | ( | std::string * | item_number | ) |
Get the Novelda PCBA Item Number, including revision.
| [out] | item_number | Pointer to where to assign the resulting string response. |
| unsigned int XeThru::X2M200::get_number_of_packets | ( | const std::string & | name | ) |
Get number of packets in a named subscription queue/buffer.
| name | Name of subscription |
| int XeThru::X2M200::get_order_code | ( | std::string * | order_code | ) |
Get Novelda PCBA Order Code.
| [out] | order_code | Pointer to where to assign the resulting string response. |
| int XeThru::X2M200::get_respiration_data | ( | const std::string | name, |
| RespirationData * | respiration_data | ||
| ) |
Get one respiration data message from subscription queue.
| name | Name of subscription | |
| [out] | respiration_data | A data object holding the resulting respiration data. |
| int XeThru::X2M200::get_serial_number | ( | std::string * | serial_number | ) |
Get the module serial number.
| [out] | serial_number | Pointer to where to assign the resulting serial number as a string. |
| int XeThru::X2M200::get_sleep_data | ( | const std::string | name, |
| SleepData * | sleep_data | ||
| ) |
Get one sleep data message from subscription queue.
| name | Name of subscription | |
| [out] | sleep_data | A data object holding the resulting respiration data. |
| int XeThru::X2M200::load_respiration_profile | ( | ) |
Load the respiration profile.
A profile is a preset configuration that makes the module behave in a certain way. The module will not start sending data until a set_sensor_mode_run command is executed.
This setting survives a power cycle
| int XeThru::X2M200::load_sleep_profile | ( | ) |
Load the sleep profile.
A profile is a preset configuration that makes the module behave in a certain way. The module will not start sending data until a set_sensor_mode_run command is executed.
This setting survives a power cycle
| int XeThru::X2M200::ping | ( | unsigned int * | pong | ) |
Send a ping message to the module.
This command is typically used to verify connectivity to the module.
This setting does not survive a power cycle
| pong | Pointer to where to assign the resulting unsigned int response. |
| int XeThru::X2M200::reset | ( | ) |
Reset the module.
This method sends a reset command to the Xethru module. The module will try to reset and come back up again. During this call the ModuleConnector will try multiple times to reconnect with the rebooted module.
| int XeThru::X2M200::set_debug_level | ( | unsigned char | level | ) |
Sets debug level in the Xethru module.
| [in] | level | New debug level. Legal range [0-9]. |
| int XeThru::X2M200::set_detection_zone | ( | float | start, |
| float | end | ||
| ) |
Set the desired detection zone.
The sensor will detect movements within this area.
This setting survives a power cycle
| [in] | start | Start of detection zone in meters from the radar. |
| [in] | end | End of detection zone in meters from the radar. |
| int XeThru::X2M200::set_led_control | ( | uint8_t | mode, |
| uint8_t | intensity | ||
| ) |
Configures the module LED mode.
This setting survives a power cycle.
| mode | 0: Off, 1: Simple, 2: Full (default). |
| intensity | intensity of the led |
| int XeThru::X2M200::set_log_level | ( | unsigned int | level | ) |
Set log level of ModuleConnector.
This setting does not survive a power cycle
| [in] | level | New debug level. Legal range [0-9]. |
| int XeThru::X2M200::set_sensitivity | ( | uint32_t | sensitivity | ) |
Set module sensitivity.
This setting survives a power cycle.
| sensitivity | Sensitivity level from 0 (low) to 9 (high). |
| int XeThru::X2M200::set_sensor_mode_idle | ( | ) |
Set the sensor in idle mode.
The sensor will stop sending data. The sensor can be put back in run mode with the set_sensor_mode_run().
This setting survives a power cycle
| int XeThru::X2M200::set_sensor_mode_run | ( | ) |
Set the sensor in run mode.
In run mode the sensor will send a stream of data back to the host. The data in the data stream depends on the current configuration.
This setting survives a power cycle
| int XeThru::X2M200::start_bootloader | ( | ) |
All the Xethru modules have a bootloader. This method instructs the Xethru module to reboot into bootloader mode.
| int XeThru::X2M200::subscribe_to_baseband_ap | ( | const std::string & | name | ) |
Adds a subscription for amplitude phase baseband data packets.
Creates a queue/buffer for incoming amplitude phase baseband packet stream. The queue must be given a name.
| name | Name of the queue/buffer |
| int XeThru::X2M200::subscribe_to_baseband_ap | ( | const std::string & | name, |
| std::function< bool(Bytes)> | callback | ||
| ) |
Adds a subscription for amplitude phase baseband data packets.
Create a subscription for incoming amplitude phase baseband packet stream. callback will be called for each incoming amplitude phase baseband packet.
| name | Name of the buffer |
| callback | The callback to invoke for each amplitude phase baseband packet |
| int XeThru::X2M200::subscribe_to_baseband_iq | ( | const std::string & | name | ) |
Adds a subscription for IQ baseband data packets.
Creates a queue/buffer for incoming IQ baseband packet stream. The queue must be given a name.
| name | Name of the queue/buffer |
| int XeThru::X2M200::subscribe_to_baseband_iq | ( | const std::string & | name, |
| std::function< bool(Bytes)> | callback | ||
| ) |
Adds a subscription for IQ baseband data packets.
Create a subscription for incoming IQ baseband packet stream. callback will be called for each incoming IQ baseband packet.
| name | Name of the buffer |
| callback | The callback to invoke for each IQ baseband packet |
| int XeThru::X2M200::subscribe_to_resp_status | ( | const std::string & | name | ) |
Adds a subscription for respiration data packets.
Creates a queue/buffer for incoming respiration packet stream. The queue must be given a name.
This setting survives a power cycle
| name | Name of the buffer |
| int XeThru::X2M200::subscribe_to_resp_status | ( | const std::string & | name, |
| std::function< bool(Bytes)> | callback | ||
| ) |
Adds a subscription for respiration data packets.
Create a subscription for for incoming respiration packet stream. callback will be called for each incoming respiration packet.
| name | Name of the buffer |
| callback | The callback to invoke for each packet |
| int XeThru::X2M200::subscribe_to_sleep_status | ( | const std::string & | name | ) |
Adds a subscription for sleep status data packets.
Creates a queue/buffer for incoming sleep packet stream. The queue must be given a name.
| name | Name of the queue/buffer |
| int XeThru::X2M200::subscribe_to_sleep_status | ( | const std::string & | name, |
| std::function< bool(Bytes)> | callback | ||
| ) |
Adds a subscription for sleep data packets.
Create a subscription for for incoming sleep packet stream. callback will be called for each incoming sleep packet.
| name | Name of the buffer |
| callback | The callback to invoke for each sleep packet |
| void XeThru::X2M200::unsubscribe | ( | const std::string & | name | ) |
Turns off a named subscription.
| name | Name of the subscription to disable |


Adress
1st floor, Sultan towers, sultan nagar,6th cross, bangalore
Phone Number
9876546734
Email
<EMAIL_ADDRESS>Get In Touch
Username
E-mail
Comment
Submit


Instructions
Application 1
Application 2
Application 3
Application 4
Application 5
ShellBar in Compact
Application 1
Application 2
Application 3
Application 4
Application 5
John Doe
App Finder
Settings
Edit Home Page
Help
Sign out
Application 1
Application 2
Application 3
Application 4
Application 5
Custom Popover Item 1
Custom Popover Item 2
Instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Menu Items
value
key
App 1
App 2
App 3
App 4
Custom Action Fired


|
AceTime
2.3.0
Date and time classes for Arduino that support timezones from the TZ Database.
|
Metadata about the zone database. More...
#include <ZoneInfoMid.h>
Public Attributes | |
| int16_t const | startYear |
| Start year of the zone files as requested. | |
| int16_t const | untilYear |
| Until year of the zone files as requested. | |
| int16_t const | startYearAccurate |
| Start year of accurate transitions. More... | |
| int16_t const | untilYearAccurate |
| Until year of accurate transitions. More... | |
| int16_t const | baseYear |
| Base year for tiny years. More... | |
| int16_t const | maxTransitions |
| Max number of transitions required in TransitionStorage. | |
| const char *const | tzVersion |
| TZ Database version which generated the zone info. | |
| uint8_t const | numFragments |
| Number of fragments. | |
| uint8_t const | numLetters |
| Number of fragments. | |
| const char *const *const | fragments |
| Zone Name fragment list. | |
| const char *const *const | letters |
| Zone Rule letters list. | |
Static Public Attributes | |
| static const int16_t | kMaxUntilYear = 32767 |
| The maximum value of untilYear. More... | |
| static const int16_t | kMaxYear = kMaxUntilYear - 1 |
| The maximum value fromYear and toYear. More... | |
| static const int16_t | kMinYear = -32767 |
| The minimum value of fromYear and toYear. More... | |
| static const uint8_t | kSuffixW = 0x00 |
| Represents 'w' or wall time. | |
| static const uint8_t | kSuffixS = 0x10 |
| Represents 's' or standard time. | |
| static const uint8_t | kSuffixU = 0x20 |
| Represents 'u' or UTC time. | |
Metadata about the zone database.
A ZoneInfo struct will contain a pointer to this.
Definition at line 19 of file ZoneInfoMid.h.
| int16_t const ace_time::zoneinfomid::ZoneContext< S >::baseYear |
|
static |
The maximum value of untilYear.
This value is used to represent the sentinel value "-" in the UNTIL column of the TZDB files which means "infinity". Must be greater than ZoneRule::kMaxYear which represents the value "max" in the TO and FROM columns of the TZDB files.
Definition at line 26 of file ZoneInfoMid.h.
|
static |
The maximum value fromYear and toYear.
This value is used to represent the sentinel value "max" in the TZDB database files. Must be less than ZoneEra::kMaxUntilYear which is used to represent the entry "-" in the UNTIL column of the TZDB files.
Definition at line 34 of file ZoneInfoMid.h.
|
static |
The minimum value of fromYear and toYear.
This value is used for ZoneRule entries which are synthetically generated for certain time zones which do not naturally generate a transition for the database year interval specified by the ZoneContext. This value is guaranteed to be earlier than any explicit year in the TZDB database, which guarantees that all time zones have at least one transition.
Definition at line 44 of file ZoneInfoMid.h.
| int16_t const ace_time::zoneinfomid::ZoneContext< S >::startYearAccurate |
Start year of accurate transitions.
kMinYear indicates -Infinity.
Definition at line 62 of file ZoneInfoMid.h.
| int16_t const ace_time::zoneinfomid::ZoneContext< S >::untilYearAccurate |
Until year of accurate transitions.
kMaxUntilYear indicates +Infinity.
Definition at line 65 of file ZoneInfoMid.h.


---
layout: med
title: Social
---
Social
HELLO!
My name is Michal Ruprecht . I am a metro Detroit-based health journalist available for freelance assignments. I deliver disruptive medical journalism that leads to improved scientific and medical understanding.
I am a second-year M.D. student and I previously interned at ABC News , MedPage Today and The Nation's Health . Prior to that, I was a reporter for The Michigan Daily . Find more information about my work below.
Journalism portfolio
Resume
Ceramics portfolio
<EMAIL_ADDRESS>Signal encrypted messaging:<PHONE_NUMBER>
Google Scholar
LinkedIn
Twitter: @michalruprecht
NEWSLETTER


Interface CloudsploitReport
Properties
awsAccountId
awsAccountId: string
day
day: number
failing
failing: number
href
href: string
month
month: number
newRisks
newRisks: number
passing
passing: number
scanDate
scanDate: string
scanId
scanId: number
unknown
unknown: number
warning
warning: number
year
year: number
CloudsploitReport
year - the year of the scan
month - the month of the scan
day - the day of the scan
href - the link to the skypiea resource
awsAccountId - the AWS account Id
scanId - the id of the scan
scanDate - the date of the scan
newRisks - the amount of new risks
passing - the amount of pass
warning - the amount of warnings
failing - the amount of fails
unknown - the amount of unknowns


WISER
Home
Post Property
Purchase Property
My Page
Other Services
Information
Purchaser - Know how much you can afford
Purchaser - Budgeting for your HDB flat purchase
Purchaser - Budgeting for your Condominium purchase
Purchaser - Loan calculator
Seller - Property valuation tool
Previous
Next
Overview of Property
Property Type
yyy
Property Address
xxx
District
zzz
Postal Code
uuu
Bedroom Type
aaa
Floor Size
bbb sqft
Year of Construction
ppp
Tenure
ccc
Asking Price
hhh
Contact Seller via Email
Contact Seller
Name
Mobile
Email
Price Negotiation
Arrange for Viewing
Contact Seller via
WhatsApp
Back to Search
Contact Me On WhatsApp


--- layout: post date: 2010-12-10 time: "10:00:00" authors: ["Greg Wilson"] title: Winter 2011 Signup vs. Spam Filters tags: ["Online"] ---
If you asked to enrol in the Winter 2011 run of the course, you should have received an email request from us on Wednesday pointing you at a form we'd like you to fill in, and another message today clarifying one of the questions. You should also then have received a message saying, "Some people are reporting that they only got #2 of the above, presumably because their spam filters ate #1, so please check." If you didn't get Wednesday's message, or this morning's repeat, please contact us directly and we'll sort it out.


BRISTOL PARK HOSPITAL
Your Excellent Health care provider
Home
Diseases
Adenovirus Infection
Sleeping Sickness
Arthritis
More...
Medicines
Vitamin B12
Metformin
Analgesics
More...
Symptom Checker
About Us
click to start


Blot
› Contact
You can email me at
<EMAIL_ADDRESS>. For short or less urgent questions feel free to contact me on
Twitter
.
I’m
David
, by the way.
Home
·
About
·
Terms of use
·
Privacy policy
·
Help
·
Contact
Blot’s source code is dedicted to the public domain and available to you. The type on this page is set in IA Duospace. Send me an email if you have any questions.


Appointments
Test
Test
Id
Name
Email
Date
Time
Description
Reg. Time
Copyright © Doctor+ Application. All rights reserved.


Deep Linking Test Page
(with modals)
Shawshank
Garden State
Crouching Tiger
Movie Modal
{{ movieData().title }}
See Celebrity
Rent this movie
Celebrity
{{ celebData().name }}
(Now use the back button to get back)
Rent this movie:
{{ movieData().title }}
Rent me
Close


Scots guide dog puppies celebrate first birthday party before starting school
Taking a morning break from their specialist training seven of the group of nine pups enjoyed a birthday cake made specially for dogs.
by Nicholas Keyden, https://www.dailyrecord.co.uk/authors/nicholas-keyden/A group of guide dog puppies came together to celebrate their first birthday at a special event in Edinburgh .
The puppies are part of the first ever fully- funded guide dog group, thanks to support from players of People's Postcode Lottery.
Over the last 12 months lottery players have raised £2,209,506 towards the training and care of these life-changing pups, as well as for other key projects at the charity.
Guide dog puppy party in pictures View gallery
Taking a morning break from their specialist training, seven of the group of nine pups attended the party, where they enjoyed a birthday cake made specially for dogs.
They also met People's Postcode Lottery staff for some well- deserved cuddles.
Turning one means the pups will soon enroll at their Guide Dogs training school, where they will receive their formal training before graduating as fully qualified guide dogs.


Foreword
This poor man oscilloscope is based on an
excellent tutorial from Vassilis Serasidis. This is why this project is named after his, ard
AnotherOscillo.
Purpose is to provide a windows PC displayable signal for low voltage (max 5V) and low frequency but cost/complexity cutting by using a windows application for design. (instead of using an embeded screen).
Edit: I decided to be no more poor man and bought this. Very good tool, however both are maybe complementary.
http://www.seeedstudio.com/depot/dso-nano-pocket-size-digital-storage-oscilloscope-p-512.html?cPath=11
Schema
Code
int potPin = 0; // select the input pin for the potentiometer
int val = 0; // variable to store the value coming from the sensor
void setup() {
analogReference(DEFAULT);
Serial.begin(115200);
}
void loop() {
val = analogRead(potPin); // read the value from the sensor
Serial.println(val);
delay(100);
}


title = "Account" url = "/account/:code?" layout = "default" description = "Sign in, registration and account management." is_hidden = 0 [account] redirect = "account" paramCode = "code" forceSecure = 0 ==


CLEAN SLATE A Film Review by Scott Renshaw Copyright 1994 Scott Renshaw
Starring: Dana Carvey, Valeria Golino, James Earl Jones, Michael Gambon, Kevin Pollak, Michael Murphy. Screenplay: Robert King. Director: Mick Jackson. Reviewed by Scott Renshaw.
When I stepped into the theater to see CLEAN SLATE, I had yet to see any evidence that Dana Carvey might actually be capable of acting. In fact, he seemed incapable of anything but the broadest schtick. His "Saturday Night Live" characters were usually caricatures, and the WAYNE'S WORLD films and the horrible OPPORTUNITY KNOCKS simply regurgitated those characters. So it qualifies as one of the most unexpected surprises of the year that CLEAN SLATE turns out to be an absolutely delightful comedy. As improbable as the concept might seem, director Mick Jackson (THE BODYGUARD) reins in Carvey's tendency towards excess and gives him a real character to work with, and the chance to generate big laughs.
Carvey plays M. L. Pogue, a small-time private eye with a big-time problem. As the result of an explosion, Pogue suffers from a unique form of amnesia which causes him to wake up every morning with no memory of anything which has taken place before he fell asleep. That proves a hindrance professionally, as he is supposed to testify against criminally-connected businessman Cornell (Michael Gambon), but can't remember his testimony. It's also problematic personally, as he seems to be involved with at least two women, one of whom (Valeria Golino) is supposed to be dead. With every passing day, Pogue's mystery continues-- and deepens--until he finds that he can't trust anyone.
CLEAN SLATE is so full of unpredictable pleasures that it's difficult to know where to begin. The greatest is probably the performance of Carvey, in a role analagous in many ways to Bill Murray's in GROUNDHOG DAY. Like Phil Connor, Pogue is trapped in a cycle of repetition and confusion, except that Pogue is the only one who *doesn't* know what's going on; like Murray, Carvey gets a chance to play some low- key scenes that prove he doesn't always have to be a class clown. He gets to play several hysterical scenes based on Pogue's need to improvise every encounter with his friends (including James Earl Jones as a wheelchair-bound district attorney, Kevin Pollak as Pogue's jealous best friend, and Michael Murphy as his doctor), including a surprise birthday party and his eventual testimony against Cornell. However, Carver is equally affecting in moments such as his reaction to discovering that he might be a father, and trying desperately to remember a woman he thinks he loves. The nature of Pogue's condition inevitably limits his character development, but merely watching Carvey react to that situation is endlessly entertaining.
But there is virtually nothing about CLEAN SLATE which isn't quirky, off-handed and charming. Screenwriter Robert King has filled this film with bits that come out of left field, like the sequence where Pogue and his mysterious client attempt to escape Cornell's henchmen with well- aimed rocks, or a couple of unexplained moments when Pogue demonstrates martial arts skills, or Pogue's dog, who suffers from a lack of depth perception. Director Jackson complements the weirdness with visual throwaways like the neck brace James Earl Jones' character wears with a hole for his tie to come through, and the Band-Aid Carvey sports through out the film. CLEAN SLATE is that rare comedy which simply never goes exactly where you expect it to go.
All this would be quite enough to recommend CLEAN SLATE, but it also provides a neatly-polotted little mystery. Occasionally it feels as though King and Jackson are trying to throw in a bit too much (the character of Pogue's ex-wife is particularly unnecessary), which sidetracks the film's energy. However, at the end of CLEAN SLATE I was left without a single plausibility problem.
In the 24 hours since I saw CLEAN SLATE, bits and pieces have popped into my head constantly, prompting spontaneous laughter, and it just keeps growing on me. It wouldn't be surprising, given Carvey's track record and an advertising campaign which can't do it justice, to see CLEAN SLATE make a quick exit from theaters. Then again, there might just be one more surprise coming.
On the Renshaw scale of 0 to 10 tabula rasa's: 8.
-- Scott Renshaw Stanford University Office of the General Counsel
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


1 IN THE HIGH COURT OF JUDICATURE AT MADRAS Reserved On 30.04.2019 Pronounced On 12.06.2019 CORAM THE HONOURABLE MR.JUSTICE C.SARAVANAN C.R.P.(PD).No.2706 of 2014 and M.P.No.1 of 2014 1.M/s.Amman Oil Mill and Refineries, Rep.by its Proprietor Mr.K.Selvakumar, S.F.No.472/3,5,6 Malayathupalayam, D.No.84/88, Udayam Road, Navakadu, Muthur, Kangeyam Taluk, Tiruppur District – 638 105. 2.K.Selvakumar ... Petitioners vs 1.M.Saradhambal 2.Lakshmi 3.M.C.Kuppusamy 4.The District Collector- Tiruppur District, Collector Office, Palladam Road, Tirupur. 5.Revenue Divisional Officer, Ellis Nagar, Pollachi Road, Dharapuram. 6.The Thasildar, Kangayam Taluk Road, Coimbatore Road, Kangayam. http://www.judis.nic.in 2 7.The President – Muthur Town Panchayat, Muthur Town panchayat Office, Kangayam Taluk, Tiruppur District. 8.The Pollution Control Officer, Tiruppur Regional Officer, Avinashi Road, Tiruppur. ... Respondents Prayer: Civil Revision Petition is filed under Article 227 of Constitution of India, to pass an order to strike the plaint in O.S.No.11 of 2014 pending on the file of the District Munsif Court, Kangeyam. For Petitioners : Mr.V.S.Senthil Kumar For Respondents : No appearance ORDER
The learned counsel for the petitioners /6th and 7th defendants alone is present. There is no representation on behalf of the 1 st to 3rd respondents / plaintiffs, though notice has been served on them and their names have been printed in the cause list today. Hence, the present Civil Revision Petition is taken up for hearing exparte.
2.I have gone through the documents and considered the arguments advanced by the learned counsel for the petitioners.
http://www.judis.nic.in 3
3.The issue that arises for consideration is whether this present Civil Revision Petition is maintainable before this court?
4.The petitioners are the 6th and 7th defendants in O.S.No.11 of 2014. The said suit has been filed by the 1st to 3rd respondents against the petitioners/ 6th and 7th defendants in the above suit.
5.The suit has been filed for the following reliefs: -
(a)To cancel the 6th defendant license and not give any permission to run the 6th defendant Oil Mill “ Amman Oil Mill and Refineries” by the 1st to 5th defendants or their agent.
(b)To grant a permanent injunction restraining 6th and 7th defendants from running Oil Mill “ Amman Oil Mill and refineries”.
(c)1 to 5th defendants to restraining any new permission or new license to the 6th defendant property in the change of any other name.
(d)Award the suit cost to the plaintiff.
http://www.judis.nic.in 4
6.The other respondents are the officials/officers from the various departments concerned.
7.According to the petitioners/6th and 7th defendants, the suit is barred under Section 9 of the C.P.C in view of Section 46 of the Air (Prevention and Control of Pollution) Act, 1981 and Section 58 of the Water (Prevention and Control of Pollution) Act, 1974 which read as under:-
Water (Prevention and Control Air (Prevention and Control of of Pollution) Act, 1974 Pollution) Act, 1981 “58. Bar of jurisdiction: No civil “46. Bar of jurisdiction: No civil court shall have jurisdiction to court shall have jurisdiction to entertain any suit or proceeding in entertain any suit or proceeding in respect of any matter which an respect of any matter which an Appellate Authority constituted Appellate Authority constituted under this Act is empowered by or under this Act is empowered by or under this Act to determine, and under this Act to respect of any no injunction shall be granted by action taken or to be taken in any court or other authority in pursuance of any power conferred respect of any action taken or to by or under this determine, and no http://www.judis.nic.in 5 Water (Prevention and Control Air (Prevention and Control of of Pollution) Act, 1974 Pollution) Act, 1981 be taken in pursuance of any injunction shall be granted by any power conferred by or under this court or other authority in Act.” Act.”
8.The learned counsel for the petitioners/ 6th and 7th defendants therefore submitted that the learned District Munsif Court, Kangayam erred in entertaining the suit and numbering it.
9.The learned counsel for the petitioners / 6th and 7th defendants referred to the decision of this Court rendered in Aditya Masala, Nani Agro Foods Private Limited vs M.Selvaraj 2007-
1-MLJ-611 wherein dealing with an identical situation, the Court referred to the case decision rendered in M.Nandagopal vs The Chairman, Tamilnadu Pollution Control Board and others ILR (1997) 2 Madras 1274.
10.The Court has extracted, the decision rendered in M.Nandagopal vs The Chairman, Tamilnadu Pollution Control Board and others supra which reads as under:-
http://www.judis.nic.in 6 “8. There is a great purpose behind these provisions. It is common knowledge that any litigation in a Civil Court will not reach its logical conclusion within a year or two. It takes several years. These are enactments which are intended to ensure the pollution free water and pollution free air and pollution free environment, to the humanity and the people at large in India. It is common knowledge that every day, pollution of water, air and environment is increasing in such measure that if the volume and speed of this is not prevented or abated and controlled, it may prove to be fatal to the humanity within a short period. Therefore, keeping in view this catastrophe which may occur, if it is neglected, these enactments have been passed and the jurisdiction of the Civil Court has been taken away, as otherwise, the very purpose of the Act would be defeated, if the Board and the authority were to litigate bore the Civil Courts, which will taken nearly a decade to come to a logical end and after a decade, probably, the pollution might assume such an alarming proportion that it may even go beyond our capacity to control and consequently the very objective of the law would be defeated these final aspects of life and serious consequences the presiding officers of the Civil Courts shall bear in mind and make a little effort to know and acquaint themselves with the aims and objects of the enactments and provisions contained therein before they embark upon entertaining the suits ignoring the specific prohibition contained in the aforesaid enactments. Inspite of this, if the Civil Courts go on entertaining the suits and granting interim orders preventing the Boards and the authority to perform their functions and discharge their duties in exercise of their powers under the Act, the same will prove to be fatal to the people and defeat the aims and objects of the Act. Therefore, with a view to ensure that the Civil Courts do not embark upon such expedition, we have considered it necessary to issue a direction to the Civil http://www.judis.nic.in 7 Courts in the State that they should not embark upon entertaining the suits against the Pollution Control Board and the authority in respect of the matters which fall under the Provisions of the Water Act, Air Act and Environment Act. All the Civil Courts are directed accordingly. We also further direct that such of the suits which have been entertained by the Civil Courts in respect of the matter falling under these enactments, shall be taken up within a fortnight from the date of receipt of a copy of this order and disposed of the same in the light of the aforesaid directions and in the light of the observation contained in this order and bar of the jurisdiction contained in the aforesaid three enactments.”
11.The reasoning given in the above passage seems to indicate that the jurisdiction of the civil court is ousted even though under Section 9 the jurisdiction of the civil Court stands ousted only where cognizance of suit is either expressly or impliedly barred.
12.If the ratio from the above decision is to be accepted, it would offend the very fundamental principle viz, “ubi jus ibi remedium” ie. where there is a right there is a remedy, unless there is really an alternative remedy under these enactments.
13.I have also tried locating the same through the various website publishing judgments of the Courts. However, I was also unable to locate the above case with the above citation.
http://www.judis.nic.in 8
14.Only if a statutory remedy is available under the two special enactments mentioned it can inferred that the jurisdiction of civil court will stands ousted.
15.The special dispensation under these enactments were not intended to redress civil and criminal disputes arising from any breach of any of the laws. For instance, while dealing with Section 133 of the Cr.P.Code the Hon’ble Supreme Court in Kachrulal Bhagirath Agrawal vs State of Maharashtra, (2005) 9 SCC 36 : 2005 SCC (Cri) 1191 held as follows:-
11.The guns of Section 133 go into action wherever there is public nuisance. The public power of the Magistrate under the Code is a public duty to the members of the public who are victims of the nuisance, and so he shall exercise it when the jurisdictional facts are present. “All power is a trust — that we are accountable for its exercise — that, from the people, and for the people, all springs and all must exist.” The conduct of the trade must be injurious in præsenti to the health or physical comfort of the community. There must, at any rate, be an imminent danger to the health or the physical comfort of the community in the locality in which the trade or occupation is conducted. Unless there is such imminent danger to the health or physical comfort of that community or the conduct of the trade and occupation is in fact injurious to http://www.judis.nic.in 9 the health or the physical comfort of that community, an order under Section 133 cannot be passed. A conjoint reading of Sections 133 and 138 of the Code discloses that it is the function of the Magistrate to conduct an enquiry and to decide as to whether there was reliable evidence or not to come to the conclusion to act under Section 133.
16.The Court referred to the decision rendered in Vasant Manga Nikumba vs Baburao Bhikanna Naidu [1995 Supp (4) SCC 54 : 1996 SCC (Cri) 27] wherein it was observed that “nuisance is an inconvenience which materially interferes with the ordinary physical comfort of human existence. It is not capable of precise definition. To bring in application of Section 133 of the Code, there must be imminent danger to the property and consequential nuisance to the public. The nuisance is the concomitant act resulting in danger to the life or property due to likely collapse, etc. The object and purpose behind Section 133 of the Code is essentially to prevent public nuisance and involves a sense of urgency in the sense that if the Magistrate fails to take recourse immediately, irreparable danger would be done to the public. It applies to a condition of the nuisance at the time when the order is passed and it is not intended to apply to future likelihood or what may happen at some later point of time. It does not deal with all potential nuisances and on the other hand applies when the http://www.judis.nic.in 10 nuisance is in existence. It has to be noted that sometimes there is confusion between Section 133 and Section 144 of the Code. While the latter is a more general provision the former is more specific.
While the order under the former is conditional, the order under the latter is absolute. (See State of M.P.v.Kedia Leather & Liquor Ltd.[(2003) 7 SCC 389 : 2003 SCC (Cri) 1642] )”
17.In AR Ponnusamy vs Thoppalan 2003(2) CTC 516, it was held that only if an order passed under the enactment viz., Water (Prevention and Control of Pollution) Act and the Air (Prevention and Control of Pollution) Act, 1981 is not appealed against, the jurisdiction of the Court under Section 9 of the C.P.C.
will not be taken away.
18.It was also held that the Civil Court has jurisdiction to entertain and consider those matters which have not been agitated before the Appellate Authority. This view appears to be logical.
19.The Parliament has enacted the National Green Tribunal Act, 2010. The Act came into force on October 18th 2010.
http://www.judis.nic.in 11 Simultaneously, other enactment enactments including Water (Prevention and Control of Pollution) Act, 1974 and Air (Prevention and Control of Pollution)Act, 1981 dealing with the pollution were amended.
20.The above enactment is in the background of the 186th Report dated 23.09.2003 had also emphasized need for a separate environmental courts in view of the advancement in science and technology. Relevant passage from the said Law Commission Report reads as hereunder:
“What we mean to say is that none of the above Courts are courts having exclusive jurisdiction as regards environmental issues and the result is that there is delay in their disposal as compared to the time within which any special Environmental Court dealing only with issues relating to environment could have taken. It cannot be disputed that environmental matters have to be taken up early, monitored from time to time and be finally disposed of by a procedure quicker than that obtaining now.
Further, the Courts today lack independent expert advice on environmental matters by a statutory panel attached to the Court and depend mostly on the expert evidence that may be adduced by the parties.”
21.Ultimately, the Law Commission recommended the establishment of Environmental Courts. The recommendation of the law commission reads as under:
http://www.judis.nic.in 12 “In view of the involvement of complex scientific and specialized issues relating to environment, there is a need to have separate ‘Environment Courts’ manned only by the persons having judicial or legal experience and assisted by persons having scientific qualification and experience in the field of environment In order to achieve the objectives of accessible, quick and speedy justice, these ‘Environment Courts’ should be established and constituted by the Union Government in each State. However, in case of smaller States and Union Territories, one court for more than one State or Union Territory may serve the purpose.”
22.It is only under this law one can say that the jurisdiction of the civil Court is ousted. Under Section 14 of the Act, the Tribunal shall have jurisdiction over all civil cases where substantial question relating to environment (including enforcement of any legal right relating to environment) is involved and such question arises out of the implementation of the enactment specified in the Schedule 1. Section 14, 15 of the Act reads as under:
14. Tribunal to settle disputes.— (1)The Tribunal shall have the jurisdiction over all civil cases where a substantial question relating to environment (including enforcement of any http://www.judis.nic.in 13 legal right relating to environment), is involved and such question arises out of the implementation of the enactments specified in Schedule I.
(2)The Tribunal shall hear the disputes arising from the questions referred to in sub-section (1) and settle such disputes and pass order thereon.
(3)No application for adjudication of dispute under this section shall be entertained by the Tribunal unless it is made within a period of six months from the date on which the cause of action for such dispute first arose:
Provided that the Tribunal may, if it is satisfied that the applicant was prevented by sufficient cause from filing the application within the said period, allow it to be filed within a further period not exceeding sixty days.” “15.Relief, compensation and restitution.— (1) The Tribunal may, by an order, provide,—
(a) relief and compensation to the victims of pollution and other environmental damage arising under the enactments specified in the Schedule I (including accident occurring while handling any hazardous substance);
(b) for restitution of property damaged;
(c) for restitution of the environment for such area http://www.judis.nic.in 14 or areas, as the Tribunal may think fit.
(2)The relief and compensation and restitution of property and environment referred to in clauses
(a), (b) and (c) of sub-section (1) shall be in addition to the relief paid or payable under the Public Liability Insurance Act, 1991 (6 of 1991).
(3)No application for grant of any compensation or relief or restitution of property or environment under this section shall be entertained by the Tribunal unless it is made within a period of five years from the date on which the cause for such compensation or relief first arose:
Provided that the Tribunal may, if it is satisfied that the applicant was prevented by sufficient cause from filing the application within the said period, allow it to be filed within a further period not exceeding sixty days.
(4) The Tribunal may, having regard to the damage to public health, property and environment, divide the compensation or relief payable under separate heads specified in Schedule II so as to provide compensation or relief to the claimants and for restitution of the damaged property or environment, as it may think fit.
(5)Every claimant of the compensation or relief under this Act shall intimate to the Tribunal about http://www.judis.nic.in 15 the application filed to, or, as the case may be, compensation or relief received from, any other court or authority.” “16. Tribunal to have appellate jurisdiction.—Any person aggrieved by,—
(a) an order or decision, made, on or after the commencement of the National Green Tribunal Act, 2010, by the appellate authority under Section 28 of the Water (Prevention and Control of Pollution) Act, 1974 (6 of 1974);
(b) an order passed, on or after the commencement of the National Green Tribunal Act, 2010, by the State Government under Section 29 of theWater(Prevention and Control of Pollution) Act, 1974 (6 of 1974);
(c) directions issued, on or after the commencement of the National Green Tribunal Act, 2010, by a Board, under Section 33-A of the Water (Prevention and Control of Pollution) Act, 1974 (6 of 1974);
(d) an order or decision made, on or after the commencement of the National Green Tribunal Act, 2010, by the appellate authority under Section 13 of the Water (Prevention and Control of Pollution) Cess Act, 1977 (36 of 1977);
http://www.judis.nic.in 16
(e) an order or decision made, on or after the commencement of the National Green Tribunal Act, 2010, by the State Government or other authority under Section 2 of the Forest (Conservation) Act, 1980 (69 of 1980);
(f) an order or decision, made, on or after the commencement of the National Green Tribunal Act, 2010, by the Appellate Authority under Section 31 of the Air (Prevention and Control of Pollution) Act, 1981 (14 of 1981);
(g) any direction issued, on or after the commencement of the National Green Tribunal Act, 2010, under Section 5 of the Environment (Protection) Act, 1986 (29 of 1986);
(h) an order made, on or after the commencement of the National Green Tribunal Act, 2010, granting environmental clearance in the area in which any industries, operations or processes or class of industries, operations and processes shall not be carried out or shall be carried out subject to certain safeguards under the Environment (Protection) Act, 1986 (29 of 1986);
(i) an order made, on or after the commencement of the National Green Tribunal Act, 2010, refusing to grant environmental clearance for carrying out any activity or operation or process under the Environment (Protection) Act, 1986 (29 of 1986);
http://www.judis.nic.in 17
(j) any determination of benefit sharing or order made, on or after the commencement of the National Green Tribunal Act, 2010, by the National Biodiversity Authority or a State Biodiversity Board under the provisions of the Biological Diversity Act, 2002 (18 of 2003), may, within a period of thirty days from the date on which the order or decision or direction or determination is communicated to him, prefer an appeal to the Tribunal:
Provided that the Tribunal may, if it is satisfied that the appellant was prevented by sufficient cause from filing the appeal within the said period, allow it to be filed under this section within a further period not exceeding sixty days.” “29. Bar of jurisdiction.— (1) With effect from the date of establishment of the Tribunal under this Act, no civil court shall have jurisdiction to entertain any appeal in respect of any matter, which the Tribunal is empowered to determine under its appellate jurisdiction.
(2) No civil court shall have jurisdiction to settle dispute or entertain any question relating to any claim for granting any relief or compensation or restitution of property damaged or environment damaged which may be adjudicated upon by the http://www.judis.nic.in 18 Tribunal, and no injunction in respect of any action taken or to be taken by or before the Tribunal in respect of the settlement of such dispute or any such claim for granting any relief or compensation or restitution of property damaged or environment damaged shall be granted by the civil court.” “33. Act to have overriding effect.— The provisions of this Act, shall have effect notwithstanding anything inconsistent contained in any other law for the time being in force or in any instrument having effect by virtue of any law other than this Act.”
22.In the light of the above provisions of the NGT Act 2010, it is evident that the jurisdiction of the civil courts are barred.
Therefore, though the view taken in Aditya Masala Nani Agro Foods vs M Selvaraj (2007) 1 MLJ 611 following the view of the court in M.Nandagopal vs The Chairman, Tamil Nadu Pollution Control Board though are not correct, nevertheless in the light of the provisions of the National Green Tribunals Act, 2010, a civil suit is barred.
23.Consequently, I am of the view that the Present Civil http://www.judis.nic.in 19 Revision Petition deserves to be allowed and is hereby allowed. No cost. Miscellaneous petition is closed.
12.06.2019 Index :Yes/No Internet :Yes/No jen/kkd
1.The District Munsif Court, Kangeyam.
2.The District Collector- Tiruppur District, Collector Office, Palladam Road, Tirupur.
3.Revenue Divisional Officer, Ellis Nagar, Pollachi Road, Dharapuram.
4.The Thasildar, Kangayam Taluk Road, Coimbatore Road, Kangayam.
5.The President – Muthur Town Panchayat, Muthur Town panchayat Office, Kangayam Taluk, Tiruppur District.
6.The Pollution Control Officer, Tiruppur Regional Officer, Avinashi Road, Tiruppur.
7.The Section Officer, V.R.Section, High Court, Madras.
http://www.judis.nic.in 20 C.SARAVANAN, J.
jen/kkd Pre-delivery order in C.R.P.(PD).No.2706 of 2014 and M.P.No.1 of 2014 12.06.2019 http://www.judis.nic.in 21 Pre-delivery order in C.R.P.(PD).No.2706 of 2014 and M.P.No.1 of 2014 Most respectfully submitted by Jen http://www.judis.nic.in


This article describes how to configure communication with devices using Modbus protocol. Simple and robust, Modbus has since become a de facto standard communication protocol, and it is now a commonly available means of connecting industrial electronic devices (see Wikipedia). Rapid SCADA supports Modbus RTU, ASCII and TCP modes.
The general sequence of configuring:
The following is a step by step guide to setup a new Modbus device. To ensure that the process of adding the device completely coincides with the text of the article, you have to install Rapid SCADA with the default configuration.
Editing the configuration database is performed using SCADA-Administrator.
Run SCADA-Administrator. Open Objects table and add a new line for the object 2 “Test object” (see Figure 1). Then open Communication lines table and add the line 4 “Test line” (see Figure 2). After that open Devices table and add the device 41 “Test device” (see Figure 3).
Fill the following fields for the device (see Figure 3):
| Device type: | Modbus |
| Address: | Modbus address of your device, for example, 1 |
| Call number: | IP address, if the device is connected via Ethernet |
| Communication line: | "Test line", which was recently created |
Figure 1. Adding an object


Pong - HTML5, Canvas and JavaScript
Based on article
How to Get Started with HTML5
by
Maksim Mikityanskiy


i've decided websites all look the same... kind of like magazine ads. just google 'best website designs' and you'll see what i mean. so i've taken on the task of making a few proof-of-concepts. i'm generally aiming for fun, animated, or interactive UIs. whatever that means. this one has a 3d UI made via Babylon.js. button clicks open links or corresponding divs that overlay the 3d scene. you could use any 3d scene. you could even raycast to check for mouse collisions and use that to make any old mesh a button that controls in-scene interactions, animations, etc, as well as opening links and HTML divs.
This
is
testing
a
long
element
that
involves
scrolling
With supporting text below as a natural lead-in to additional content.
Go somewhere


contact us
blog
shop
page
about us
home
featured products
blue tshirt
$26
woman shirt
$31
yellow tshirt
$21
cool lingarie
$56
blue tshirt
$26
woman shirt
$31
yellow tshirt
$21
woman shirt
$56


Tune Source
Search
Hello, Admin
Insert genres music & track information
Genres of music name
Track name
Auhthor
Price
Delete
Update


This is benign
...and uses random()
This is malicious
...and uses random()
This is benign
...and uses Date().getHours()
This is malicious
...and uses Date()


Prime Finder
By Xandawesome
Is my number prime?
Are my numbers co-prime?
Is my number prime?
Enter any number here:
Is it prime?
Yes/No
Are my numbers co-prime?
Enter first number here:
Enter second number here:
Are they co-prime?
Yes/No


(defclass C1 () ((S1 :initform 5.4 :type number) (S2 :allocation :class))) (defclass C2 (C1) ((S1 :initform 5 :type integer) (S2 :allocation :instance) (S3 :accessor C2-S3)))
Instances of the class C1 have a local slot named S1, whose default initial value is 5.4 and whose value should always be a number. The class C1 also has a shared slot named S2.
There is a local slot named S1 in instances of C2. The default initial value of S1 is 5. The value of S1 should always be of type (and integer number). There are also local slots named S2 and S3 in instances of C2. The class C2 has a method for C2-S3 for reading the value of slot S3; there is also a method for (setf C2-S3) that writes the value of S3.


First lady visiting cuddle program for babies born on drugs
by STEVE LeBLANCBOSTON (AP) - Melania Trump is visiting a Boston hospital’s cuddling program that aims to help infants born dependent on drugs or alcohol.
The first lady’s stop Wednesday at Boston Medical Center is part of her “Be Best” initiative.
The hospital developed the program to nurture babies born with neonatal abstinence syndrome. The hospital also works with expectant mothers who misuse drugs or alcohol.
Mrs. Trump told hospital administrators she hopes her visit will focus more attention on their work.
She was joined by Secretary of Health and Human Services Alex Azar.
Dozens of workers at the hospital gathered outside to protest the first lady’s visit.
Democratic U.S. Rep. Ayanna Pressley says the Trump administration’s tough stance on immigration is discouraging people from seeking health care for fear of arrest and deportation.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.