|
Class Summary |
| Admin |
Handy static utility functions for turning XML into
Axis deployment operations. |
| AxisClassLoader |
This allows us to specify that certain classes, the ones we register
using the registerClass method, should be loaded using this class
loader - all others use the system default one. |
| DOM2Writer |
This class is a utility to serialize a DOM node as XML. |
| JavaUtils |
Utility class to deal with Java language related issues, such
as type conversions. |
| JWSClassLoader |
Class loader for JWS files. |
| LockableHashtable |
This subclass of the java Hashtable allows individual
entries to be "locked" so that their values cannot be
overwritten or removed. |
| Mapping |
|
| NSStack |
|
| Options |
|
| QFault |
This class allows us to easily implement extensible qualified fault codes
as defined by the SOAP Specification. |
| RB |
Wrapper class for resource bundles. |
| tcpmon |
|
| XMLUtils |
|
| XMLUtils.ParserErrorHandler |
|


the and were with for influenza mice B/-MA was from virus IBV that {background infected The Influenza strains mouse-adapted strain are margin acid using {border-style d.p.i. (Figure px;} #ffffff;} group viruses weight []. amino lungs online: infection vaccine which Virus body anti-influenza day oseltamivir < against i.i. neuraminidase substitutions vaccinated BALB/c IBVs MID drugs mouse viral All have nucleotide showed substitution April among analysis between d.p.i., detected drug groups https://yandex.ru/patents/doc/RUC_(accessed lineage pathogenicity per â€" E.P., I.S., animals data ethoxysuccinate genetic human line); px; signs study surface temperature vaccines vivo. {font-family .collab: K.S.; March O.K., Vaccine all also antiviral during each font-size inhibition isolated mice. post strain. their type ÂµL (strain Assessment PBS Russia) Strain TamifluÂ® Victoria Viral [,]. [], been caused changes days double; efficacy electron high into intranasally not only same significant such taken this titers treated unvaccinated used virus. vitro A.K., According Live TCID activity adaptation addition, after anesthetized border-color border-width can cells characterized culture determined effective effectiveness examination found has higher illness, light lung mice, monitored most other revealed samples sequence sequences solid; treatment virions well wild {font-style {font-weight (oseltamivir B/-MA) B/Vic Body Center Comparative Due E.P. Figure GISAID Intranasal Lungs Mice Petersburg, Rometar Saint Surveillance This USA) UltrixÂ® age antigenic areas bold brain, cell changes, children circulated circulating clinical compared containing contrast, courier; d.p.i.; efficiency em; epidemic ethoxysuccinate) genome heart, infections inhibitors intact its kidneys, lead liver, lost male measured mg/kg) microscopy pathological performed phylogenetic protein pt;} received resistance respiratory seasonal sections served strains. susceptibility then tissue transmission variant via virulence viruses, â"–


MBS Plugin Lister
Use this program to find all the MBS plugins that you use. It is easy to use, just select a RB built Mac OS X application and it will find the plugins that are used.
This application is freeware and does not use MBS plugins itself.


@@analytics
@@nav
Contact us
Would you like to get in touch? Please fill out our contact form below. Alternatively you can call us on 01625 668 630 or email us at
<EMAIL_ADDRESS>@@contactform @@footer


--- title: Contact class: compressed ---
If you have any questions, comments, feedback, or any thoughts at all, then feel free to get in contact with us!
Or, chat with us right now, via the chat-box on the bottom-right of this page!


Users Want
- In-Sync Data
- Real-time Collaboration
- Instant Feedback
- To Not Wait
Going Reactive
- Reactive Web
- Reactive Actors
- Reactive Streams
Reactive Web
Async + Non-Blocking
- Reactive Requests
- Reactive Composition
- Reactive Push
- 2-Way Reactive
Reactive Actors
Event-Driven Workers
- Managed Concurrency
- Isolated Failure Handling (Supervision)
- Scales up & out
Reactive Streams
A JVM standard for asynchronous stream processing with non-blocking back pressure
www.reactive-streams.org


public class ProgressBarICS
extends View
| Constructor and Description |
|---|
ProgressBarICS(Context context,
AttributeSet attrs,
int defStyle,
int styleRes) |
| Modifier and Type | Method and Description |
|---|---|
Drawable |
getIndeterminateDrawable()
Get the drawable used to draw the progress bar in
indeterminate mode.
|
Interpolator |
getInterpolator()
Gets the acceleration curve type for the indeterminate animation.
|
int |
getMax()
Return the upper limit of this progress bar's range.
|
int |
getProgress()
Get the progress bar's current level of progress.
|
Drawable |
getProgressDrawable()
Get the drawable used to draw the progress bar in
progress mode.
|
int |
getSecondaryProgress()
Get the progress bar's current level of secondary progress.
|
void |
incrementProgressBy(int diff)
Increase the progress bar's progress by the specified amount.
|
void |
incrementSecondaryProgressBy(int diff)
Increase the progress bar's secondary progress by the specified amount.
|
void |
invalidateDrawable(Drawable dr) |
boolean |
isIndeterminate()
Indicate whether this progress bar is in indeterminate mode.
|
void |
onRestoreInstanceState(Parcelable state) |
Parcelable |
onSaveInstanceState() |
void |
postInvalidate() |
void |
setIndeterminate(boolean indeterminate)
Change the indeterminate mode for this progress bar.
|
void |
setIndeterminateDrawable(Drawable d)
Define the drawable used to draw the progress bar in
indeterminate mode.
|
void |
setInterpolator(Context context,
int resID)
Sets the acceleration curve for the indeterminate animation.
|
void |
setInterpolator(Interpolator interpolator)
Sets the acceleration curve for the indeterminate animation.
|
void |
setMax(int max)
Set the range of the progress bar to 0...
|
void |
setProgress(int progress)
Set the current progress to the specified value.
|
void |
setProgressDrawable(Drawable d)
Define the drawable used to draw the progress bar in
progress mode.
|
void |
setSecondaryProgress(int secondaryProgress)
Set the current secondary progress to the specified value.
|
void |
setVisibility(int v) |
public ProgressBarICS(Context context, AttributeSet attrs, int defStyle, int styleRes)
public boolean isIndeterminate()
Indicate whether this progress bar is in indeterminate mode.
public void setIndeterminate(boolean indeterminate)
Change the indeterminate mode for this progress bar. In indeterminate mode, the progress is ignored and the progress bar shows an infinite animation instead.
If this progress bar's style only supports indeterminate mode (such as the circular progress bars), then this will be ignored.indeterminate
- true to enable the indeterminate modepublic Drawable getIndeterminateDrawable()
Get the drawable used to draw the progress bar in indeterminate mode.
Drawable
instance#setIndeterminateDrawable(android.graphics.drawable.Drawable)
,
setIndeterminate(boolean)
public void setIndeterminateDrawable(Drawable d)
Define the drawable used to draw the progress bar in indeterminate mode.
d
- the new drawablegetIndeterminateDrawable()
,
setIndeterminate(boolean)
public Drawable getProgressDrawable()
Get the drawable used to draw the progress bar in progress mode.
Drawable
instance#setProgressDrawable(android.graphics.drawable.Drawable)
,
setIndeterminate(boolean)
public void setProgressDrawable(Drawable d)
Define the drawable used to draw the progress bar in progress mode.
d
- the new drawablegetProgressDrawable()
,
setIndeterminate(boolean)
public void postInvalidate()
public void setProgress(int progress)
Set the current progress to the specified value. Does not do anything if the progress bar is in indeterminate mode.
progress
- the new progress, between 0 and getMax()
setIndeterminate(boolean)
,
isIndeterminate()
,
getProgress()
,
incrementProgressBy(int)
public void setSecondaryProgress(int secondaryProgress)
Set the current secondary progress to the specified value. Does not do anything if the progress bar is in indeterminate mode.
secondaryProgress
- the new secondary progress, between 0 and getMax()
setIndeterminate(boolean)
,
isIndeterminate()
,
getSecondaryProgress()
,
incrementSecondaryProgressBy(int)
public int getProgress()
Get the progress bar's current level of progress. Return 0 when the progress bar is in indeterminate mode.
getMax()
setIndeterminate(boolean)
,
isIndeterminate()
,
setProgress(int)
,
setMax(int)
,
getMax()
public int getSecondaryProgress()
Get the progress bar's current level of secondary progress. Return 0 when the progress bar is in indeterminate mode.
getMax()
setIndeterminate(boolean)
,
isIndeterminate()
,
setSecondaryProgress(int)
,
setMax(int)
,
getMax()
public int getMax()
Return the upper limit of this progress bar's range.
setMax(int)
,
getProgress()
,
getSecondaryProgress()
public void setMax(int max)
Set the range of the progress bar to 0...max.
max
- the upper range of this progress bargetMax()
,
setProgress(int)
,
setSecondaryProgress(int)
public final void incrementProgressBy(int diff)
Increase the progress bar's progress by the specified amount.
diff
- the amount by which the progress must be increasedsetProgress(int)
public final void incrementSecondaryProgressBy(int diff)
Increase the progress bar's secondary progress by the specified amount.
diff
- the amount by which the secondary progress must be increasedsetSecondaryProgress(int)
public void setInterpolator(Context context, int resID)
context
- The application environmentresID
- The resource identifier of the interpolator to loadpublic void setInterpolator(Interpolator interpolator)
interpolator
- The interpolator which defines the acceleration curvepublic Interpolator getInterpolator()
Interpolator
associated to this animationpublic void setVisibility(int v)
public void invalidateDrawable(Drawable dr)
public Parcelable onSaveInstanceState()
public void onRestoreInstanceState(Parcelable state)


Kim Jong Un rejects invitation from South Korea to regional summit
Media in Pyongyang say Mr Kim blames Seoul for the freeze in relations.
North Korea’s Kim Jong Un has turned down an invitation by South Korean President Moon Jae-in to participate in a regional summit next week, media in Pyongyang has reported.
Mr Kim has blamed the South for a deep freeze in inter-Korean relations.
The Korean Central News Agency said there was no reason for Mr Kim to visit the South under a “murky” atmosphere.
It criticised Mr Moon’s government for failing to uphold agreements reached between their leaders.
The souring of relations follows diplomacy which has seen US President Donald Trump meet Mr Kim in Singapore, Vietnam and the Demilitarised Zone in moves intended to find a solution to Pyongyang’s nuclear weapons programme.


Welcome to VNUK Airlines
VNUK Airlines is proud to be one of the youngest global airlines to serve all six continents, and thanks to our customers’ response to our offerings, we are also the world’s fastest-growing airline. We connect more than 160 destinations on the map every day, with a fleet of the latest-generation aircraft, and an unrivalled level of service from our home and hub, the Five-star airport, Da Nang International Airport in Danang, the city of Vietnam.
Travel today involves a mix of short, medium and long-haul segments, with more people travelling than ever before. With the breadth of network coverage today, virtually no destination is unreachable. This is why the commitment to service is paramount; as our guests are travelling farther and more frequently than ever before, the experience on board is an important part of the journey itself.
Since our launch in 1997,VNUK Airlines has earned many awards and accolades, becoming one of an elite group of airlines worldwide to have earned a 5-star rating by Skytrax. Voted Airline of the Year by Skytrax in 2011, 2012, 2015 and most recently in 2017, VNUK Airlines has won the confidence of the travelling public. We have accomplished these goals by focusing on the details – how we run the business, and how you experience our airline.
My goal is to make VNUK Airlines your airline of choice, offering the flights you want to the destinations you need. That drives this team of more than 46,000 professionals every day, and will continue to motivate us to make VNUK Airlines your only airline.
On behalf of everyone at VNUK Airlines, we look forward to welcoming you on board, and let us Go Places Together.
Thank you.
Hieu, Phu, Attila
Group Chief Executives of VNUK Airlines


xkbbell - XKB extension user utility
xkbbell [-display <dpy>] [-synch] [-dev <id>] [-force] [-nobeep] [-bf <id>] [-kf <id>] [-v <volume>] [-w <id>] [-help|-version]
-display <dpy> specifies which display to use
-synch turns on synchronization
-dev <id> specifies which device to use
-force force audible bell
-nobeep suppress server bell, event only
-bf <id> specifies which bell feedback to use
-kf <id> specifies which keyboard feedback to use
-v <volume> specifies which volume to use
-w <id> specifies which window to use
-help print list of options and exit
-version print program version and exit
If neither device nor feedback are specified, xkbbell uses the default values for the core keyboard device.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object workspace.WorkspaceEvent
public class WorkspaceEvent
| Field Summary | |
|---|---|
static int |
BLOCK_ADDED
|
static int |
BLOCK_COMMENT_ADDED
|
static int |
BLOCK_COMMENT_CHANGED
|
static int |
BLOCK_COMMENT_MOVED
|
static int |
BLOCK_COMMENT_REMOVED
|
static int |
BLOCK_COMMENT_RESIZED
|
static int |
BLOCK_COMMENT_VISBILITY_CHANGE
|
static int |
BLOCK_GENUS_CHANGED
|
static int |
BLOCK_MOVED
|
static int |
BLOCK_REMOVED
|
static int |
BLOCK_RENAMED
|
static int |
BLOCK_STACK_COMPILED
|
static int |
BLOCKS_CONNECTED
|
static int |
BLOCKS_DISCONNECTED
|
static int |
PAGE_ADDED
|
static int |
PAGE_REMOVED
|
static int |
PAGE_RENAMED
|
static int |
PAGE_RESIZED
|
static int |
WORKSPACE_FINISHED_LOADING
|
| Constructor Summary | |
|---|---|
WorkspaceEvent(WorkspaceWidget widget,
BlockLink link,
int eventType)
Constructs a new WorkspaceEvent. |
|
WorkspaceEvent(WorkspaceWidget widget,
BlockLink link,
int eventType,
boolean userSpawned)
|
|
WorkspaceEvent(WorkspaceWidget page,
int eventType)
Constructs a new WorkspaceEvent. |
|
WorkspaceEvent(WorkspaceWidget page,
int eventType,
boolean userSpawned)
|
|
WorkspaceEvent(WorkspaceWidget widget,
java.lang.Long blockID,
int eventType)
Constructs a new WorkspaceEvent. |
|
WorkspaceEvent(WorkspaceWidget widget,
java.lang.Long blockID,
int eventType,
boolean userSpawned)
|
|
WorkspaceEvent(WorkspaceWidget page,
java.lang.String oldName,
int eventType)
Constructs a new WorkspaceEvent. |
|
WorkspaceEvent(WorkspaceWidget page,
java.lang.String oldName,
int eventType,
boolean userSpawned)
|
| Method Summary | |
|---|---|
int |
getEventType()
Returns the int event type of this |
java.lang.String |
getOldNameOfSourceWidget()
Returns the original name of the source widget; null if the source widget's name did not change. |
java.lang.Long |
getSourceBlockID()
Returns the Long ID of the Block where this event occured. |
BlockLink |
getSourceLink()
Returns the BlockLink where this event originated, or null if the event type of this is not block connected or disconnected. |
WorkspaceWidget |
getSourceWidget()
Returns the WorkspaceWidget where this event occured. |
boolean |
isUserEvent()
Tells if this event is a user spawned event or not |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int PAGE_ADDED
public static final int PAGE_REMOVED
public static final int BLOCK_ADDED
public static final int BLOCK_REMOVED
public static final int BLOCKS_CONNECTED
public static final int BLOCKS_DISCONNECTED
public static final int BLOCK_STACK_COMPILED
public static final int PAGE_RENAMED
public static final int PAGE_RESIZED
public static final int BLOCK_RENAMED
public static final int BLOCK_MOVED
public static final int BLOCK_GENUS_CHANGED
public static final int BLOCK_COMMENT_ADDED
public static final int BLOCK_COMMENT_REMOVED
public static final int BLOCK_COMMENT_MOVED
public static final int BLOCK_COMMENT_RESIZED
public static final int BLOCK_COMMENT_VISBILITY_CHANGE
public static final int BLOCK_COMMENT_CHANGED
public static final int WORKSPACE_FINISHED_LOADING
| Constructor Detail |
|---|
public WorkspaceEvent(WorkspaceWidget page, int eventType)
page
- eventType
- public WorkspaceEvent(WorkspaceWidget page, int eventType, boolean userSpawned)
public WorkspaceEvent(WorkspaceWidget page, java.lang.String oldName, int eventType)
page
- oldName
- the old String name of this pageeventType
- public WorkspaceEvent(WorkspaceWidget page, java.lang.String oldName, int eventType, boolean userSpawned)
public WorkspaceEvent(WorkspaceWidget widget, java.lang.Long blockID, int eventType)
widget
- blockID
- eventType
- public WorkspaceEvent(WorkspaceWidget widget, java.lang.Long blockID, int eventType, boolean userSpawned)
public WorkspaceEvent(WorkspaceWidget widget, BlockLink link, int eventType)
widget
- link
- eventType
- public WorkspaceEvent(WorkspaceWidget widget, BlockLink link, int eventType, boolean userSpawned)
| Method Detail |
|---|
public boolean isUserEvent()
public WorkspaceWidget getSourceWidget()
public java.lang.Long getSourceBlockID()
public int getEventType()
public BlockLink getSourceLink()
public java.lang.String getOldNameOfSourceWidget()
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


If set this value is the Unix Timestamp at which this button's cooldown will expire. Set this value using setCooldown
The spark cost of this button in sparks. Set this value using setCost
A keycode which will trigger this button if pressed on a participant's keyboard.
A decimalized percentage (0.0 - 1.0) which controls how wide this button's progress bar is.
Set this value using setProgress
The text displayed on a button, presented to the participants. Set this value using setText
Disables this control, preventing participant interaction.
Enables this control, allowing participant interaction.
Sends an input event from a participant to the server for consumption.
Merges in values from the server in response to an update operation from the server.
Called by client when it recieves an input event for this control from the server.
Sets the client instance this control can use to execute methods.
Sets the cooldown for this button. Specified in Milliseconds. The Client will convert this to a Unix timestamp for you.
Sets the spark cost for this button. An Integer greater than 0
Sets a progress value for this button. A decimalized percentage (0.0 - 1.0)
Sets the scene this control belongs to.
Sets a new text value for this button.
Update this button on the server.
Generated using TypeDoc
Buttons can be pushed by participants with their mouse or activated with their keyboards.


The "provider" is your unique identifer. Your data will be loaded in to an sqlite3 table with this name. Also, this name is used to determine the specific columns used by your organization.
Provider:
When you are ready, hit the Submit button.


The easiest way to install pandas is to install it as part of the Anaconda distribution, a cross platform distribution for data analysis and scientific computing. This is the recommended installation method for most users.
Instructions for installing from source, PyPI, ActivePython, various Linux distributions, or a development version are also provided.
Officially Python 3.6.1 and above, 3.7, and 3.8.
Installing pandas and the rest of the NumPy and SciPy stack can be a little difficult for inexperienced users.
The simplest way to install not only pandas, but Python and the most popular packages that make up the SciPy stack (IPython, NumPy, Matplotlib, …) is with Anaconda, a cross-platform (Linux, Mac OS X, Windows) Python distribution for data analytics and scientific computing.
After running the installer, the user will have access to pandas and the rest of the SciPy stack without needing to install anything else, and without needing to wait for any software to be compiled.
Installation instructions for Anaconda can be found here.
A full list of the packages available as part of the Anaconda distribution can be found here.
Another advantage to installing Anaconda is that you don’t need admin rights to install it. Anaconda can install in the user’s home directory, which makes it trivial to delete Anaconda if you decide (just delete that folder).
The previous section outlined how to get pandas installed as part of the Anaconda distribution. However this approach means you will install well over one hundred packages and involves downloading the installer which is a few hundred megabytes in size.
If you want to have more control on which packages, or have a limited internet bandwidth, then installing pandas with Miniconda may be a better solution.
Conda is the package manager that the Anaconda distribution is built upon. It is a package manager that is both cross-platform and language agnostic (it can play a similar role to a pip and virtualenv combination).
Miniconda allows you to create a minimal self contained Python installation, and then use the Conda command to install additional packages.
First you will need Conda to be installed and downloading and running the Miniconda will do this for you. The installer can be found here
The next step is to create a new conda environment. A conda environment is like a virtualenv that allows you to specify a specific version of Python and set of libraries. Run the following commands from a terminal window:
conda create -n name_of_my_env python
This will create a minimal environment with only Python installed in it. To put your self inside this environment run:
source activate name_of_my_env
On Windows the command is:
activate name_of_my_env
The final step required is to install pandas. This can be done with the following command:
conda install pandas
To install a specific pandas version:
conda install pandas=0.20.3
To install other packages, IPython for example:
conda install ipython
To install the full Anaconda distribution:
conda install anaconda
If you need packages that are available to pip but not conda, then install pip, and then use pip to install those packages:
conda install pip pip install django
pandas can be installed via pip from PyPI.
pip install pandas
Installation instructions for ActivePython can be found here. Versions 2.7, 3.5 and 3.6 include pandas.
The commands in this table will install pandas for Python 3 from your distribution. To install pandas for Python 2, you may need to use the python-pandas package.
python-pandas
Distribution
Status
Download / Repository Link
Install method
Debian
stable
official Debian repository
sudo apt-get install python3-pandas
Debian & Ubuntu
unstable (latest packages)
NeuroDebian
Ubuntu
official Ubuntu repository
OpenSuse
OpenSuse Repository
zypper in python3-pandas
Fedora
official Fedora repository
dnf install python3-pandas
Centos/RHEL
EPEL repository
yum install python3-pandas
However, the packages in the linux package managers are often a few versions behind, so to get the newest version of pandas, it’s recommended to install using the pip or conda methods described above.
pip
conda
See the contributing guide for complete instructions on building from the git source tree. Further, see creating a development environment if you wish to create a pandas development environment.
pandas is equipped with an exhaustive set of unit tests, covering about 97% of the code base as of this writing. To run it on your machine to verify that everything is working (and that you have all of the dependencies, soft and hard, installed), make sure you have pytest >= 5.0.1 and Hypothesis >= 3.58, then run:
>>> pd.test() running: pytest --skip-slow --skip-network C:\Users\TP\Anaconda3\envs\py36\lib\site-packages\pandas ============================= test session starts ============================= platform win32 -- Python 3.6.2, pytest-3.6.0, py-1.4.34, pluggy-0.4.0 rootdir: C:\Users\TP\Documents\Python\pandasdev\pandas, inifile: setup.cfg collected 12145 items / 3 skipped ..................................................................S...... ........S................................................................ ......................................................................... ==================== 12130 passed, 12 skipped in 368.339 seconds =====================
Package
Minimum supported version
setuptools
24.2.0
NumPy
1.13.3
python-dateutil
2.6.1
pytz
2017.2
numexpr: for accelerating certain numerical operations. numexpr uses multiple cores as well as smart chunking and caching to achieve large speedups. If installed, must be Version 2.6.2 or higher.
numexpr
bottleneck: for accelerating certain types of nan evaluations. bottleneck uses specialized cython routines to achieve large speedups. If installed, must be Version 1.2.1 or higher.
nan
bottleneck
Note
You are highly encouraged to install these libraries, as they provide speed improvements, especially when working with large data sets.
Pandas has many optional dependencies that are only used for specific methods. For example, pandas.read_hdf() requires the pytables package, while DataFrame.to_markdown() requires the tabulate package. If the optional dependency is not installed, pandas will raise an ImportError when the method requiring that dependency is called.
pandas.read_hdf()
pytables
DataFrame.to_markdown()
tabulate
ImportError
Dependency
Minimum Version
Notes
BeautifulSoup4
4.6.0
HTML parser for read_html (see note)
Jinja2
Conditional formatting with DataFrame.style
PyQt4
Clipboard I/O
PyQt5
PyTables
3.4.2
HDF5-based reading / writing
SQLAlchemy
1.1.4
SQL support for databases other than sqlite
SciPy
0.19.0
Miscellaneous statistical functions
XLsxWriter
0.9.8
Excel writing
blosc
Compression for HDF5
fastparquet
0.3.2
Parquet reading / writing
gcsfs
0.2.2
Google Cloud Storage access
html5lib
lxml
3.8.0
matplotlib
2.2.2
Visualization
numba
0.46.0
Alternative execution engine for rolling operations
openpyxl
2.5.7
Reading / writing for xlsx files
pandas-gbq
0.8.0
Google Big Query access
psycopg2
PostgreSQL engine for sqlalchemy
pyarrow
0.12.0
Parquet, ORC (requires 0.13.0), and feather reading / writing
pymysql
0.7.11
MySQL engine for sqlalchemy
pyreadstat
SPSS files (.sav) reading
HDF5 reading / writing
qtpy
s3fs
0.3.0
Amazon S3 access
0.8.3
Printing in Markdown-friendly format (see tabulate)
xarray
0.8.2
pandas-like API for N-dimensional data
xclip
Clipboard I/O on linux
xlrd
1.1.0
Excel reading
xlwt
1.2.0
xsel
zlib
One of the following combinations of libraries is needed to use the top-level read_html() function:
read_html()
Changed in version 0.23.0.
BeautifulSoup4 and html5lib
BeautifulSoup4 and lxml
BeautifulSoup4 and html5lib and lxml
Only lxml, although see HTML Table Parsing for reasons as to why you should probably not take this approach.
Warning
if you install BeautifulSoup4 you must install either lxml or html5lib or both. read_html() will not work with only BeautifulSoup4 installed.
You are highly encouraged to read HTML Table Parsing gotchas. It explains issues surrounding the installation and usage of the above three libraries.


APA102 "global" brightness (warning: low frequency pwm)
Brightness
Wifi Credentials
SSID
Password
Update WiFi
LED Strip Type:
APA102
WS2811
WS2812
APA104


Component Demos
{{route.name}}
Component Source
Example Source
Other Resources
Material design
Color palette tool
Drawer Demo page
info_outline
Drawer example
A sidebar with logo
This drawer was designed to work well with `package:angular_components`. Uses the same ripple
animations,
extends certain base classes and is fairly easy to use.
See more information


My Son The Fanatic **1/2
rated R Miramax Films 86 minutes starring Om Puri, Rachel Griffiths, Stellan Skarsgard, Akbar Kurtha, Gopi Desai written by Hanif Kureishi directed by Udayan Prasad
"My Son The Fanatic", the latest from director Udayan Prasad, is an occasionally comedic drama that tackles an important subject, but does so incoherently. Om Puri gives an exceptional performance as Parvez, a Pakistani cab driver in Northern England whose son has just called off his wedding to an Englishwoman because of his budding Islam Fundamentalist beliefs. Parvez, who recieves most of his business by driving around prostitutes(most notably Bettina, played by Rachel Griffiths), puts up his argument for British conformity against his son's Muslim idealism. The interesting thing about "My Son The Fanatic" is that both arguments are convincing. But while the film's conflict is a relevant one, the film itself is poorly wrought. Despite a few powerful scenes, "My Son The Fanatic" is largely dull and uninviting. The elements of comedy that are worked it seemed forced and unnecessary, since the theme of the film is decidedly downbeat. Director Udayan Prasad has decided to forget about style and structure and let the actors do their work. Om Puri brings a lot of emotion to his role as the torn father; while bit players Rachel Griffiths and Stellan Skarsgard seem merely competent in his presence. "My Son The Fanatic" presents many moral questions, and in a better-made film, they would have been answered.
a capsule review by Akiva Gottlieb, The Teenage Movie Critic<EMAIL_ADDRESS>http://teenagemoviecritic.8m.com
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


{% extends "layout.html" %} {% block body %}
*NOTE* StreamPULSE has outgrown its database, so even small downloads can take a long time. Please select just one or a few sites using this tool. Downloads requiring more than 30 minutes will time out.
Until this is resolved, you may find it easier to download StreamPULSE data in bulk and subset it to your needs.
1. Select data source. This populates the dropdown menu in step 2.
    (Powell Center downloads take a long time!)
2. Choose site(s) and date range.
Note: these data can also be acquired via the StreamPULSE package for R.


Repositories of information, known as knowledge bases, come in two forms: machine readable and human readable.
Icons made by Nikita Golubev from www.flaticon.com
Icons made by Smashicons from www.flaticon.com
Machine readable repositories are encoded for interpretation by machines and makes them unsuitable for research by human eyes.
Machine repositories are used for automating help desks.
While human readable knowledge bases are more interactive they require time-consuming prompting to provide solutions.
Current solutions are collaborative tools or templates in which the user has to follow a rigid structure to create a searchable repository.
Icons made by Eucalyp from www.flaticon.com
Collection, storage, and processing of individualized data, in regards to electronic reference material, is fragmented and/or domain specific (such as finance and enterprise). Educators and researchers need a framework and tool-set to both collect and process data for the purpose of knowledge management.
made by Eucalyp from www.flaticon.com
#
#
#
#
#
Faculty Information Flow
Student Information Flow
#
#
#
#
#
Our goal is to build an extensible framework (ROARS) and a tool-set with which to collect and store electronic data in an organized structure, regardless of format or type. The framework can be extended throught he use of api calls. The base tool-set would include a webscraping utility, a utility to compare two versions of the same document, and a way to track changes to the document. The framework will allow for modules to be built for other types of processing of data after the initial storage and collection .
#
#
#
#
#
Icons made by Eucalyp from www.flaticon.com


2013 CS140 Final Exam Page Three
Question 7 - AVL Trees
Below, I give you a AVL tree and an action. I also have fifteen multiple choice
answers. For each tree and action, tell me the letter of the AVL tree that results when
the action is performed on the given AVL tree.
| Tree 1 |
Tree 2 |
Tree 3 |
| Tree 4 |
Tree 5 |
Tree 6 |


THE FAST AND THE FURIOUS RATING: 7/10
For more reviews and movie trailers, check out http://www.joblo.com/
PLOT: A whitebread outsider joins a local LA street racing gang o' thugs and chicks, and falls for the sister of its leader. But it's all good, since the man in charge is now buds with the rookie as they race, drink and race some more. So what happens when someone from the crew is discovered to be an undercover cop? I'm sorry but you're gonna have to see the movie yourself to find that one out (giving you the minute spoiler-filled details of any film is obviously not my goal here...hehehe)
CRITIQUE: I already said this once in my review of PITCH BLACK, but I'll say it again here...Vin Diesel rocks! Phew...and now that I got that out of the way, allow me to introduce you to a film that is ideally made for the summer season.  Forget about the sub-par acting jobs by some of the thespians in this film, put aside the fact that there's a dinky romance going on, ignore lines like "...if you need more time...buy the magazine!"   If you're looking for an escape from the real world...you've come to the right place. This movie delivers just what you're looking for, if what you're looking for is a good time. Plain and simple. But get this...not only did the movie entertain me, it actually added to that by "teaching" me a thing or two about street racing. That's right...I actually "learned" something from a summer movie! Wow, what's the world coming to...?
 But I can't complete my positive review of this film without discussing the man who kept the fort down in this picture.  By the way, if you're not a fan of his yet, watch this movie twice and call me in the morning. Okay, so maybe I'm exaggerating just a little bit, but Vin really did punch in yet another solid acting card here and certainly lifted the lesser talents of his surrounding players to a higher level. Sure, Michelle Rodriguez was also pretty good as the tough girlfriend with the attitude and some of the lines that these poor saps had to deliver were just awful, but all in all, I was still quite interested in most of the plights of these characters, and God knows, the stunts and car chases kept me rockin', so what else can I tell you...the movie entertained me, dammit!! I also liked the ending, some of the humor elements strung throughout the film, the camera tricks that Mr. Rob Cohen surprised me with and the scene where the two girls were making out at a party...oops, but that's another story altogether.
Actually, Dr. Drew, who joined me at this screening, noted that this film might've worked better if things had been moved into the world of the R-rating, and I must say that I agree with the man (he liked the film too, btw). A few swear words here and there, some gratuitous nudity and some of the "old ultra-violence" might've propelled this film directly into popcorn summer movie heaven, but alas, the film was still rock solid cheesy fun despite that. And by the way, I'm not "into cars" myself, in case you were interested, but damn, some of the stuff in this movie was just nitro without the seatbelts. So grab a cold beer, pump up your pecs before walking into the theater and don't forget to drop your brain off at the entrance. NOS, baby!! Oh yeah, and did I mention that Vin Diesel rocks!
Where's JoBlo coming from? Armageddon (8/10) - Deep Blue Sea (8/10) - Driven (5/10) - Exit Wounds (7/10) - Gone in Sixty Seconds (6/10) - Grease (8/10) - Mission Impossible 2 (7/10) - The Mod Squad (2/10) - Point Break (7/10) - Ronin (8/10)
Review Date: June 20, 2001 Director: Rob Cohen Writers: Gary Scott Thompson, Erik Bergquist, David Ayer Producer: Neil H. Moritz Actors: Paul Walker as Brian Spindler Vin Diesel as Dominic Toretto Michelle Rodriguez as Letty Genre: Action Year of Release: 2001 ------------------------------------ JoBlo's Movie Emporium http://www.joblo.com/ ------------------------------------ (c) 2001 Berge Garabedian
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


Package com.jasongatt.graphics.shapes
Interfaces
IShape
Classes
AbstractShape
DiamondShape
EllipseShape
GroupShape
LineShape
MaximumSizeShape
PolygonShape
RectangleShape
RoundedRectangleShape
TransformShape
TriangleShape
UniformSizeShape
WedgeShape


Subcribe
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
This card has supporting text below as a natural lead-in to additional content.
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
This card has supporting text below as a natural lead-in to additional content.
Địa chỉ: Tòa nhà VNPT. 38 Yên Bái, quận Hải Châu, Thành phố Đà Nẵng
Điện thoại: 0236.3.779.555
Email<EMAIL_ADDRESS>HOME
HTML
CSS
JAVASCRIPT
PHP
CONTACT
Team
Location
Privacy
Terms


Angelique
Member
Registered: May 2002
Location: dallas
Posts: 79 |
I have watched Sight Unseen and didn't get the impression that the writers meant for it to be considered a humerous episode. It was certainly less serious than most others, but they still took themselves seriously. There were amusing moments, but nothing obvious like in Urgo, Window of Op, Wormhole X-Treme, or The Other Guys. It just didn't have the same flavor at all.
And on the humor note, I think the SG1 writers do a fantastic job of writing humor, partly because they know it's not their forte. They don't try to make it a sitcom every week, and they use situational comedy extremely sparingly. By generously spacing out the humorous eps, they don't pressure themselves to deliver. And the one-liners in every episode are always fantastic, though I know the credit for some of those goes to the actors like RDA. But SG1 isn't about the humor, so we appreciate it all the more when it shows up and makes such a good showing. :-)
Report this post to a moderator | ? + *
|


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Serves 4
Creamy panna cotta infused with vanilla and orange and served with sweet, tangy rhubarb. A delicious dinner party dessert that can be prepared in advance.
For the panna cotta, preheat the oven to 140C/275F/Gas 1.
Place the orange rind on a baking tray and bake in the oven for 20 minutes, or until completely dry.
In a small pan, heat the dried rind with the sugar, cream and vanilla. Simmer until the sugar has dissolved. Remove the orange rind and vanilla.
Squeeze the excess water from the softened gelatine leaves, then add to the cream mixture and continue to simmer until dissolved. Remove from the heat and stir in the buttermilk.
Place four dariole moulds or ramekins on a baking tray and pour in the panna cotta mixture. Chill in the fridge for 1-2 hours, or until set.
For the mint roasted rhubarb, preheat the oven to 200C/400F/Gas 6.
Place the rhubarb in a roasting tin, sprinkle over the sugar, then drizzle over the orange juice and mint. Roast the rhubarb in the oven for 8-12 minutes, or until just tender.
To serve, remove the panna cotta from the fridge. To remove the panna cotta from the moulds, briefly dip the base of each mould into a bowl of boiled water. Gently slide a knife around the edge of each panna cotta and turn out into the centre of a serving plate. Place the roasted rhubarb on the side and drizzle over any juice left in the roasting tin.


|
|
static const unsigned int | USER_OPEN = 0x00000000 |
| |
|
static const unsigned int | USER_PERMAOPEN = 0x00000001 |
| |
|
static const unsigned int | USER_LOCK = 0x00000002 |
| |
|
static const unsigned int | USER_PERMALOCK = 0x00000003 |
| |
|
static const unsigned int | TID_OPEN = 0x00000000 |
| |
|
static const unsigned int | TID_PERMAOPEN = 0x00000004 |
| |
|
static const unsigned int | TID_LOCK = 0x00000008 |
| |
|
static const unsigned int | TID_PERMALOCK = 0x0000000C |
| |
|
static const unsigned int | EPC_OPEN = 0x00000000 |
| |
|
static const unsigned int | EPC_PERMAOPEN = 0x00000010 |
| |
|
static const unsigned int | EPC_LOCK = 0x00000020 |
| |
|
static const unsigned int | EPC_PERMALOCK = 0x00000030 |
| |
|
static const unsigned int | ACCESSPWD_OPEN = 0x00000000 |
| |
|
static const unsigned int | ACCESSPWD_PERMAOPEN = 0x00000040 |
| |
|
static const unsigned int | ACCESSPWD_LOCK = 0x00000080 |
| |
|
static const unsigned int | ACCESSPWD_PERMALOCK = 0x000000C0 |
| |
|
static const unsigned int | KILLPWD_OPEN = 0x00000000 |
| |
|
static const unsigned int | KILLPWD_PERMAOPEN = 0x00000100 |
| |
|
static const unsigned int | KILLPWD_LOCK = 0x00000200 |
| |
|
static const unsigned int | KILLPWD_PERMALOCK = 0x00000300 |
| |
|
static const unsigned int | USER_MASK = 0x00000C00 |
| |
|
static const unsigned int | TID_MASK = 0x00003000 |
| |
|
static const unsigned int | EPC_MASK = 0x0000C000 |
| |
|
static const unsigned int | ACCESSPWD_MASK = 0x00030000 |
| |
|
static const unsigned int | KILLPWD_MASK = 0x000C0000 |
| |
The RFIDTagLockFlags class is an auxiliary class created to simplify the work of the programmer.
The RFIDTagLockFlags class is an auxiliary class with the tag lock option flags can be sent to the RFID reader.


I've tried to solve as many points as possible given in the task. However, the original idea was to desing the setup with Flask (Python) but I'm on vecation so used only the HTML & JavaScript.
Note : All the players used in this website are configured to play only in Desktop.
Test account details :
Backlot user email address<EMAIL_ADDRESS>Tools used : Node.js, Git, Chrome Developer tool bar, NPP
Setup hosted : Win 2012R2 EC2 instance (AWS)


A simple chat or "shoutbox" based on WebSockets, pure Javascript, and python
No images; No CSS classes; no Javascript framework; no backend dependencies. Pure HTML, CSS3, Javascript and Python.
Requires a modern browser (particularly IE10+).
It adapts to a fluid design (try resizing this window!), allows username selection (handling username collisions), provides rate limiting and spam control (users can ignore particular commenters), etc.
The frontend can be easily adapted to your preferred Javascript framework, including jQuery. The lack of CSS classes means there will be minimum interference with your existing stylesheets.
The backend is a custom, multi-threaded, asynchronous HTTP/WebSockets server written in pure Python. It's however very limited and untested, and should be ported to a real server for production use. It can also be adapted to your programming language of choice using the original code as a guide.
I've developed Shout! to learn about WebSockets and low-level networking in Python, and I've commented the code to guide you through my steps.
For your convenience the entire project is contained in only two files: a .html
for the frontend and a .py
for the backend.
Feel free to use, edit, or distribute this code in any way you want. Check out the GitHub repository; your contributions will be more than welcome.
Copyright © 2014 Joel Santirso
Your browser doesn't support Javascript, or you might have blocked it.
Please, activate Javascript and refresh or try again with a newer browser.
Your browser doesn't support WebSockets, or you might have blocked them.
Please, whitelist our website and refresh or try again with a newer browser.


Trip Log
This program will help you calculate fuel costs for a trip.
Today's Date:
Miles Travelled:
Include breakfast as an expense?
YES
NO
Include lunch as an expense?
YES
NO
Include dinner as an expense?
YES
NO
Include a hotel stay as an expense?
YES
NO


1 HIGH COURT OF MADHYA PRADESH, JABALPUR M.Cr.C. No.5675/2011 Rajendra Kumar Wadhwan................................................Petitioner Versus M. P. Pollution Control Board, Bhopal..............................Respondent M.Cr.C. No.5752/2011 M/s. Daawat Foods Limited..............................................Petitioner Versus M. P. Pollution Control Board, Bhopal.............................Respondent For the petitioners : Mr. Ajay Mishra, learned senior counsel, with Mr. Laven Arora, learned counsel. For the respondent: Mr. V. S. Shroti, learned senior counsel, with Mr. Vikram Johri, learned counsel. ORDER
(15.2.2018) The petitions under judgement have been filed by the company M/s. Dawat Foods Limited (hereinafter referred to as "the Company") and the petitioner Rajendra Kumar Wadhwan is a Director of the Company. The petitions have been filed invoking the powers of this court under section 482 Cr.P.C. for the quashment of the proceedings in Case No.223/2011, prosecuting the petitioners for the offences punishable under sections 43, 44 read with 47 of the Water (Prevention and Control of Pollution) Act, 1974 (hereinafter referred to as "the Water Act").The case was registered on the basis of a complaint filed by the respondent which is pending in the Court of the learned Chief Judicial Magistrate, Raisen. The petitioner in 2 M.Cr.C. No.5675/2011 is a Director in the Company. The Company is the petitioner in M.Cr.C. No.5752/2011.
2. The Company has a rice processing plant situated at Plot No.7, Satlapur Growth Centre, Phase II, Industrial Area, Mandideep, District Raisen. The petitioner Rajendra Kumar Wadhwan is stated to be mainly responsible for the works/assignments in the company, purchase of raw materials and marketing of the finished products and other aspects. The license under the Factories Act 1948 and rules thereunder of the year 1962, have been granted. Annexure P1 to the petitioner is the certificate of incorporation of the Company. Annexure P2 is the licence to work a factory issued under Rule 5 of the M. P. Factories Rules 1962 dated 26.10.2010. Annexure P3 is a letter addressed to the Chief Inspector of Factories dated 29.6.2010 by which Form 4-A was submitted, reflecting a change in the person nominated to represent the company. The outgoing manager was Mr. Vikram Patel and the newly nominated person was the new Manager Mr. Rajesh Jaiswal.
3. Before commencement of operations, the Company had sought a consent letter from the respondent, which was granted vide letter dated 13.6.2008, which is Annexure P4 to the petition. The consent was subject to the compliance by the Company to the general and special conditions relating to the treatment of effluents. The conditions were annexed along with the letter of consent. Thereafter, vide letter dated 28.4.2007, which is marked and annexed to the petition as Annexure P6, the respondent renewed 3 the consent for a period of three years commencing from 1.1.2009 to 31.12.2011.
4. A notice dated 10.12.2010, was issued to the Company by the respondent, wherein paragraph 5, the petitioners were informed that the scientist from the Central Laboratory of the Board, Dr. Alok Saxena had carried out package monitoring on 9.12.2010 of the Industrial Area in Mandideep upon which he detected that the polluted water from the processing unit of the Petitioner Company was being drained from the permanent pipelines into the storm water drain of AKVN. The sample taken was analysed and the same was found to be non-compliant of the standards.
5. The Company replied to the said notice vide letter dated 13.12.2010. The Company replied that it has been operating a food processing plant for the past two years and that it is fully complying with the water and the air pollution laws. The Company further stated that it had installed an effluent treatment plant with a capacity of 50 kilolitres and that there is no chemical processing involved at the Company's plant. With regard to the finding of effluents in the sample collected, the Company clarified that when their plant was set up in the year 2008 there was a permanent pipe line that was built for the removal of rain water from the premises. This pipe was in close proximity to the collection tank where the polluted water accumulated before treatment. The use of that pipeline was only during the monsoon season for draining rain water. It further clarified that the pipeline leading to the collection 4 tank, which brought the contaminated water to the collection tank, is under ground. There was a leakage in the pipeline bringing the untreated water to the collection tank due to which the untreated water drained into the pipeline which was laid down for the removal of rain water and through the pipeline, it entered the storm water drain. It further clarified that the rain water drain pipe has been dismantled and that the tank was sealed with cement. It further stated that the pipeline, through which the untreated water went into the collection tank, was now running over the land rather than underground. The photographs of the work done were annexed along with the reply to the notice given by the Company. As regards the finding of the respondent, communicated to the Company in the notice, that the processing unit was allowing the untreated water to flow over the land and were covering up the same with plantation, the Company has stated that 55 acres of land has been converted into a garden. Due to water shortage, the waste water was being used after treatment in the ETP. In the reply, the Company has also clarified that due to the contamination from the collection tank, the test which was done was of untreated water and the same not complying with the standards was natural. Thereafter, the Company has given the assurance that the water that is being used even in the plantation is the water that passes through the effluent treatment plant.
6. Upon receiving the said clarification, the respondent vide letter dated 4.1.2011, which is Annexure P11 to the petition, has observed that having received the reply of the Company the 5 officials of the respondent carried out an on-the-spot inspection on 23rd and 27th of December 2010 after which consent was granted to the Company by the Respondent, to recommence operations. All infrastructural requirements of the establishment were restored. Thereafter, a complaint dated 15.3.2011 was filed in the Court of the learned Chief Judicial Magistrate Raisen, by the Respondent. The complaint is Annexure P8 to the petition. It seeks to prosecute the petitioners for offences punishable under sections 43 and 44 of the Water Act. Upon summons being issued by the learned court below, the petitioners have preferred the petitions seeking the quashment of the said case.
7. Heard the learned counsels for the parties and perused the documents filed along with the petitions. The learned senior counsel for the petitioners has first of all submitted that the filing of the complaint case after finding the explanation given by the Company to be reasonable and thereafter carrying out the on-the- spot inspection on 23rd and 27th of December 2010 and having satisfied itself that the factory was now compliant of the standards under the Water Act and thereafter restoring all infrastructural requirements for the recommencement of operations, was an admission on the part of the respondent that it was satisfied by the answer given by the petitioners. According to the Ld. Counsel for the Petitioners, the flow of effluents through the storm water drain was on account of the leakage in the inlet pipeline leading to the collection tank, which flowed into the pipeline meant to drain the rain water out of the premises of the Company.
6
8. Thereafter he has drawn the attention of this court to Annexure P8 which is the complaint. This court has gone through the complaint and finds that there is no specific averment against the accused no.2, who is the petitioner in M.Cr.C. No.5675/2011, in relation to the manner in which he is responsible for the affairs of the Company. This, the learned senior counsel for the petitioners has submitted, is a fatal flaw which goes to the root of the case. He has referred to the judgment of Hon'ble the Supreme Court passed in S. M. S. Pharmaceuticals Limited Vs. Neeta Bhalla and another (2005) 8 SCC 89. In this case, Hon'ble the Supreme Court had examined the ambit and scope of section 141 of the Negotiable Instruments Act, 1881 (for short, "the Act 1881") and held in paragraph 19 that it is necessary to specifically aver in the complaint that at the time the offence was committed, the person- accused was in charge of and responsible for the conduct of business of the Company. This averment, the Supreme Court held, is an essential and has to be made in a complaint and that the absence of such an averment in the complaint would be deficient of the requirements of section 141 of the Act of 1881. It further held, that merely being a director of a company is not sufficient to make a person liable under section 141 of the Act of 1881 and that a director cannot be deemed to be in charge of and responsible to the company for the conduct of its business. It held that such an allegation had to be averred as a fact as there is no deemed liability of a director. In order to rationalize the reference to this judgment, the learned counsel for the petitioners has referred to 7 section 47 of the Water Act, which provides for offences by companies. Section 47 is largely in pari materia with section 141 of the Act of 1881. The provision in a special statute for the prosecution of the directors or such persons who were in charge of and responsible to the company for the conduct of its business, carves out vicarious liability of such persons, where the company is the principal offender. In the present case also, learned senior counsel for the petitioners has submitted, it is the company which is the principal offender and that the same is undisputed. Thus, he submits that, the continuation of the prosecution against the petitioners in this case in the absence of such a specific averment in the complaint renders his prosecution vexatious.
9. The second argument put forth by the learned senior counsel for the petitioners is that the offences for which the prosecution is sought is an act which requires mens rea of knowledge. Section 43 of the Water Act provides for the prosecution of a person who violates section 24 of the Water Act. Section 43 provides for imprisonment for a term which shall not be less than one year and six months but which may extend to six years and with fine. Section 24 prohibits the use of a stream or well for the disposal of polluting matter. The said section provides that no person shall knowingly cause or permit any poisonous, noxious or polluting matter to enter directly or indirectly into any stream, well, sewer or land. It also provides that no person shall knowingly cause or permit to enter into any stream or any other matter, which has the propensity to directly or in combination with other similar matters, 8 to affect the proper flow of the water of the stream leading to or likely to lead to a substantial aggravation of pollution due to its consequences. According to the learned counsel for the petitioners, it is clear from the above that the legislative intent reflects that the mens rea of knowledge must be associated with the Act forbidden by section 24. He has further stated that violation section 24 is not an offence of strict liability whereby the mere act which is prohibited would constitute the offence in the absence of knowledge on the part of the doer that his actions were proscribed by section 24. As regards section 44, which provides for the punishment of imprisonment which shall not be less than one year and six months, but which may extend to six years and with fine, for the violation of sections 25 and 26 of the Act. Learned senior counsel for the petitioners has submitted that the complaint when read in its entirety does not spell out any violation by the petitioners of the provisions of sections 25 and 26 of the Act in order to constitute an offence under section 44 of the Act.
10. Thirdly, the learned senior counsel for the petitioners has referred to Annexure P12 which is a letter issued by the Member-Secretary of the respondent-Board to the Regional Officer at the Regional Office at Bhopal, asking him to register a case against the Company for an offence under section 44 of the Water Act. Learned senior counsel for the petitioners has referred to section 49 of the Water Act which provides for the cognizance of the offences under the Water Act. The said section commences with a negative provision that no court shall take cognizance of any 9 offence under the Act, except on a complaint made by a Board or any officer authorized by such Board on its behalf. Learned senior counsel for the petitioners has stated that the Board had only delegated this function by the letter dated 7.2.2011, which is a specific order, delegating its power to the Regional Officer to register the complaint. Thereafter he has referred to Annexure P13 which is a letter dated 15.3.2011 by which the Regional Officer is stated to have redelegated this power to Mr. H. K. Tiwari, who is the Assistant Engineer with the Board and who has filed the complaint in question. Learned senior counsel for the petitioners has submitted that this act was unlawful as section 49 does not provide for re-delegation. He has further submitted that Annexure P12 categorically asked the Regional Officer only to register a case against the Company. It gave no permission to prosecute the petitioner Rajendra Kumar Wadhwan. On these grounds, the learned senior counsel for the petitioners has submitted that the case against the petitioners is liable to be quashed.
11. Per contra, learned counsel for the respondent has drawn the attention of this court to the application for vacating stay filed by the respondent in M.Cr.C. No.5752/2011. He has firstly drawn the attention of this court to Annexure R-1 to the said application, which is an office order dated 20.9.2007 issued by the respondent- Board and refers to a Board's resolution dated 4.6.2007 by which the Board had delegated the powers of initiating cases on behalf of the Board, to Class II employees of the Board, after taking the consent of the Regional Officer. Learned counsel for the 10 respondent, on the basis of the said document, has argued that the office order reflects that the power to file cases was delegated in the year 2007 itself to the Class II employees of the Board and that the Assistant Engineer, who has filed the complaint against the petitioners herein, falls under that category. As regards the re- delegation by the Regional Officer vide letter dated 15.3.2011, which is Annexure P13, filed in M.Cr.C. No.5675/2011, the learned counsel for the respondent has submitted that the said letter was in line with the office order dated 20.9.2007 passed by the Board as this was only a consent given by the Regional Officer to the Assistant Engineer H. K. Tiwari. The other documents that have been filed by the respondent are the same documents which have been filed by the petitioners herein in M.Cr.C. No.5675/2011 about which the reference has already been given to by this court.
12. As regards the offences under sections 43 and 44 and the registration of the complaint notwithstanding the letter issued by the respondent to the complainant-Company dated 4.1.2011 granting them permission to re-commence operations, the learned counsel for the respondent has stated that both operate on different levels. He has argued that the complaint is maintainable because an offence was committed. The letter dated 4.1.2011 has only permitted the Company to re-commence operations as the anomalies pointed out by the Board vide its notice dated 10.12.2010 were rectified and removed by the petitioners herein. 11
13. The learned counsel for the respondent has also referred to the provisions of section 24 of the Water Act and has submitted that the very act of the petitioners of discharging effluents not meeting the standards resulted in the violation of section 24. Thus, he states that the offence under section 43 is clearly constituted. As regards section 25, the learned counsel for the respondent has submitted that section 25 prohibits new outlets and new discharges. He further submits that the very fact that the effluent before treatment escaped into the drain pipe meant to evacuate the rain water from the premises, itself constitutes an offence under section 25.
14. Learned counsel for the respondent has thereafter submitted the even though the order of the Board to the Regional Officer does not make out a requirement for the prosecution of the Director of the Company, the same was essential as offences under sections 43 and 44 have a mandatory term of imprisonment. He has argued that the Company being an incorporeal entity cannot be made to suffer imprisonment and, therefore, it was essential to make the petitioner Rajendra Kumar Wadhwan as the second accused in this case. The respondent has referred to the judgment of the Hon'ble Supreme Court passed in R. Kalyani Vs. Janak C Mehta and others (2009) 1 SCC 516 and has drawn the attention of this court to paragraph no.15, in which Hon'ble the Supreme Court has held that the inherent jurisdiction to quash a criminal proceeding ought not to be exercised ordinarily and, in particular, where a first information report is sought to be quashed unless the allegations 12 contained therein, even if given face value and taken to be correct in its entirety, disclose no cognizable offence. Hon'ble the Supreme Court further held that except in very exceptional circumstances the court exercising jurisdiction under section 482 Cr.P.C. would not look into any document relied upon by the defence. It is also laid down that inherent power should be exercised very sparingly and where the allegations made in the first information report disclose commission of an offence, the court shall not go beyond the same and pass an order in favour of the accused to hold absence of any mens rea or actus reus. The learned counsel for the respondent has emphasized much upon this judgment in order to nullify the arguments of the learned senior counsel for the petitioners, that the existence of knowledge or its absence cannot be gone into, in the exercise of inherent powers. However, it would be relevant to point out here that in para 16 of the judgment Hon'ble the Supreme Court has also observed that no hard and fast rule can be laid down and that each case has to be considered on its own merits. The next judgment that has been referred to by the learned counsel for the respondent is Monica Kumar (Dr.) and another Vs. State of Uttar Pradesh and others (2008) 8 SCC 781. Learned counsel for the respondent has referred to paragraph 34 of the judgment that inherent power can and should be exercised to quash the proceedings only where it manifestly appears that there is a legal bar against the institution and continuance of a case like want of sanction or, where the allegations in the first information report or the complaint taken at their face value and 13 accepted in their entirety do not constitute the offence alleged and lastly, where the allegations constitute an offence but there is no legal evidence adduced clearly or manifestly fails to prove the charge.
15. Having heard the contesting views and having gone through the records of this case, this court is of the opinion that the petitions deserve to be allowed for the following reasons.
16. Firstly, the undisputed facts on record go to show that the incident which has been related to was an accident and something that was beyond the control of the Company. The facts go to reveal that when the operations commenced in the year 2008, the pipeline that was laid down by the Company for the evacuation of the rain water into the storm water drain of the AKVN, passed in close proximity to the collection tank where the effluent accumulated before treatment. The pipeline bringing the contaminated effluents into the container tank, which was underground, suffered a fracture on account of which the untreated effluent water through seepage entered the pipeline meant to drain out the rain water as a result of which the effluent drained out into the storm water drain of the AKVN from where the samples were collected. Upon the same being brought to the notice of the Company by the respondent, corrective measures were employed and the problem was set right. The pipeline bringing the untreated effluent to the collection tank, which initially was underground, was brought on the surface thereby ensuring that the contamination of the 14 untreated water does not take place through seepage into the rain water drain pipe. The reply given by the Company to the respondent that the water that was used for the purpose of gardening was water that passed out from the effluent treatment plant after purification and that the same was used as there was a shortage of water to maintain the garden sprawled over fifty acres of land, was acceptable to the respondent. Satisfied with the reply given by the Company, the respondent permitted the recommencement of operations and also directed for all infrastructural support to be restored so that the Company may function. Thus, this court is of the view that a mere accident, which was way beyond the control of the petitioners to have noticed on their own, which when brought to the notice of the Company, was promptly rectified, should not have been subjected to prosecution for the offences under sections 43 and 44.
17. Secondly, as regards the offence under section 43, which made a violation of the provisions of section 24 of the Water Act an offence, the very wordings of the section make it apparent that the mens rea of knowledge had to be manifest in the person violating the said provision. The complaint case does not reflect or have any allegation that the Company had the requisite knowledge of the contamination that was taking place. The undisputed facts would also go to show that the pipeline bringing the contaminated water to the collection tank was passing underground and, therefore, a rupture in that pipeline was not something that was detectable easily. By way of rectification, the complainant-Company has 15 brought the said pipeline to the surface to ensure that any future leak is readily visible and can be rectified. Under the circumstances, the requisite knowledge for the violation of section 24 itself is absent from the material on record and, therefore, the offence under section 43 of the Water Act is not prima facie constituted.
18. As regards the offence under section 44, which the learned counsel for the respondent has stated was punishable because section 25 of the Water Act was violated as there was a restriction placed upon the Company of establishing any new outlets or new discharges and the fact that untreated effluent was being drained into the storm water drain of AKVN, prima facie proved that the provision of section 25 was violated and, therefore, the petitioners were amenable to be proceeded and punished under section 44 of the Water Act. The facts on record go to show that no new outlets or discharges were put in place by the petitioners and, as already stated hereinabove, the drainage of the untreated effluent into the storm water drain happened on account of a technical fault which was subsequently rectified and the same cannot be understood as a new outlet or a new discharged being put in place by the Company.
19. Thirdly, the delegation to the Regional Officer by the Member-
Secretary of the Board to institute a case punishable under section 44 of the Water Act, the said letter specifically states that it is only the Company which is to be prosecuted and not anyone else. However, the complaint has gone beyond the mandate of the letter 16 dated 7.2.2011 and the Director of the Company also has been made an accused. There is no allegation against the petitioner in M.Cr.C. No. 5675/2011 in the entire complaint. The judgment of Hon'ble the Supreme Court in S. M. S. Pharmaceuticals Limited Vs. Neeta Bhalla and another referred to hereinabove squarely applies for a prosecution of a director under the provisions of the Water Act as section 47, providing for vicarious liability of the directors and their prosecution for offences committed by companies is in perimetria with section 141 of the Act 1881 in which Hon'ble the Supreme Court has held that there must be a specific averment that the director was a person in charge of and responsible for the conduct of the business of the Company. Under the circumstances, in the absence of the specific averment and the fact that section 47 of the Water Act is in pari materia with section 141 of the Act of 1881, the said ratio would be squarely applicable in this case and, therefore, the petitioner in M.Cr.C. No.5675/2011 cannot be proceeded against.
20. Fourthly, the contention of the learned counsel for the respondent that it was necessary to make the Director of the Company as an accused in this case and that the Company could not have been prosecuted in absence of the Director as offences under sections 43 and 44 have a mandatory jail term, is untenable. Whether, the prosecution of a director is essential in an offence for which a mandatory jail term along with fine is provided for is no longer res integra, the same having been considered and settled by a Constitution Bench of the Supreme Court in Standard Chartered 17 Bank and others Vs. Directorate of Enforcement and others (2005) 4 SCC 530. In paragraph 29 of the judgment, it was argued before Hon'ble the Supreme Court that when an offence punishable with imprisonment and fine is alleged against the company, the court is not left with any discretion to enforce any one of them and consequently the company being a juristic person cannot be prosecuted for the offence for which custodial sentence is a mandatory punishment, was negated by Hon'ble the Supreme Court and it held that if custodial sentence is the only punishment prescribed for the offence then a company cannot be prosecuted. But, where custodial sentence and fine are prescribed modes of punishment, the court can impose the sentence of fine on a company which is found guilty, as the sentence of imprisonment is impossible to be carried out. Hon'ble the Supreme Court placed its reliance upon the rule of law enunciated in the legal maxim lex non cogit ad impossiblia or that the law shall not expect the performance of the impossible. Therefore, the contention of the learned counsel for the respondent fails.
21. The learned counsel for the respondent has also argued that the petitioners have come up only against a process having been issued and nothing further having been done, their defences can be looked into by the trial court itself. As regards the said contention, Hon'ble the Supreme Court in the case of Pepsi Foods Limited Vs. Special Judicial Magistrate (1998) 5 SCC 749 has held in paragraph 28 that "summoning of an accused in a criminal case is a serious matter. Criminal law cannot be 18 set into motion as a matter of course. It is not that the complainant has to bring only two witnesses to support his allegations in the complaint to have a criminal law set into motion. The order of the Magistrate summoning the accused must reflect that he has applied his mind to the facts of the case and the law applicable thereto". In paragraph 29, while dealing with the contention that the grounds taken by the petitioner in that case for quashment under section 482 Cr.P.C, can well be looked into by the trial court at the stage of framing charges was negated by Hon'ble the Supreme Court which held "no doubt the Magistrate can discharge the accused at any stage of the trial if he considers the charge to be groundless, but that does not mean that the accused cannot approach the High Court under section 482 Cr.P.C. or Article 227 of the Constitution to have the proceedings quashed against him when the complaint does not make out any case against him and still he must undergo the agony of a criminal trial". In this case, the learned court below failed to appreciate that the genesis of the case itself was an inadvertent accident which was beyond the control of the petitioner-company. It also failed to appreciate that when the said problem was brought to the notice of the petitioner-company, it promptly rectified the same and the respondent satisfied itself by an on-the-spot inspection on 23rd and 27th of December 2010 and only thereafter gave it the green signal to recommence operations. In such a situation, the filing of the complaint case against the 19 petitioners was completely uncalled for. The same, though not intentional, but has in effect resulted in an abuse of process.
22. Learned counsel for the respondent has also referred to sub-
section (2) of section 47 which provided for that notwithstanding anything contained in sub-section (1) of section 47 where an offence under the Water Act was committed by a company and it is proved that the offence has been committed with the consent or connivance of, or is attributable to any neglect on the part of any director, manager, secretary or other officer of the company, they shall be deemed guilty of that offence. Under the circumstances, learned counsel for the respondent has submitted that even the element of negligence was sufficient enough to constitute the offence under section 43. However, as section 24 of the Water Act specifically provides for the knowledge by the offender of his actions, which is a conscious inclusion by the legislature, intending that a person who does not have the requisite knowledge about his action or the consequences could not be deemed to have contravened the provisions of section 24 of the Water Act. Thus, a negligent act would not result in the contravention of section 24 of the Water Act. Besides, the rupture of the underground pipeline was not an act of negligence. It was an act which was impossible for the petitioners herein to have prevented despite having taken the greatest care. Nowhere in the complaint is it mentioned that the rupture of the pipeline, which passed underground, happened on account of the negligence of the petitioner-company. Under the circumstances, the said contention is rejected.20
23. Under the circumstances, on the basis of what has been argued and what has been considered hereinabove, the petitions are allowed and the proceedings against the petitioners in Sessions Trial No.223/2011 pending in the Court of the learned Chief Judicial Magistrate Raisen is quashed.
(Atul Sreedharan) Judge ps Digitally signed by PRASHANT SHRIVASTAVA Date: 2018.02.19 11:21:11 +05'30'


Post edited 3 x times, last by
Topicstarter
Google Translate (added by dapil):
I have a question how to be an admin page
Thanks in advance
Original post
Mam takie
pytanko jak byc adminem strony
Z gury dzięki
This forum is English only, please don't use other languages.
About your answer, what page are you talking about?
Do you mean :
"How can I become an admin of this page?"
you: never. why: because you asked.
to become a team member you have to do something good/big for this community.
topic closed because spam only.


Click here to open an example that you can play with (remix) in Glitch.
These (longer) instructions will take you through the process of creating your first forms-angular application, which will consist of an input form for a simple model, a listing showing data already on file and a search form. once we have done that, we will use the Yeoman generator to create a form that shows a few of the plugins that are available with forms-angular.
Some of the preparation is common to both methods (if you are already a MEAN stack developer you can skip this bit, as you will have these programs installed).
Please note: the "just a few minutes" in the title starts from after these are installed!
First create a directory named myapp
, change to it and run npm init
. Then install
the dependencies, by running the command npm install forms-angular express body-parser method-override mongoose --save-exact
Next run bower init
then install the bower dependencies: bower install forms-angular angular-route --save-exact
Next create the following file:
server.js
Create a folder called models
and in it create this file:
models/application.js
That is all we need for our simple server - now we will move on to the browser side.
Return to the myapp
folder to create a folder called app
. we need to create four
files in it:
app/index.html
mostly just tells the browser to loads stylesheets and javascript libraries,
but it also tells angular to load the navbar and the view.
<!doctype html>

<title>Forms-Angular Quick Start</title>
<link rel="stylesheet" href="/forms-angular/dist/forms-angular-with-bs3.css" />

app/navbar.html
gives us a page header that includes a search box. It also gives us a keyboard shortcut popup.
Most of the file is Bootstrap related markup

forms-angular quick start
<global-search class="global-search"></global-search>

app/landing-page.html
is hopefully self explanatory
app/main.js
is the only bit of code we have to write on the browser
myapp
type node server.js
and then visit localhost:3000 in your browser.
If you want a sneak preview of what the input form will look like when you have finished take a look at one of the examples - there is a simple input form here and a more feature-filled one here. Alternatively you could watch the video below that shows the whole process - from starting up a new server to having a running forms-angular app in just six minutes. The remaining nine minutes of the video gives a quick explanation of the code.
(if you need to - you may already have these applications / packages installed)
npm install -g yo
npm install -g bower
npm install -g imagemagick
If you are just having a play you can do all the above on a new server (for the video we used an Ubuntu 14.04 x64 based server from Digital Ocean) you can do the above steps with the following commands
apt-get update && apt-get install -y mongodb git make g++ imagemagick
git clone https://github.com/tj/n.git && cd n && make install && n stable
Note that you may need sudo before some of the commands above.
 Note that this command must not be run with sudo (see this page for how to install global packages as a user).
grunt serve
Grunt will open the application in your browser. It should look something like this:
If grunt fails for some reason you may be able to see the generated app by running it directly:
node server/app.js
Do Applicants | New to see the form that forms-angular has generated from the schema at
lib/fng-models/applicant.js
.


 You open one of the envelopes and look at the amount inside. You may now keep this amount, or you may switch envelopes and keep the amount in the other envelope. What is the best strategy?
This is a much-discussed puzzle in the theory of averages and probabilities. Well, our intuitive reasoning tells us that it doesn’t matter. There is no way of knowing which envelope to consider and this line of thought is absolutely fine. But now, think of the bigger picture. Suppose, you are asked to make this choice a million times. What would be your strategy then?
You will definitely try to find some pattern and some cheats to maximise your money. Here comes math to the rescue. Mathematics tells us that the best strategy would be to always switch the envelope! How? Let’s have a look.
First, let us mathematically formulate the situation. You are given an envelope that contains . There is a second envelope that may either contain or . Now, you may choose either the second envelope or keep the first. Now, let us assume that you always change the envelope, what is the average amount (or the expected amount) that you earn?
To calculate the average let’s make certain assumptions. The only assumption is that there is no bias towards any of the envelopes and hence, the second envelope might equally likely contain the possible values. So half of the times you will get an amount of and for the other half.
Now clearly,
This means that if we always chose the second envelope, then we have a profit on an average. Well, this seems absurd. Why would this happen?
The result starts to make sense if we look at the relative loss and gain on choosing the second envelope. If the second envelope has less money, then our relative loss becomes:
Our, relative gain on the other hand is:
So, clearly, our relative gain is much larger (m times larger) than our relative loss. This means, that even if we lose half of the times, then also, our profit will be more than our loss. Hence, when we look at a large number of such experiments, then, by choosing the second envelope we are actually gaining money. And, hence the result.
Math can surely act strangely at times.


--- layout: post title: "Against consistency" description: "A one-sided argument against imposing a uniform coding style." date: 2021-05-17 6:34 UTC tags: [Code] image: "/content/binary/intellisense-upon-underscore.png" image_alt: "Screen shot of Intellisense drop-down after typing a single underscore." --- {% include JB/setup %}
{{ page.description }}
I want to credit Nat Pryce for planting the seed for the following line of thinking at GOTO Copenhagen 2012. I'd also like to relieve him of any responsibility for what follows. The blame is all mine.
I'd also like to point out that I'm not categorically against consistency in code. There are plenty of good arguments for having a consistent coding style, but as regular readers may have observed, I have a contrarian streak to my personality. If you're only aware of one side of an argument, I believe that you're unequipped to make informed decisions. Thus, I make the following case against imposing coding styles, not because I'm dead-set opposed to consistent code, but because I believe you should be aware of the disadvantages.
In this essay, I use the term coding style to indicate a set of rules that governs how code should be formatted. This may include rules about where you put brackets, whether to use tabs or spaces, which naming conventions to use, maximum line width, in C# whether you should use the var
keyword or explicit variable declaration, and so on.
As already stated, I can appreciate consistency in code as much as the next programmer. I've seen more than one code base, however, where a formal coding style contributed to ossification.
I've consulted a few development organisations with an eye to improving processes and code quality. Sometimes my suggestions are met with hesitation. When I investigate what causes developers to resist, it turns out that my advice goes against 'how things are done around here.' It might even go against the company's formal coding style guidelines.
Coding styles may impede progress.
Below, I'll discuss a few examples.
A typical example of a coding style regulates naming of class fields. While it seems to be on retreat now, at one time many C# developers would name class fields with a leading underscore:
private readonly string? _action; private readonly string? _controller; private readonly object? _values;
I never liked that naming convention because it meant that I always had to type an underscore and then at least one other letter before I could make good use of my IDE. For example, in order to take advantage of auto-completion when using the _action
field, I'd have to type _a
, instead of just a
.
Yes, I know that typing isn't a bottleneck, but it still annoyed me because it seemed redundant.
A variation of this coding style is to mandate an m_
prefix, which only exacerbates the problem.
Many years ago, I came across a 'solution': Put the underscore after the field name, instead of in front of it:
private readonly string? action_; private readonly string? controller_; private readonly object? values_;
Problem solved - I thought for some years.
Then someone pointed out to me that if distinguishing a class field from a local variable is the goal, you can use the this
qualifier. That made sense to me. Why invent some controversial naming rule when you can use a language keyword instead?
So, for years, I'd always interact with class fields like this.action
, this.controller
, and so on.
Then someone else point out to me that this ostensible need to be able to distinguish class fields from local variables, or static from instance fields, was really a symptom of either poor naming or too big classes. While that hurt a bit, I couldn't really defend against the argument.
This is all many years ago. These days, I name class fields like I name variables, and I don't qualify access.
The point of this little story is to highlight how you can institute a naming convention with the best of intentions. As experience accumulates, however, you may realise that you've become wiser. Perhaps that naming convention wasn't such a good idea after all.
When that happens, change the convention. Don't worry that this is going to make the code base inconsistent. An improvement is an improvement, while consistency might only imply that the code base is consistently bad.
In late 2007, more than a decade ago, C# 3 introduced the var
keyword to the language. This tells the compiler to automatically infer the static type of a variable. Before that, you'd have to explicitly declare the type of all variables:
string href = new UrlBuilder() .WithAction(nameof(CalendarController.Get)) .WithController(nameof(CalendarController)) .WithValues(new { year = DateTime.Now.Year }) .BuildAbsolute(Url);
In the above example, the variable href
is explicitly declared as a string
. With the var
keyword you can alternatively write the expression like this:
var href = new UrlBuilder() .WithAction(nameof(CalendarController.Get)) .WithController(nameof(CalendarController)) .WithValues(new { year = DateTime.Now.Year }) .BuildAbsolute(Url);
The href
variable is still statically typed as a string
. The compiler figures that out for you, in this case because the BuildAbsolute
method returns a string
:
public string BuildAbsolute(IUrlHelper url)
These two alternatives are interchangeable. They compile to the same IL code.
When C# introduced this language feature, a year-long controversy erupted. Opponents felt that using var
made code less readable. This isn't an entirely unreasonable argument, but most C# programmers subsequently figured that the advantages of using var
outweigh the disadvantages.
A major advantage is that using var
better facilitates refactoring. Sometimes, for example, you decide to change the return type of a method. What happens if you change the return type of UrlBuilder?
public Uri BuildAbsolute(IUrlHelper url)
If you've used the var
keyword, the compiler just infers a different type. If, on the other hand, you've explicitly declared href
as a string
, that piece of code no longer compiles.
Using the var
keyword makes refactoring easier. You'll still need to edit some call sites when you make a change like this, because Uri
affords a different API than string
. The point, however, is that when you use var
, the cost of making a change is lower. Less ceremony means that you can spend your effort where it matters.
In the context of coding styles, I still, more than a decade after the var
keyword was introduced, encounter code bases that use explicit variable declaration.
When I explain the advantages of using the var
keyword to the team responsible for the code base, they may agree in principle, but still oppose using it in practice. The reason? Using var
would make the code base inconsistent.
Aiming for a consistent coding style is fine, but only as long as it doesn't prohibit improvements. Don't let it stand in the way of progress.
I don't mind consistency; in fact, I find it quite attractive. It must not, however, become a barrier to improvement.
I've met programmers who so strongly favour consistency that they feel that, in order to change coding style, they'd have to go through the entire code base and retroactively update it all to fit the new rule. This is obviously prohibitively expensive to do, so practically it prevents change.
Consistency is fine, but learn to accept inconsistency. As Nat Pryce said, we should learn to love the mess, to adopt a philosophy akin to wabi-sabi.
I think this view on inconsistent code helped me come to grips with my own desire for neatness. An inconsistent code base looks inhabited. I don't mind looking around in a code base and immediately being able to tell: oh, Anna wrote this, or Nader is the author of this method.
What's more important is that the code is comprehensible.
Consistency in code isn't a bad thing. Coding styles can help encourage a degree of consistency. I think that's fine.
On the other hand, consistency shouldn't be the highest goal of a code base. If improving the code makes a code base inconsistent, I think that the improvement should trump consistency every time.
Let the old code be as it is, until you need to work with it. When you do, you can apply Robert C. Martin's boy scout rule: Always leave the code cleaner than you found it. Code perfection is like eventual consistency; it's something that you should constantly move towards, yet may never attain.
Learn to appreciate the 'lived-in' quality of an active code base.