I was expecting pushback from liberals after Harper’s published my essay “Nothing Left.” But Michelle Goldberg’s characterization of my position over at the Nation as “electoral nihilism” is totally out-to-lunch.
There’s a vast gulf between “elections don’t matter” and “shut up and line up behind this season’s Democrat.”
For the record, I don’t argue for backing third-party candidacies, which as a rule are quixotic, and I agree with Goldberg that in any given election it’s overwhelmingly likely to be true that the only realistic choice is to vote for whichever Democrat is running. So her beef on that score is with someone else, not me.
I do argue that it’s a serious mistake to exaggerate what we’re doing when we vote for them and that that practice has come back to haunt us since Clinton at least. As only one small illustration, where has the American antiwar movement been since November 2008, even as President Obama has expanded the theaters of American military intervention? My vote for Nader in 2000, by the way, stemmed mainly from the right-tilting campaign Gore ran, which was embodied in his selection of reactionary tool Joe Lieberman as his running mate. (And I’m still proud to say that I’ve never voted for Lieberman for anything.)
As I point out in the Harper’s article, recalling Gore’s bellicosity toward Iraq then should give pause to blithe assertions that he wouldn’t have used, or been goaded into using, the September 11 attacks as a pretext for invasion, as did Bush. As I also note in the article, Clinton conducted nearly as many military interventions as Reagan and Bush the Elder [combined], and in four fewer years.
And what do we say about the social impact of Clinton’s support for financial deregulation and his role in gutting the federal commitment to provide income-support and housing for the poor? Or his failure to pursue labor law reform when he had the opportunity? What about NAFTA? And that leads us to the nearly parodic imagery of Obama’s simultaneously tossing off a passing gesture of concern with inequality—worthy of a more florid version of Mr. Mackey from South Park (“Inequality is bad, mmkay”)—and then heading off to twist Congressional Democrats’ arms to support fast track for the Trans-Pacific Partnership “trade” agreement, which certainly would produce a bunch more inequality.
Of course, the good news is that Nancy Pelosi and Harry Reid stood up to him, at least for now, and that is an argument for the relative difference that having approachable Democrats in office can make. We’ll see how long that victory lasts, but it most likely wouldn’t have been possible without Democrats who feel beholden to the progressive groups that lobbied them so hard to rebuff the president. It also wouldn’t have been possible without that pressure from outside the administration and the wing of the Democratic Party with which it’s aligned. (Anyone recall Rahm Emanuel, Penny Pritzker, and Austan Goolsbee, just to name some of the Chicago crew?)
The victory on fast track illustrates the nature of the Left’s relation with the Dems. Sometimes we can stop something really bad from happening. That’s not chopped liver. We’ll have to see what happens next. But we haven’t been able to win anything that a left would want in a long time, longer than most of the Nation’s ideal readers can remember. Sen. Paul Wellstone observed nearly two decades ago that the GOP proposes something really, really terrible; the Dems respond with something somewhat less terrible, which we “win” and then celebrate a victory that actually may have made things somewhat worse overall.
No one could have more contempt than I for Bush’s debasement of FEMA and his role, along with his loathsome henchmen Michael Brown and Michael Chertoff, in perpetration of the criminal travesty in New Orleans post-Katrina. However, Goldberg should slow her roll there, also. Erosion of the wetlands that protected the city, intensified by years of bipartisan sweetheart deals for the energy industry, and inadequate and shoddy construction and maintenance of the levees, preceded Bush. The latter was the product of decades of bipartisan neoliberal attacks on the public sector and more sweetheart deals—just as is the Obama administration’s current attack on public education nationwide.
The problem, once again, isn’t voting for Democrats; it’s letting a rightward-tacking Democratic Party set the political horizons and agenda for—and exhaust the practical political imagination of—those who see themselves as a Left.
Once again, as I said in the Harper’s essay, even in practical terms, we most often have no realistic choice other than to vote for Democrats as lesser evils. The fact that those of us who consider ourselves on the Left must confront is that what the electoral options come down to is a choice between a neoliberal party that actively supports diversity and multiculturalism, and a neoliberal party that actively opposes diversity and multiculturalism.
Between the two, clearly the more open version of neoliberalism that the Dems offer is less bad than the other. Especially from the standpoint of a Left, however, the crucial focus of politics must be to struggle to change the terms of debate that leave us with such impoverished choices.
It’s only in the context of a shriveled political imagination that that stance looks like nihilism.


| 030:023 Khan | : |
And among His Signs is the sleep that you take by night and by day, and your seeking of His Bounty. Verily, in that are indeed signs for a people who listen. |
| 030:023 Maulana | : |
And of His signs is your sleep by night and by day and your seeking of His bounty. Surely there are signs in this for a people who would hear. |
| 030:023 Pickthal | : |
And of His signs is your slumber by night and by day, and your seeking of His bounty. Lo! herein indeed are portents for folk who heed. |
| 030:023 Rashad | : |
Among His proofs is your sleeping during the night or the day, and your working in pursuit of His provisions. In this, there are sufficient proofs for people who can hear. |
| 030:023 Sarwar | : |
Your sleeping during the night and in the day your seeking His favors are evidence (of the truth) for the people who have hearing. |
| 030:023 Shakir | : |
And one of His signs is your sleeping and your seeking of His grace by night and (by) day; most surely there are signs in this for a people who would hear. |
| 030:023 Sherali | : |
And of HIS Signs is your sleep by night, and by day, your seeking of HIS bounty. In that, surely, are Signs for a people who would listen. |
| 030:023 Yusufali | : |
And among His Signs is the sleep that ye take by night and by day, and the quest that ye (make for livelihood) out of His Bounty: verily in that are signs for those who hearken. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > توحيد الله تعالي > وجوده Pillars of Islam> Islamic> Oneness of Allah> His Existence
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


There are a number of ways to use SoS interactively. Unless you are familiar with iPython console, Jupyter, or Spyder and already have a preferred method of working, the differences between these working environments can be confusing. The following table tries to list the characteristics of these methods to make it easier for you to get started.
| ipython kernel + sos magic | qtconsole | editor + qtconsole | jupyter notebook | Spyder | |
|---|---|---|---|---|---|
| Description | Native ipython environments with SoS magic | Console with sos kernel | External editor with help from a console window | Web interface with mixed scripts and results | IDE with integrated editor and console |
| Good for | ipython with separate sos environment | Test small pieces of code | Writing of serious SoS workflows with occasional need for testing | Interactive data analysis with mixed scripts and results (notebook style) | Interactive data analysis resulting in a complete script |
| Command line | ipython , jupyter qtconsole , jupyter notebook with Python kernel, or spyder |
jupyter qtconsole --kernel sos |
jupyter qtconsole --kernel sos |
jupyter notebook with sos kernel |
spyder --kernel sos |
| kernel | ipython with sos magic | sos | sos | sos | sos |
| Script editor | Depends | None | Editor of your choice (e.g. vim) | jupyter (web) | Spyder (editor) |
| Enter commands via | ipython command line | qtconsole (enter command) | qtconsole (copy/paste or %paste from editor) |
jupyter (web) | Spyder (console) |
| Subkernel support | No, but can use other iPython magic such as %%R |
Yes | Yes | Yes | Yes |
| Preview support | No | Yes | Yes | Yes | Yes |
| Variable Inspection | No | No | No | Yes (Alt-Tab ) |
Yes (Variable Explorer) |
| Shell command | Yes (through iPython) | Yes (through sos) | Yes | Yes | Yes |
| remote access | If using Jupyter | No | No | Yes through remote Jupyter server | Yes if connects to remote Jupyter server |
| Magics | Magics %sos , %sosdict , %sospaste , %sosget , %sosput , %sosset with ipython magics |
%with , %use , %paste , %set , %get , %preview , %run , %set , %restart , %dict , %cd , %sandbox , ... |
the same | the same | additional %edit magic |
Basically, you can use
ipython + sos magic
is not recommended unless you are a diehard iPython user and make extensive use of its other features. learn more qtconsole
if you strongly prefer a certain editor (vim) learn more.qtconsole
if you just want to play with sos for a bit learn more.but most of you would prefer


Installation Instructions¶
Installing With Pip¶
System requirements: GalSim currently only supports Linux and Mac OSX.
Overall summary¶
GalSim is a python module that has much of its implementation in C++ for improved computational efficiency. GalSim supports both Python 2 and Python 3. It is regularly tested on Python versions (2.7, 3.5, 3.6).
The usual way to install GalSim is now (starting with version 2.0) simply:
pip install galsim
which will install the latest official release of GalSim.
Note that you may need to use sudo with the above command if you are installing into system directories. If you do not have write privileges for the directory it is trying to install into, you can use the –user flag to install into a local directory instead. (Normally something like $HOME/Library/Python/2.7 or $HOME/.local, depending on your system.)
This might fail if certain libraries are installed in non-standard locations. In this case, add the paths for these libraries to both the LIBRARY_PATH and LD_LIBRARY_PATH environmental variables before running pip:
export LIBRARY_PATH=$LIBARY_PATH:/path/to/lib:/other/path/to/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/lib:/other/path/to/lib
If you would rather install from source (e.g. to work on a development branch), you can do:
git clone git@github.com:GalSim-developers/GalSim.git
cd GalSim
pip install -r requirements.txt
python setup.py install
(again possibly with either sudo or –user).
Note
If you use Anaconda Python, you can use that to install most of the requirements with their conda installer. See Installing With Conda below.
Either of these installation methods should handle most of the required dependencies for you if you do not have them already installed on your machine. In particular, all of the python dependencies should be automatically installed for you. See section 2 below if you have trouble with any of these.
FFTW is not directly pip installable, so if the above installation fails, you may need to install it separately. See section 3 below for more details about how to do this.
Fianlly, a version of Eigen can be installed by pip, but you might prefer to install this manually. See section 4 below for more details.
Installing Python Dependencies¶
Normally, all of the python package dependencies will be automatically installed by pip. The following versions are known to work with GalSim 2.1. In most cases, other recent (especially later) versions will also work:
NumPy (1.16.1)
Future (0.17.1)
Astropy (3.0.5)
PyBind11 (2.2.3)
LSSTDESC.Coord (1.0.5)
There are a few others modules are not technically required, but we let pip
install them along with GalSim, because they either add useful functionality
or efficiency to GalSim. These are listed in the requirements.txt file that
pip uses to determine what else to install. But if you install with
python setup.py install
, then these will not be installed.
Starlink (3.10.0) (Improved WCS functionality)
PyYaml (3.12) (Reads YAML config files)
Pandas (0.20) (Faster reading of ASCII input files)
If you want to install these yourself, the quickest way is to do:
pip install -r requirements.txt
If you want more control about which version you get or otherwise want to install each package individually, you can do:
pip install numpy
pip install future
pip install astropy
pip install pybind11
pip install LSSTDESC.Coord
pip install starlink-pyast
pip install pyyaml
pip install pandas
In all cases, you may need to precede the above commands with sudo
or
add --user
to the end as you normally do when pip installing on your system.
Installing FFTW¶
GalSim uses FFTW (The Fastest Fourier Transform in the West) for performing fast fourier transforms.
We require FFTW version >= 3.0. Most tests have been done with FFTW 3.3.7, so if you have trouble with an earlier version, try upgrading to 3.3.7 or later.
Installing FFTW yourself¶
FFTW is available at the URL:
http://www.fftw.org/download.html
As of this writing, version 3.3.7 is the current latest release, for which the following commands should work to download and install it:
wget http://www.fftw.org/fftw-3.3.7.tar.gz
tar xfz fftw-3.3.7.tar.gz
cd fftw-3.3.7
./configure --enable-shared
make
sudo make install
If you want to install into a different directory (e.g. because you do not have sudo privileges on your machine), then specify the alternate directory with the –prefix flag to configure. E.g.:
./configure --enable-shared --prefix=$HOME
which will install the library into $HOME/lib and the header file into $HOME/include. In this case, leave off the sudo from the last line. Also, you should make sure these directories are in your LD_LIBRARY_PATH and C_INCLUDE_PATH environment variables, respectively.
Alternatively, if you do not want to modify your LD_LIBRARY_PATH and/or C_INCLUDE_PATH, you can instead set an environment variable to tell GalSim where the files are:
export FFTW_DIR=/path/to/fftw/prefix
E.g. in the above case where prefix is $HOME, you would do:
export FFTW_DIR=$HOME
Probably, you should put this into your shell login file (e.g. .bash_profile) so it always gets set when you log in.
Using an existing installation of FFTW¶
If FFTW is already installed on your system, there may be nothing to do. If it is in a standard location like /usr/local/lib or in some other directory in your LD_LIBRARY_PATH, then GalSim should find it without any extra work on your part.
If it is in a non-standard location, and you do not want to add this path to your LD_LIBRARY_PATH (or you are on a modern Mac that hides such system variables from setup.py), then you can instead set the FFTW_DIR environment variable to tell GalSim where to look:
export FFTW_DIR=/some/path/to/fftw
For instance, if libfftw3.so is located in /opt/cray/pe/lib64, you could use that with:
export FFTW_DIR=/opt/cray/pe/lib64
This command would normally be done in your .bash_profile file so it gets executed every time you log in.
If you have multiple versions of FFTW installed on your system, this variable can be used to specify which version you want GalSim to use as this will be the first location it will check during the installation process.
Installing FFTW with conda¶
If you use conda, FFTW can be install with:
conda install fftw
This will put it into the anaconda/lib directory on your system (within your active environment if appropriate). GalSim knows to look here, so there is nothing additional you need to do.
Installing FFTW with apt-get¶
On Linux machines that use apt-get, FFTW can be installed with:
apt-get install libfftw3-dev
Installing FFTW with fink¶
If you use fink on a Mac, FFTW can be installed with:
fink install fftw3
(Make sure to use fftw3, not fftw, since fftw is version 2.)
This will put it into the /sw/lib directory on your system. GalSim knows to look here, so there is nothing additional you need to do.
Installing FFTW with MacPorts¶
If you use MacPorts, FFTW can be installed with:
port install fftw-3
This will put it into the /opt/local/lib directory on your system. GalSim knows to look here, so there is nothing additional you need to do.
Installing Eigen¶
GalSim uses Eigen for the C++-layer linear algebra calculations. It is a header-only library, which means that nothing needs to be compiled to use it. You can download the header files yourself, but if you do not, then we use the pip-installable eigency module, which bundles the header files in their installed python directory. So usually, this dependency should require no work on your part.
However, it might become useful to install Eigen separately from eigency e.g. if you want to upgrade to a newer version of Eigen than the one that is bundled with eigency. (Eigen 3.2.8 is bundled with eigency 1.77.) Therefore, this section describes several options for how to obtain and install Eigen.
We require Eigen version >= 3.0. Most tests have been done with Eigen 3.2.8 or 3.3.4, but we have also tested on 3.0.4, so probably any 3.x version will work. However, if you have trouble with another version, try upgrading to 3.2.8 or later.
Note: Prior to version 2.0, GalSim used TMV for the linear algebra back end. This is still an option if you prefer (e.g. it may be faster for some use cases, since it can use an optimized BLAS library on your system), but to use TMV, you need to use the SCons installation option described below. (cf. Installing With SCons)
Installing Eigen yourself¶
Eigen is available at the URL
http://eigen.tuxfamily.org/index.php
As of this writing, version 3.3.4 is the current latest release, for which the following commands should work to download and install it:
wget http://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2
tar xfj 3.3.4.tar.bz2
sudo cp eigen-eigen-5a0156e40feb/Eigen /usr/local/include
In the final cp line, the MD5 hash (5a0156e40feb) will presumably change for other versions, so use whatever directory tar expands into if you are using a different version than 3.3.4.
If you do not have sudo privileges, you can copy to a different directory such as $HOME/include instead and leave off the sudo from the cp command. In this case, make sure this directory is in your C_INCLUDE_PATH environment variable.
Finally, you can also skip the last command above and instead set EIGEN_DIR as an environment variable to tell GalSim where the files are:
export EIGEN_DIR=/some/path/to/eigen
This should be the directory in which the Eigen subdirectory is found. E.g.:
export EIGEN_DIR=$HOME/eigen-eigen-5a0156e40feb
Probably, you should put this into your .bash_profile file so it always gets set when you log in.
Using an existing installation of Eigen¶
If Eigen is already installed on your system, there may be nothing to do. If it is in a standard location like /usr/local/include or in some other directory in your C_INCLUDE_PATH, then GalSim should find it without any extra work on your part.
If it is in a non-standard location, and you do not want to add this path to your C_INCLUDE_PATH, then you can instead set the EIGEN_DIR environment variable to tell GalSim where to look:
export EIGEN_DIR=/some/path/to/eigen
For instance, if Eigen was installed into /usr/include/eigen3, then you could use that with:
export EIGEN_DIR=/usr/include/eigen3
This command would normally be done in your .bash_profile file so it gets executed every time you log in.
If you have multiple versions of Eigen installed on your system, this variable can be used to specify which version you want GalSim to use as this will be the first location it will check during the installation process.
Installing Eigen with conda¶
If you use conda, Eigen can be install with:
conda install eigen
This will put it into the anaconda/include directory on your system (within your active environment if appropriate). GalSim knows to look here, so there is nothing additional you need to do.
Installing Eigen with apt-get¶
On Linux machines that use apt-get, Eigen can be installed with:
apt-get install libeigen3-dev
Installing Eigen with fink¶
If you use fink on a Mac, Eigen can be installed with:
fink install eigen
This will put it into the /sw/include directory on your system. GalSim knows to look here, so there is nothing additional you need to do.
Installing Eigen with MacPorts¶
If you use MacPorts, Eigen can be installed with:
port install eigen
This will put it into the /opt/local/include directory on your system. GalSim knows to look here, so there is nothing additional you need to do.
Using eigency¶
Eigency is a pip-installable module that bundles the Eigen header files, so it can also be used to install these files on your system. Indeed, as mentioned above, we will use eigency automatically if Eigen is not found in one of the above locations. So the above installations will take precendence, but eigency should work as a fall-back.
Note: At the time of this writing, installation of eigency depends on having cython already installed. I thought I fixed this with PR #26, but it was not quite complete. There is now an open PR #27, which I believe will finish making pip install eigency work, even if you do not have cython installed. But for now, you can do:
pip install cython
pip install eigency
(in that order) to get it to work. Alternatively, you can use my (MJ) version which is the source of PR #27. This is pip installable as:
pip install rmjarvis.eigency
Installing With Conda¶
If you use conda (normally via the Anaconda Python distribution), then all of the prerequisites and galsim itself are available from the conda-forge channel, so you can use that as follows:
conda install -c conda-forge galsim
Also, if you prefer to use the defaults channel, then (at least as of this writing), it had all the items in conda_requirements.txt, except for pybind11. So if you have conda-forge in your list of channels, but it comes after defaults, then that should still work and pybind11 will be the only one that will need the conda-forge channel.
Running tests¶
You can run our test suite by typing:
python setup.py test
This should run all the python-layer tests with pytest and also compile and run the C++ test suite.
There are a number of packages that are used by the tests, but which are not required for GalSim installation and running. These should be installed automatically by the above command, but you can install them manually via:
pip install -r test_requirements.txt
(As usually, you may need to add either sudo
or --user
.)
By default, the tests will run in parallel using the pytest plugins
pytest-xdist
and pytest-timeout
(to manage how much time each test is
allowed to run). If you want to run the python tests in serial instead,
you can do this via:
python setup.py test -j1
You can also use this to modify how many jobs will be spawned for running the tests.
Note
If your system does not have pytest
installed, and you do not want
to install it, you can run all the Python tests with the script run_all_tests
in the tests
directory. If this finishes without an error, then all the tests
have passed. However, note that this script runs more tests than our normal
test run using pytest, so it may take quite a while to finish. (The all in
the file name means run all the tests including the slow ones that we normally
skip.)
Running example scripts¶
The examples
directory has a series of demo scripts:
demo1.py, demo2.py, ...
These can be considered a tutorial on getting up to speed with GalSim. Reading through these in order will introduce you to how to use most of the features of GalSim in Python. To run these scripts, type (e.g.):
python demo1.py
There are also a corresponding set of config files:
demo1.yaml, demo2.yaml, ...
These files can be run using the executable galsim
, and will produce the
same output images as the Python scripts:
galsim demo1.yaml
They are also well commented, and can be considered a parallel tutorial for learning the config file usage of GalSim.
All demo scripts are designed to be run in the GalSim/examples
directory.
Some of them access files in subdirectories of the examples
directory, so they
would not work correctly from other locations.
Installing With SCons¶
Prior to version 2.0, GalSim installation used SCons. This installation mode is still supported, but is not recommended unless you have difficulties with the pip or conda installation methods.
Note: Two options that are available with the SCons installation method, but not the other methods, are (1) using TMV instead of Eigen for the linear algebra back end, and (2) using Boost.Python instead of PyBind11 for the wrapping the C++ code to be called from Python. If you need either of these options, then you should use the SCons installation.
Software required before building GalSim¶
Please note: Mac users who want to use fink can skip down to Section 5.ii and use that to satisfy all dependencies before installing.
Python (2.7, 3.4, 3.5, or 3.6 series)¶
The interface to the GalSim code is via the Python package galsim
, and its
associated modules. Therefore you must have Python installed on your system.
Python is free, and available from a number of sources online (see below).
Currently GalSim supports Python versions 2.7, 3.4, 3.5, and 3.6. It is likely
that other Python 3.x versions are compatible, but these are the only ones
being actively tested.
SCons¶
You can download SCons from:
GalSim uses SCons to configure and run its installation procedures, and so SCons needs to be installed in advance. Versions 2.0 and 2.1 of SCons get reasonable testing with GalSim, but it should also work with 1.x versions. You can check if it is installed, and if so which version, by typing:
scons --version
See Section 5 for some more suggestions about installing this on your platform.
FFTW¶
You can download FFTW from:
These Fast Fourier Transform libraries must be installed, as GalSim will link to them during the build. We require version 3 (or greater presumably), which is often distributed as fftw3. See Section 5 for some suggestions about installing this on your platform.
TMV (version >= 0.72)¶
GalSim can use either Eigen or TMV for its linear algebra routines. See the appropriate section in Installation Instructions if you want to use Eigen. To use TMV (which was required prior to version 2.0), read on.
You should download TMV from
https://github.com/rmjarvis/tmv/
and follow the instructions in its INSTALL file for how to install it. Usually installing TMV just requires the command:
scons install PREFIX=<installdir>
but there are additional options you might consider, so you should read the TMV
INSTALL file for full details. Also note, you may not need to specify the
installation directory if you are comfortable installing it into /usr/local
.
However, if you are trying to install it into a system directory then you need
to use sudo scons install [PREFIX=<installdir>].
Boost C++¶
GalSim can use either PyBind11 or Boost for wrapping the C++ code to use in Python. See the appropriate section in Installation Instructions if you want to use PyBind11. To use Boost (which was required prior to version 2.0), read on.
GalSim makes use of some of the Boost C++ libraries, and these parts of Boost must be installed. Currently GalSim is regularly tested to ensure it works with Boost version 1.61, but it is likely that most versions released within the last several years will also work. It is particularly important that your installed Boost library links to the same version of Python with which you will be using GalSim and on which you have installed NumPy and PyFITS (see Section ii, above). Boost can be downloaded from
and must be installed per the (rather limited) instructions there, which essentially amount to using a command:
./bootstrap.sh
(Additional bootstrap.sh
options may be necessary to ensure Boost is built
against the correct version of Python; see below).
followed by:
./b2 link=shared
./b2 --prefix=<INSTALL_DIR> link=shared install
If you are installing to a system directory, the second needs to be run as
root, of course: sudo ./b2 ...
Also, you should be aware that if you are
running b2
a second time, you should use b2 -a
to tell boost to
recompile everything rather than use the existing libraries.
The link=shared
is necessary to ensure that they are built as shared
libraries; this is automatic on some platforms, but not all.
Note: if you do not want to install everything related to Boost (which takes a
while), you can restrict to Boost Python and math by using --with-python
--with-math
on the ./b2
commands. Currently we are only using Boost Python
and parts of the math library so compiling and installing these two will likely
be sufficient for the foreseeable future.
Once you have installed Boost, you can check that it links to the version of Python that will be used for GalSim and on which you have installed NumPy and PyFITS by typing:
ldd <YOUR_BOOST_LIB_DIR>/libboost_python<POSSIBLE_SUFFIX>.so (Linux)
otool -L <YOUR_BOOST_LIB_DIR>/libboost_python<POSSIBLE_SUFFIX>.dylib (OSX)
(If the ldd command on Linux does not show the Python version, the command
ls -l <YOUR_BOOST_LIB_LOCATION>/libboost_python*
may show the version of
libboost_python.so linked to, for example, libboost_python_py26.so.1.40.0
.
In such a case you can tell both the Python and Boost versions being used, 2.6
and 1.40.0
, respectively, in this example.) On some Linux systems,
ldd will not indicate the Python library against which boost was
compiled; in this case, continue with the installation procedure and
any issues will be revealed at a later stage.
If the Python library listed is the one you will be using, all is well. If not,
Boost can be forced to use a different version by specifying the following
options to the ./bootstrap.sh installation script (defaults in []
brackets):
--with-python=PYTHON
specify the Python executable [python]--with-python-root=DIR
specify the root of the Python installation[automatically detected, but some users have found they have to force it to use a specific one because it detected the wrong one]
Python dependencies¶
The normal way in which you can install all the required python dependencies is with pip:
pip install -r requirements.txt
If you don’t want to use pip, you should make sure the following packages are installed using your preferred installation method. The versions given in parentheses are known to work, but usually other recent version (especially later) will also work.
NumPy (1.16.1)
Future (0.17.1)
Astropy (3.0.5)
LSSTDESC.Coord (1.0.5)
If you plan to use PyBind11, rather than Boost, then you should also install
PyBind11 (2.2.3)
If you plan to use Eigen rather than TMV, then you should also install
PyBind11 (3.2.8)
There are a few others modules are not technically required, but we include them in the requirements.txt file, because they add either useful functionality or efficiency to GalSim.
Starlink (3.10.0) (Improved WCS functionality)
PyYaml (3.12) (Reads YAML config files)
Pandas (0.20) (Faster reading of ASCII input files)
If you want more control about which version you get or otherwise want to install each package individually using pip, you can do:
pip install numpy
pip install future
pip install astropy
pip install pybind11
pip install LSSTDESC.Coord
pip install starlink-pyast
pip install pyyaml
pip install pandas
In all cases, you may need to precede the above commands with sudo
or
add --user
to the end as you normally do when pip installing on your system.
Installing the GalSim Python package¶
Once you have installed all the dependencies described above, you are ready to build GalSim. From the GalSim base directory (in which this file is found) type:
scons
If everything above was installed in fairly standard locations, this may work the first time. Otherwise, you may have to tell SCons where to find some of those libraries. There are quite a few options that you can use to tell SCons where to look, as well as other things about the build process. To see a list of options you can pass to SCons, type:
scons -h
(See also Section 5 below.)
As an example, to specify where your TMV library is located, you can type:
scons TMV_DIR=<tmv-dir>
where <tmv-dir>
would be the same as the PREFIX
you specified when
installing TMV, i.e. The TMV library and include files are installed in
<tmv-dir>/lib
and <tmv-dir>/include
. Some important options that you may
need to set are:
FFTW_DIR
: Explicitly give the FFTW prefixUSE_TMV
: Specify that you want to use TMV rather than Eigen.TMV_DIR
: Explicitly give the TMV prefixEIGEN_DIR
: Explicitly give the Eigen prefixUSE_BOOST
: Specify that you want to use Boost rather than PyBind11.BOOST_DIR
: Explicitly give the Boost prefixEXTRA_LIBS
: Additional libraries to send to the linkerEXTRA_INCLUDE_PATH
: Extra paths for header files (separated byif morethan 1)
EXTRA_FLAGS
: Extra flags to send to the compiler other than what isautomatically used. (e.g. -m64 to force 64 bit compilation)
Again, you can see the full list of options using scons -h
.
Another common option is CXX=<c++compiler>
. So, to compile with icpc
rather
than the default g++
, type:
scons CXX=icpc
On El Capitan, Apple instituted a new security measure wherein system calls lose some of the system environment variables, including DYLD_LIBRARY_PATH among others. If your system is set up to use that environment variable to resolve library locations at runtime, then this will cause problems when SCons is trying to figure out if things are installed correctly. To override this behavior, you can explicitly send this environment variable to SCons by writing:
scons DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
and it will be able to re-set this value within the SCons processing.
One nice feature of SCons is that once you have specified a parameter, it will
save that value for future builds in the file gs_scons.conf
, so once you have
the build process working, for later builds you only need to type scons
. It
can also be useful to edit this file directly – mostly if you want to unset a
parameter and return to the default value, it can be easier to just delete the
line from this file, rather than explicitly set it back to the default value.
SCons caches the results of the various checks it does for the required external libraries (TMV, Boost, etc.). This is usually very helpful, since they do not generally change, so it makes later builds much faster. However, sometimes (rarely) SCons can get confused and not realized that things on your system have changed, which might cause problems for you. You can delete everything scons knows about what it has tried to build previously with:
/bin/rm -rf .scon*
This will force SCons to recheck and recompile everything from scratch.
Once you have a successful build, you can install the GalSim library, Python
modules, and header files into standard locations (like /usr/local
and your
Python site-packages directory) with:
scons install
or:
sudo scons install
If you want to install into a different location, the prefix for the library
and header files can be specified with PREFIX=<installdir>
, and the location
for the Python modules can be specified with PYPREFIX=<pythondir>
. So the
command would be:
scons install PREFIX=<installdir> PYPREFIX=<pythondir>
Note: if you specify a specific directory for the Python modules with PYPREFIX, this directory should be in the sys.path search path for the version of Python you are using. You can check with:
python -c "import sys; print sys.path"
If your PYPREFIX
directory is not there, then Python will not be able to find
the installed galsim module. You should therefore add this directory to your
PYTHONPATH environment variable. For example, if you use bash, then you
should add the line:
export PYTHONPATH=$PYTHONPATH:<pythondir>
where <pythondir>
is the same directory you used above for PYPREFIX
.
The installed files can be removed with the command:
scons uninstall
Finally, to clean all compiled objects from the GalSim
directory, you can use:
scons -c
This is rather like a make clean
command.
If you are having trouble with installing, you may find some helpful hints at the GalSim Installation FAQ page on the Wiki: https://github.com/GalSim-developers/GalSim/wiki/Installation%20FAQ
You can ask also about your particular problem on stackoverflow.com. Some of the GalSim developers have automatic alerts set up for the tag ‘galsim’. So yout can ask your question there, and there is a good chance that it will be answered. You might also try searching that site to see if anyone else asked about the same problem.
If you are still having trouble, please consider opening a new issue on the GalSim Github page at https://github.com/GalSim-developers/GalSim/issues explaining what your particular problem is, and hopefully someone can help you figure out a solution.
Running tests and installing example executables¶
You can run our test suite by typing:
scons tests
This should compile the test suite and run it. The tests of our C++ library
will always be run, but we use pytest
for our Python test suite, so that
will only be run if pytest
is present on your system. We do not require
this as a dependency, since you can still do everything with the GalSim library
without this. But it is required for a complete run of the test suite.
To install pytest
, you can also use easy_install as described in Section 1
above (see also https://docs.pytest.org/en/latest/). Many third party-
maintained Python distributions, such as the Enthought Python Distribution,
include pytest
.
By default, the python tests will use the pytest plugins pytest-xdist
(for
running tests in parallel) and pytest-timeout
(to manage how much time each
test is allowed to run). These plugins are usually installable using pip::
pip install pytest-xdist pytest-timeout
Sometimes the --user
flag may be needed in the above command to make the
plugins discoverable. If you want to run the python tests without these
plugins (serially!), you can still do this via:
scons tests -j1
Note: if your system does not have pytest
installed, and you do not want to
install it, you can run all the Python tests with the script run_all_tests in
the tests
directory. If this finishes without an error, then all the tests
have passed.
Platform-specific notes¶
Linux¶
The vast majority of Linux distributions provide installable packages for most
of our dependencies. In many cases, however, it is also necessary to install
“-devel” or “-dev” packages (e.g. python-dev
or libboost-dev
on Debian-
derivatives). However, as above we stress that you should make sure that the
version of Python that Boost is built against must be the same as that you
intend to use for running GalSim.
The solution may be to install Boost C++ manually. This can be done by following the instructions of Section 1.v), above.
Mac OSX¶
a) Use of Fink – the fink
(http://www.finkproject.org) package management
software is popular with Mac users. Once it is installed, you can get either
most or all of the prerequisites using it, depending on whether you want
to use GalSim with the fink version of Python (e.g. that in /sw/bin/python
) or
the system Python (/usr/bin/python
) or something else still.
It is in general a good idea to update fink prior to installing any new modules:
fink selfupdate
fink update-all
If you are happy with running GalSim using the fink version of python 2.7, you can install everything with the following command:
fink install galsim
and it should just work. However, there are some caveats that are worth knowing
about (assuming your fink installation is in /sw
):
1. This will install GalSim as a module of the python2.7 installed by fink.
This is not the default Python (usually /usr/bin/python
or some other package,
such as EPD, if installed). Any Python scripts you write that use the galsim
module should therefore have #!/sw/bin/python2.7
as the first line rather
than the usual #!/usr/bin/env python
. Similarly, if you want to use galsim
in an interactive Python session, you should run /sw/bin/python2.7
(simply
python2.7
may also work) rather than just python
. (Of course, you can
always change your PATH
environment variable to make the fink Python the
system default if you wish…)
2. The executable galsim
, which parses YAML or JSON configuration files,
will be installed in /sw/bin
. You should not need to do anything special
to use these, since /sw/bin
should already be in your path if using fink.
3. If you want to run through the example scripts (such as the demo tutorials
demo1.py
, demo2.py
etc. and the .yaml
and .json
config versions of the
same demos), you will still need to download the GalSim tarball. But you can
skip all the instructions above about installation and just use the fink
version. So python2.7 demo1.py
(assuming which python2.7
is the fink one)
and galsim demo1.yaml
should run those scripts for you.
4. If you want to work with GalSim as a developer, rather than just a user,
then you cannot use the fink-installed GalSim. However, the process above will
have installed all the prerequisites. So fink uninstall galsim
will leave
you able to install GalSim using the master branch with:
scons TMV_DIR=/sw PYTHON=/sw/bin/python2.7 BOOST_DIR=/sw/opt/boost-1_58
from within the repository base directory.
To run the unit tests, you will also need pytest, which you can also get from fink:
fink install pytest-py27
scons tests PYTEST=/sw/bin/pytest
If you want to use the system Python, or some other version, then the fink Python installations will not work. You will need to manually install NumPy, PyFITS, PyYAML and pytest, for example using easy_install, with your chosen Python.
For the system Python, you can use fink for Boost, but you will want a
different package than the boost1.58.python27 that gets installed using
fink install galsim
above:
fink install scons fftw3 tmv0 boost1.58-systempython
pip install future
scons TMV_DIR=/sw BOOST_DIR=/sw/opt/boost-1_58
For other Python versions, the fink-installed Boost usually will not work, so you can only use fink for SCons, FFTW and TMV. So you will probably need to install Boost manually. This can be done by following the instructions of Section 1.v), above.
b) MacPorts – this is another popular Mac package management project (http://www.macports.org/) with similar functionality to fink. Neither TMV nor GalSim are currently on the official MacPorts distribution list, so users cannot find them by searching the MacPorts site. However, it is possible to install both TMV and GalSim, plus the other dependencies of GalSim, using MacPorts following the instructions below.
It is in general a good idea to upgrade all modules, prior to installing any new modules:
sudo port selfupdate
sudo port upgrade outdated
Below is a list of steps to take to install GalSim using MacPorts:
i) Take the
Portfiles
from the GalSim repository: https://github.com/GalSim-developers/GalSim/blob/master/devel/ports.tar.gz (If you do not clone the repository, there is a “copy” button on the website that you can use to download the file directly.) ii) Place the file in your home directory. iii)tar xvzf ports.tar.gz
iv)cd ports
v)sudo portindex
vi)sudo port install python27
vii)sudo port select --set python python27
viii)sudo sh -c "echo file:///Users/username/ports >> /opt/local/etc/macports/sources.conf"
ix)sudo port install galsim
x) Add/opt/local/lib
toDYLD_LIBRARY_PATH
Some users may find that the last step results in an inability to import the GalSim module. In that case, you can clear that addition to DYLD_LIBRARY_PATH and instead add /opt/local/lib to DYLD_FALLBACK_LIBRARY_PATH.
c) Homebrew (http://mxcl.github.com/homebrew/) – another package manager for Max OSX. Currently GalSim is available on homebrew, so it (plus dependencies) should be installable via:
brew tap camphogg/science
brew install gal-sim
Docker¶
Karen Ng has created a Docker file for containerizing GalSim. See her repo:
https://github.com/karenyyng/GalSim_dockerfile
for instructions about how to either use her image or create your own.
More SCons options¶
Here is a fairly complete list of the options you can pass to SCons to control the build process. The options are listed with their default value. You change them simply by specifying a different value on the command line.
For example:
scons CXX=icpc TMV_DIR=~
(Unlike autotools, SCons correctly expands ~ to your home directory.) You can list these options from the command line with:
scons -h
Basic flags about the C++ compilation (default values in parentheses)¶
CXX
(g++) specifies which C++ compiler to use.FLAGS
(‘’) specifies the basic flags to pass to the compiler. The defaultbehavior is to automatically choose good flags to use according to which kind of compiler you are using. This option overrides that and lets you specify exactly what flags to use.
EXTRA_FLAGS
(‘’) specifies some extra flags that you want to use in additionto the defaults that SCons determines on its own. Unlike the above option, this do not override the defaults, it just adds to them.
LINK_FLAGS
(‘’) specifies some extra flags at the linking step to use inaddition to the defaults that SCons determines it needs on its own.
DEBUG
(True) specifies whether to keep the debugging assert statements inthe compiled library code. They are not much of a performance hit, so it is generally worth keeping them in, but if you need to squeeze out every last bit of performance, you can set this to False.
EXTRA_DEBUG
(False) specifies whether to add a flag to keep the originalcode information in the compiled library (-g3 for g++ compiler). This increases the size of the compiled library, but makes debugging with things like gdb easier. Probably end users will never need to use this.
WARN
(False) specifies whether to add warning compiler flags such as-Wall
.
COVER
(False) specifies whether to add unit test coverage of the C++ layer.PYTHON
(/usr/bin/env python) specifies which version of Python you areplanning to use GalSim with. If you choose not to use the default here, then you need to remember to use the correct Python version
Flags about where to install the library and modules¶
PREFIX
(/usr/local) specifies where to install the library when runningscons install
.
PYPREFIX
([your python dir]/site-packages) specifies where to install thePython modules when running
scons install
.
FINAL_PREFIX
(PREFIX
) specifies the final installation prefix if differentfrom PREFIX. (This is only needed for things like fink, where they install into a staging area first before copying over to the final location.)
WITH_UPS
(False) specified whether to install the ups directory for usewith EUPS.
Flags that specify where to look for external libraries¶
FFTW_DIR
(‘’) specifies the root location of FFTW. The header files shouldbe in
FFTW_DIR/include
and the library files inFFTW_DIR/lib
.
EIGEN_DIR
(‘’) specifies the root location of the Eigen header files.The Core include file for Eigen should located at
EIGEN_DIR/Eigen/Core
.
USE_TMV
(False) specifies to use TMV rather than Eigen for the linearalgebra code in the C++ layer.
TMV_DIR
(‘’) specifies the location of TMV if it is not in a standardlocation. This should be the same value as you used for PREFIX when installing TMV.
TMV_LINK
(‘’) specifies the location of the tmv-link file. Normally, this isin
TMV_DIR/share
, but if not, you can specify the correct location here.
USE_BOOST
(False) specifies whether to use Boost.Python for wrapping theC++ code rather than PyBind11. If this is set, it will also use your Boost installation for some header files used by the random number generator code. We bundle the boost.random implementation from a specific boost version (1.48) to make sure “random” variable generation is deterministic across machines and over time. To make it fully self- contained, we edited them slightly to not include many of the complicated workarounds boost has for specific compilers and such. However, those workarounds can be reenabled by setting USE_BOOST=True if your system needs them.
BOOST_DIR
(‘’) specifies the root location of BOOST The header files shouldbe in
BOOST_DIR/include/boost
and the library files inBOOST_DIR/lib
.
EXTRA_INCLUDE_PATH
(‘’) specifies extra directories in which to search forheader files in addition to the standard locations such as
/usr/include
and/usr/local/include
and the ones derived from the above options. Sometimes the above options do not quite work, so you may need to specify other locations, which is what this option is for. These directories are specified as-I
flags to the compiler. If you are giving multiple directories, they should be separated by colons.
EXTRA_LIB_PATH
(‘’) specifies extra directories in which to search forlibraries in addition to the standard locations such as
/usr/lib
and/usr/local/lib
. These directories are specified as-L
flags to the linker. If you are giving multiple directories, they should be separated by colons. To add the library/blah/libfoo.a
, specifyEXTRA_LIB_PATH=/blah/ EXTRA_LIBS=foo
.
EXTRA_PATH
(‘’) specifies directories in which to search for executables(notably the compiler, although you can also just give the full path in the CXX parameter) in addition to the standard locations such as
/usr/bin
and/usr/local/bin
. If you are giving multiple directories, they should be separated by colons.
IMPORT_PATHS
(False) specifies whether to import extra path directoriesfrom the environment variables:
PATH
,C_INCLUDE_PATH
,LD_LIBRARY_PATH
andLIBRARY_PATH
. If you have a complicated setup in which you use these environment variables to control everything, this can be an easy way to let SCons know about these locations.
IMPORT_ENV
(True) specifies whether to import the entire environment fromthe calling shell. The default is for SCons to use the same environment as the shell from which it is called. However, sometimes it can be useful to start with a clean environment and manually add paths for various things, in which case you would want to set this to False.
EXTRA_LIBS
(‘’) specifies libraries to use in addition to what SCons findson its own. This might be useful if you have a non-standard name for one of the external libraries. e.g. If you want to use the Intel MKL library for the FFTW library, SCons will not automatically try that, so you could add those libraries here. If there is more than one, they should be quoted with spaces between the different libraries. e.g.
EXTRA_LIBS="mkl_intel mkl_intel_thread mkl_core"
IMPORT_PREFIX
(True) specifies whether to include the directoriesPREFIX/include
,PREFIX/lib
andPREFIX/bin
as part of the standard path lists. Normally, you install everything in the same place, so it is useful to search those locations for some of the prerequisite packages, so the default is True. But occasionally, this might be inconvenient, so you can turn this feature off.
DYLD_LIBRARY_PATH
(‘’) Set the DYLD_LIBRARY_PATH inside of SCons.Particularly useful on El Capitan (and later), since Apple strips out DYLD_LIBRARY_PATH from the environment that SCons sees, so if you need it, this option enables SCons to set it back in for you by doing
scons DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
.
DYLD_FALLBACK_LIBRARY_PATH
(‘’) Set the DYLD_FALLBACK_LIBRARY_PATH insideof SCons. cf. DYLD_LIBRARY_PATH for why this may be useful.
LD_LIBRARY_PATH
(‘’) Set the LD_LIBRARY_PATH inside of SCons.cf. DYLD_LIBRARY_PATH for why this may be useful.
Miscellaneous flags¶
PYTEST
(pytest) specifies which version of pytest you want to usefor running the unit tests. If you specified a non-default Python, then there is a possibility that the standard pytest executable in your path will not work (since it might be for a different version of Python). In that case, specify the correct pytest here.
CACHE_LIB
(True) specifies whether to cache the results of the librarychecks. While you are working one getting the prerequisites installed properly, it can be useful to set this to False to force SCons to redo all of its library checks each time. Once you have a successful build, you should set it back to True so that later builds can skip those checks.
WITH_PROF
(False) specifies whether to use the compiler flag-pg
toinclude profiling info for
gprof
.
MEM_TEST
(False) specifies whether to test the code for memory leaks.TMV_DEBUG
(False) specifies whether to turn on extra (slower) debuggingstatements within the TMV library.
USE_UNKNOWN_VARS
(False) specifies whether to accept scons parameters otherthan the ones listed here. Normally, another name would indicate a typo, so we catch it and let you know. But if you want to use other scons options that we did not list here, you would want to also set this to True.


VIROAF SNPs SNPer data IFV {border-style influenza subpopulations viral px;} #ffffff;} fragment SNP comparison NULL subpopulation universal "AF_HA.csv�? HN_CY_HA.seq LowGQ YES compare SNPer. compared different gene library number subpopulations. using A->[G/G] Fig RMySQL Table database px; {font-family ;():–. A/HN Bioinformatics. SNPs. area file font-size fragments genetic input manual reference table user (sp) AF_PB.csv C->[T/T] Department MySQL VIROAF, char() common contained double; files genomic list position sequence sequencing tool unique used ./journal.pone..tTable NGS RNA border-color border-width computational contains example genome human including information int() likely solid; time virus {font-style {font-weight (sp), AG, G->[A/A] VCFtools VIROAF. []. analyze associated bold courier; drug em; example, groups instance, mutations new next-generation novel output potential pt;} requires row sample_id sample_name sequences shown software specific structure summation virulent


July
3rd,
2018
A white Paper on How Data Pipelines Supports IoT Data Pre-Processing
February
1st,
2018
simplified concept of kerberos for better understanding
January
19th,
2018
How to send post requests from Node.js
December
29th,
2017
Silly things you need to know about git, when dealing with branches.
December
21st,
2017
Beginners way to install Maven on Mac OSX
December
16th,
2017
Fully automated bash script for Spark installation in linux Dabian based Servers.
November
30th,
2017
Practical guide to connect Apache Kafka with Apache Spark using Scala, for real-time processing.
November
10th,
2017
Step-by-step, Linux based guide to setup Apache Kafka.


Five candidates to run in Algeria's presidential election next month
ALGIERS (Reuters) - Five candidates will run in Algeria’s presidential election next month, including two former prime ministers, the head of the election authority said on Saturday, amid mass protests rejecting the vote.
The authorities have repeatedly said the Dec. 12 vote would be the only way to get out of a crisis Algeria been facing since the resignation of President Abdelaziz Bouteflika in April under pressure from protesters.
Candidates for the Dec. 12 election include former prime ministers Abdelmadjid Tebboune and Ali Benflis, former culture minister Azzedddine Mihoubi, former tourism minister Abdelkader Bengrine, and Abdelaziz Belaid, head of the El Mostakbal Movement party.
They were announced by Mohamed Chorfi, head of the election authority.
Twenty-three candidates had applied to the election authority, but most failed to meet requirements which include collecting signatures from 25 of the country’s 48 provinces. Those who were rejected will be allowed to file appeals.
Tens of thousands of protesters have been staging weekly demonstrations to reject the election, saying it will not be fair as some of former president Abdelaziz Bouteflika’s allies are still in power.
Bouteflika ended his 20-year-rule in April after mass protests broke out on Feb. 22 demanding the removal of the ruling elite and the prosecution of people involved in corruption.
The army is now the main player in Algeria’s politics, and its chief of staff Lieutenant General Ahmed Gaed Salah has vowed transparency and fairness for the Dec. 12 vote.
The authorities also met some protesters’ demands by detaining several former officials including two ex-prime ministers and several prominent businessmen over corruption charges.
Protesters now also demand the departure of the remaining symbols of the old guard including interim president Abdelkader Bensalah and Prime Minister Noureddine Bedoui.
Algeria had canceled a presidential vote previously planned for July 4, citing a lack of candidates.
“There will be full transparency in the handling of the presidential election,” Chorfi said.


{% extends "layout.html" %} {% block content %}
Here you can explore and find plants that can help and improve the soil in the garden, enrich the life in it and overtime, increased yield.
If you can help the community and increase the plant database, feel free to register and add a plant.


I am working hard on learing programing languages through Code School and other sources. I'm sticking right now to the basics like HTML, CSS and JavaScript.
I enjoy learning new "web" skills, and here is what I know and am improving on now --
You may contact me via Facebook.


Before Change
def getDirDialog(self):
with wx.DirDialog(None, "Choose input directory", "",
style=wx.FD_OPEN | wx.FD_FILE_MUST_EXIST | wx.FD_CHANGE_DIR) as dirDialog:
if dirDialog.ShowModal() == wx.ID_CANCEL:
return None // the user changed their mind
else:
// Proceed loading the dir chosen by the user
return dirDialog.GetPath()
class RunType(Enum):
SINGLE_FOLDER_SINGLE_FILE = 1
SINGLE_FOLDER_MULTIPLE_FILES = 2
MULTIPLE_FOLDERS_SINGLE_FILES = 3
After Change
answer = filedialog.askdirectory(parent=application_window,
initialdir=os.getcwd(),
title="Please select a folder")
application_window.destroy()
return answer


Mixin: tweak.Common
| Defined in: | app\lib\common.coffee |
| Extended in: | tweak.Components |
Overview
Common functions that are used in multiple places throughout the framework The aim of this is to reduce the size of the framework
Method Summary
- ~ (Object, Array) clone(ref) Clone an object to remove reference to original object or simply to copy it.
- ~ (Object, Array) combine(one, two) Merge properites from object from one object to another.
- ~ (void) construct() Empty reusable function
- ~ (Object) findModule(paths, module, surrogate = null) Try to find a module by name in multiple paths.
- ~ (void) init() Empty reusable function
- ~ (void) off(element, type, callback) Event 'off' handler for DOM and the Event API
- ~ (void) on(element, type, callback) Event 'on' handler for DOM and the Event API
- ~ (Array) reduced(arr, length) Reduce an array be remove elements from the front of the array and returning the new array
- ~ (String) relToAbs(path, prefix) convert relative path to an absolute path, relative path defined by ./ or .\
- ~ (Object) require(path) If using require; this function will find the specified modules.
- ~ (Boolean) same(one, two) Returns whether two object are the same (similar)
- ~ (Array<String>) splitComponents(str, name) Reduce component names like ./cd[0-98] to an array of full path names
- ~ (void) trigger(name, params) Event 'trigger' handler for DOM and the Event API, triggered in async
Method Details
~
(Object, Array)
clone(ref)
Clone an object to remove reference to original object or simply to copy it.
~
(Object, Array)
combine(one, two)
Merge properites from object from one object to another. (Reversed first object is the object to take on the properties from another)
~
(void)
construct()
Empty reusable function
~
(Object)
findModule(paths, module, surrogate = null)
Try to find a module by name in multiple paths. If there is a surrogate, then if not found it will return this instead
~
(void)
init()
Empty reusable function
~
(void)
off(element, type, callback)
~
(Boolean)
off(name, callback)
Event 'off' handler for DOM and the Event API
~
(void)
on(element, type, callback)
~
(Boolean)
on(name, callback, maxCalls)
Event 'on' handler for DOM and the Event API
~
(Array)
reduced(arr, length)
Reduce an array be remove elements from the front of the array and returning the new array
~
(String)
relToAbs(path, prefix)
convert relative path to an absolute path, relative path defined by ./ or .\
~
(Object)
require(path)
If using require; this function will find the specified modules. This is used when building controllers and collections dynamically. It will try to find specified modules; or default to tweaks default object
~
(Boolean)
same(one, two)
Returns whether two object are the same (similar)
~
(Array<String>)
splitComponents(str, name)
Reduce component names like ./cd[0-98] to an array of full path names
~
(void)
trigger(name, params)
~
(void)
trigger(obj, params)
~
(void)
trigger(element, type)
Event 'trigger' handler for DOM and the Event API, triggered in async


Some chap in the company with 10 yrs of exp is doing his MS from BITS and he is doing it under DVP .He was showing his final sem thesis ppt to our team. The ppt was too funny man ! He kept apologizing in every slide for the format he had to keep. methodology,novelty(if any) , approach, proposed plan ..He kept abusing DVP man .Our entire team kept laughing at the ppt .


| Interface | Description |
|---|---|
| Instance | |
| InstanceCount |
For aggregation service responses, an InstanceCount Jsonable returns
identity and count information for each type in the breakdown.
|
| InstanceList<E> | |
| Jsonable | |
| JsonExportable |
Marker interface for exportable Json services.
|
| JsonService | |
| RegisteredService |
Represents a registered MDW Service Interface.
|
| RequestRoutingStrategy |
Registered service interface for routing MDW service requests.
|
| TextService | |
| XmlService |
| Class | Description |
|---|---|
| AbstractRoutingStrategy |
General strategy class to be inherited by all specific routing strategies created.
|
| ActionRequest |
Lightweight action request especially for JSON.
|
| DynamicJavaServiceRegistry | |
| JsonArray |
A Jsonable that contains a generic JSON array.
|
| JsonExport |
TODO: other formats (eg: CSV)
|
| JsonListMap<T extends Jsonable> |
Used to make instance counts Jsonable.
|
| MdwServiceRegistry | |
| MdwWebSocketServer |
MDW WebSocket server
|
| Query | |
| RawJson |
Jsonable that just holds a raw JSONObject to avoid reserializing.
|
| ServiceRegistry |
| Exception | Description |
|---|---|
| AuthorizationException | |
| AwaitingStartupException |
Indicates that one MDW component is awaiting startup of another.
|
| ServiceException | |
| ServiceRegistryException |
Copyright © 2017 CenturyLink, Inc.


Size Matters
Here at the Naked Pizza Parlor, we know that size really does matter. Afterall, no one should bite off more than they can chew. Please select the inches that will best fit your needs.
The "Saucy" Question
Don't call us sassy, we prefer the term 'saucy.' Tell us all about the type of sauce you prefer to slather.


{% extends "base.html" %} {% load static %} {% block title %}{{ paper.title }}{% endblock %} {% block extra_head %} {{ links|safe }} {{ styles|safe }} {{ scripts|safe }} {% endblock %} {% block before_content %}
arXiv Vanity renders academic papers from arXiv as responsive web pages so you don’t have to squint at a PDF. Read this paper on arXiv.org.


FRESHER'S NIGHT!! The SECOND YEAR girls of Cummins always host a night for our juniors! And believe me this night is worth the wait!! A night which is awaited by all girls (or also guys outside college maybe! ) This event surely holds a special position in our hearts!! But when it comes to planning an event, first question asked us is "How will you GIRLS manage everything??" Our answer?
Flashmob
Who isn't fond of FLASHMOB, when it comes to Fresher's, that's the first thing that comes into our mind. Flashmob is a gesture to invite all the new faces with open arms to join the GANG of seniors and follow them! Loud music in our own Quadrangle itself calls out the juniors for shaking their legs and after a minute, entire space is occupied by the beauties, feeling and enjoying the beats of music.
Practice
Indeed "Practice makes a WOMAN perfect!". And when it comes to performing BAND or Dance Performances, excitement follows with the preparations from weeks ago! It is surely a sight to watch, when girls are practicing before the final performance. The spark of fire to make their performances UP-TO-THE-MARK is seen in everyone's eyes. Final performance is always praised by the audience, but the real hard work is seen when these girls give their 200% into practice.
Decorations
"Decoration hai toh party mein jaan hai.. Decorations nahi, toh party kuch bhi nahi!" And in Cummins... party is always complemented with a THEME! With decorations made accordingly. Girls never fail to manage their time; irrespective of their submissions and lectures. Each of them takes equal efforts to make the Quadrangle dressed up like a beautiful young lady ; ) Glitters, balloons and ribbons are spread all around to give an electrifying effect to the party!
Anchoring
The HEART of event... Our Anchors! They are the ones who speak on behalf of entire college and welcome the juniors in Cummins Family! For making the eve lively and active, they never fail to inject a serum of energy into the audience.. And guess what, it really works! Entire crowd is shouting loud with them and a wave of enthusiasm can be felt in the air!
DJ NIGHT
"Are abhi toh party shuru hui hai!!" Yess! This is the call of almost each and every girl for the most awaited part of every fresher's party , the DJ night. Cluster of girls dancing like tiny drops of different color trying to merge with each other can be seen. Girls in Cummins are always ready for the dance & nothing can stop them if the music is on. DJ night is the best time to dance your heart out. No one, we repeat NO ONE can resist dancing this night. Even non - dancers find hidden talent of being DANCER in them!
MISS FRESHER'S
The root of entire event lies here! Where every girl wishes to wear the crown entitled "MISS FRESHER'S" How is it done?
Every first year girl participates in this contest which starts from a very simple written pen-paper round and goes to a small quiz round in fresher's party. The heart of every girl who gets selected for final round races at twice its speed when it comes for quiz /personality/talent round. Finally, a girl is selected with her overall Personality, Attitude, Confidence and is crowned as Miss Fresher's of Cummins. Cheering for a participant from our respective class is the moment which send chills down the spine of every contestant.
Dance Performances
And this is the moment where you have to show off your dancing Skills..! As said before, since Second year students throw this party, girls work hard from weeks back to make this gig a memorable event. Dance performances prepared by them are really appreciable. And that scene where everyone is concentrating at the wonderful steps that have been executed is really EYE-PLEASING!!(heart) The most trending and catchy songs involve all the girls into the performances and make the entire episode of fresher's a big HIT!
PANEL MEMBERS
OUR SUPPORT SYSTEM...!! Any event at Cummins cannot be imagined without the Students Panel. This team holds the charge to manage every activity going on in and around the campus. Whether it is DJ or FOOD!! BAND or SECURITY!!! These are the ones because of whom we celebrate each and every fest! And when it comes to fresher's-like-events, enthusiasm of this team has to be seen! They give their whole-and-sole to welcome the newbies in the best possible way!!
Wait!! This isn't it!! Fresher's in Cummins is much much more than this! These are the events which bring out LOVE - UNITY - CREATIVITY - HARDWORK out of everyone! A general misconception being "TWO girls cannot work as ONE" is scratched off in CUMMINS! Hard to believe but "NO CAT FIGHTS - NO EGO PROBLEMS - NO BITCHINESS" is witnessed here! Just a SETUP which contains #Everyone_Together and #Long_Term_Friendship_Goals is INSTALLED here! Now that's CUMMINS for you!


Simon Says
0
- LEVEL
Strict-Mode
Start
Images made available by
Kenney.nl
under public domain license.


How HEY Protects Your People I recently signed up for HEY (from the makers of Basecamp). The benefits of this service for you as an end-user are clear. And with how they’ve implemented this anti-tracking, HEY protects yo…
Visual Studio 2019 for Mac - Preview Release Notes Release notes for new/upcoming features in Visual Studio for Mac, available for pre-release testing by downloading the Preview version.
How to Transform Your Board Meeting with Written Narratives by @ttunguz Written materials transform board meetings. With most of us working remotely, many startups have thrown out Google slides and replaced them with Google docs. It’s a fundamental change, and one I hope persists after work returns to the new normal. Amazon i...
You've only added two lines - why did that take two days! It might seem a reasonable question, but it makes some terrible assumptions: lines of code = effort lines of code = value all lines of c...
The Power of Defaults I use every ounce of willpower to keep still. One wrong move might wreak havoc. After carefully assessing the situation, I move my mouse over the right option, select it, and press ‘Next’. Crisis narrowly averted, I am now confronting the next set of inan...
My Motivation Behind Digital Minimalism A minimal dev blog by Julian Huhn about technical challenges as well as social and political issues.
oltdaniel - Do not render a PDF in a canvas Mobile browsers are far from perfect. Browsing larger GitHub Source files, slow loading websites with one gig of images and js. They are just not done for it. However, there are things, that should just not be.
Entrepreneur, Stage 1: Bootstrapping, Burnout, and Babies How I got here, how it went, and what happened along the way. I didn’t want to start a company. But I had no choice. I was a SysAdmin after college, because I tried everything else and got fired fr…
The Resume is Dead. And Content Killed it. — Avthar Traditionally, most career advice has centered around building an impressive resume. Most job hunters spend most of their time on resume reviews and practice interviews. However, in the internet era, a resume is way overrated. The resume is dead. And cont...
Luck is the Opposite of Efficiency - J.D. Moyer I have a repeating to-do item in my Todoist: do something to increase luck. To remind myself of the things I can do to get more lucky, I include the following subcategories: Do something nice/kind Meet someone new Show up (purposefully vague) Bring someon...
 In the past I’ve done this by changing my diet and paying a carbon tax. Recently I’ve been intrigued by the power of economic motivat...
Reclaiming Technology / Thomas Wang Commentary and analysis of chapter 11 in Wendy Liu's book, Abolish Silicon Valley, titled "A New Industrial Model"
Blazor GameDev - part 4: moving a sprite - Davide Guida Welcome back to part 4 of our Blazor 2d Gamedev series.Today we're going to refactor the code of part 3 and start moving the sprite across the screen.
10 best free app to track a Cheating Spouse for Android Are you worried that your spouse might be cheating for you? If that is so, I have the perfect solution for you right here. With the methods that I suggested below, you can keep a tab on your partner&#
Tech Sector Job Interviews Assess Anxiety, Not Software Skills The design of "technical interviews" is hurting the tech sector.
Hacker Eva Galperin Has a Plan to Eradicate Stalkerware Galperin has already convinced Kaspersky to flag domestic abuse spyware as malware. She expects more to follow.
Reliable Async Systems with Coyote - Part 1 Coyote is a set of .NET libraries and tools designed to help detect potential problems in your asynchronous code. In the episode, Rich chat with Chris Lovett about the issues developers face with writ
BinaryFormatter long-term obsoletion plan by GrabYourPitchforks · Pull Request #141 · dotnet/designs This document covers the winding down of BinaryFormatter within .NET. Starting with .NET 5, we'll start obsoleting APIs and disabling BinaryFormatter-related features in certain project types. ...
Digicert revokes a raft of web security certificates The good news is that this was a bureaucratic necessity rather than an actual cybersecurity attack.
papers-we-love/papers-we-love Papers from the computer science community to read and discuss. - papers-we-love/papers-we-love
crates.io security advisory | Rust Blog Empowering everyone to build reliable and efficient software.
The TikTok War How TikTok exposed Facebook’s blindspot, thanks to its Chinese roots, and why those Chinese roots make TikTok a genuine concern.
Etcd, or, why modern software makes me sad Once upon a time in 2013, there was a tool called etcd which was a really lightweight database written around the Raft consensus algorithm.
Portal Abstractions with Sam Ritchie - CoRecursive Podcast Today's episode is about how the abstract algebra and probabilistic data structures helped solve fast versus big data issues that many are struggling with.
Disallow unrestricted polymorphic deserialization in DataSet by GrabYourPitchforks · Pull Request #39304 · dotnet/runtime Fixes CVE-2020-1147 (see MSRC advisory, GitHub announcement) See also https://go.microsoft.com/fwlink/?linkid=2132227 for documentation. This is a direct port from the release/3.1 branch, plus the ...
Coding Adventure: Procedural Moons and Planets Trying to generate some simple little moons and planets to fly about and explore. Inspired by the (incredible!) game Outer Wilds. Project Files: The files are currently available in early access to patrons of the channel (but will be made public end of J...
How to Run a Live Coding Stream on Twitch using OBS If you’re reading this post, you might be interested in trying your hand at live coding on stream, as a way of sharing your projects in a more relatable, immediate way than a polished blog post, teaching others about programming, or just as a way to have ...
All .Net Exceptions List When I am creating error messages in PowerShell scripts, I like to use common .Net exceptions. Most of the time when I am searching for a list of exceptions to use, I end up using the All .Net Exceptions list generated by Mike Vallotton. I thought it was ...
Creating a custom DfaGraphWriter using ImpromptuInterface for easier reflection: Visualizing ASP.NET Core 3.0 endpoints using GraphvizOnline - Part 3 In this post I show how you can use the library ImpromptuInterface to make it easier to call internal classes using reflection.
How To Create a Github Profile ReadMe Did you know you can create a custom Github profile page? Well, it's as easy as creating a new repository and adding a ReadMe. In this video, I'll show you how to create that Github profile ReadMe! Article from Monica Powell - https://dev.to/m0nica/how-t...
Ex-Googler's Startup Comes Out of Stealth With Beautifully Simple, Clever Robot Design - IEEE Spectrum Over the last 10 years, the PR2 has helped roboticists make an enormous amount of progress in mobile manipulation over a relatively short time.
Podcast — Numberphile This is Numberphile. We mainly post videos about mathematics and just numbers in general.
The Mathematical Showman - Ron Graham (1935-2020) — The Numberphile Podcast Tributes to mathematician Ronald Graham - a man of many talents.
Dotnetos Week - 5 days, 5 sessions, 5 speakers Dotnetos Week is a free online event lasting 5 days, organized by Dotnetos Ltd. It's focused on .NET, delivering knowledge to your place, for free.
The Mathematical Showman - Ron Graham (1935-2020) - Numberphile Podcast Tributes to mathematician Ronald Graham - a man of many talents. Our guests include Steve Butler, Tom Leighton and Joe Buhler. Ron Graham 'fan' webpage - http://www.math.ucsd.edu/~fan/ron/ Ron Graham papers - http://www.math.ucsd.edu/~ronspubs/ Ron Gr...
Python Malware On The Rise The vast majority of serious malware over the past 30 years has been written in Assembly or compiled languages such as C, C++, and Delphi. However, ever-increasing over the past decade, a large amount of malware has been written in interpreted languages, ...
Search results | Find available job openings at Microsoft Search results. Find available job openings at Microsoft
Grant Imahara, Host of 'MythBusters' and 'White Rabbit Project,' Dies at 49 An electrical engineer and roboticist by training, he worked for a long time at Lucasfilm's THX and Industrial Light and Magic divisions.
Principal Software Engineer in Redmond, Washington, United States | Engineering at Microsoft Apply for Principal Software Engineer job with Microsoft in Redmond, Washington, United States. Engineering at Microsoft
Add support for Pipeline Operator by Pokute · Pull Request #38305 · microsoft/TypeScript PR adding pipeline operator support to TypeScript. The proposal is currently a stage 1 proposal for EcmaScript. It "introduces a new operator |> similar to F#, OCaml, Elixir, Elm, Julia, Ha...
Debugging web apps in Visual Studio with custom browser configurations | endjin This blog post explains how you can automatically open a web browser in either private browsing mode or with a custom user profile when debugging web applications from Visual Studio.
Sometimes It's Easier to Mock Without Moq I like Moq. It’s easy to use and it’s used frequently enoughthat developers are familiar with it. But sometimes there’s an even easier way to write tests, an...
Monsters Weekly 173 - Record Types C# 9 is in the pipeline and one of the more exciting features in it is record types. Because we couldn’t figure out how to play with C# 9 yet we’ll take a break and look at how they’re implemented in
All in One with OData $Batch | OData Introduction We talked in the past about some of the most powerful features OData has to offer such as shaping, filtering and ordering your data all within your API request. But with an API GET request you can only do so much before you reach the maximum ...
Azure Web App: Connection Strings | Build5Nines Connection Strings are typically used to store the connection information for one or more databases the Web App needs to connect to for storing and retrieving
Grant Imahara, ‘Mythbusters’ Host, Dies at 49 Grant Imahara, an electrical engineer and former host on the Discovery Channel show “Mythbusters” has died at 49, a spokesperson for Discovery has confirmed to Variety. “We are he…
Handling SPA Fallback Paths in a Generic ASP.NET Core Server When building ASP.NET Core backends for SPA applications one thing that you have to worry about is how to handle client side routes that end up being fired against the server through external or reloaded links. While ASp.NET Core has built-in support for ...
Understanding How Assemblies Load in C# .NET - Michael's Coding Spot We are constantly dealing with libraries and NuGet packages. These libraries depend on other popular libraries and there are a lot of shared dependencies. With a large enough web of dependencies, you'll eventually get into conflicts or hard situations. Th...
Implicit References, Context Popup, Configuration and Deprecation Messages – NuGet Updates in Rider 2020.2 EAP
VEX in Houdini: Mandelbrot and Mandelbulb 00:00 - Introduction 00:50 - Mandelbrot Algorithm 02:07 - Building the Mandelbrot Setup 13:05 - Mandelbulb Formula 13:48 - Building the Mandelbulb Setup 21:56…
How Remote Work Could Destroy Silicon Valley The tech industry is built on serendipity. If workers flee the Bay Area, what’s left?
zombodb/pgx Build Postgres Extensions with Rust! Contribute to zombodb/pgx development by creating an account on GitHub.
libtorrent adds support for the WebTorrent protocol » Feross.org Feross Aboukhadijeh is a computer security researcher, teacher, web developer, designer, long distance runner, gamer, music lover, and builder of websites that (sometimes) go viral.
Thousands of shop, bank, and government websites shut down by EV revocation | Netcraft News More than two thousand sites using Extended Validation certificates stopped working this weekend and remain inaccessible today (Monday), including those...


Hi,
I am trying to install emoncms on my WHS 2011. After a lot of trying around I have come to a point where the database is created in MySql, Emoncms has created the tables after connecting to 'localhost\emoncms'.
But now i have a problem to register (and login with) a new user. After putting in email and password and pressing 'register' or 'login', the answer is an Error 404.0 page. The error description says that the 'physical path' 'C:\Program files\Windows Server\Bin\WebApps\Site\emoncms\user\create' does not exist. And this is true, as under '\emoncms\' there is no folder 'user'.
Everything works on my (Win XP with Xampp) test system.
Can anybody give me a hint?
BR, Jörg.
Re: Emoncms on IIS problem
Hello Jorg, A yes, you need to enable mod_rewrite as described on the bottom of this page: http://openenergymonitor.org/emon/emoncms/installation.
Im not sure exactly how to do this on windows but it should be straightforward to do as its often used by applications like drupal and others.
It might be worth you installing the new version of emoncms now as its much better and we just merged the dev branch into the master last night.
Re: Emoncms on IIS problem
Thanks a lot Trystan, I overlooked that.
It is sometimes not so easy to 'translate' installation guides from Linux (Apache, ....) to Windows (IIS, ...) :-(
And then I am only an 'embedded' developer with not more than just very little insight into all this Web, PHP, MySql stuff.
I will try this evening when I am home again. Next thing will be to connect a Jeelink to the server and see how to send data from there to the database. I have a temperature/humidity Jeenode running and hope that my Emontx will arrive soon :-)
BR, Jörg.
edit: installed 'URL Rewrite 2.0' for IIS. But now I'm completely lost, because I have to define a redirection rule somehow. No idea what this means. For me the main problem is to understand what I really want to achieve !?!
If I type the user name and password into the form and press 'Login' or 'Register', what should happen next? Where is this user and password evaluated? I have no idea.......
Re: Emoncms on IIS problem
Hello Jorg, ah yes, the purpose of mod_rewrite is to convert
to:
index.php then fetches the property q with $_GET['q'] and builds the page accordingly. Emoncms follows the Model-View-Controller architecture - Im working on better documenting exactly how emoncms works, there is a start on it here:
http://openenergymonitor.org/emon/node/312
Re: Emoncms on IIS problem
Wow, that is easy to understand (even for me )! Thanks again for your fast response. And I am far away from blaming your documentation, I understand that most users will run this on Linux and it also worked for me on Win XP with XAMPP more or less out of the box. But I have this WHS running since some years now and don't want to change to Linux there (this is also my TV server and I already had to fight hard to push the WAF to an acceptable level).
Ok, next try this evening. Should be possible to do in this 'URL Rewrite'.
BR, Jörg.
Re: Emoncms on IIS problem
Great, good to hear its understandable.
I should proably add that the mod_rewrite settings are usually contained in the .htaccess file that is one of the files in the root directory of the emoncms install. Will your server be able to make sure of that file and therfore save you having to construct the rewrite rule manually?
Re: Emoncms on IIS problem
Trystan,
I feel like a pig looking into a clockwork....
If the rewrite rules are there already (in the .htaccess file), then it should have recognized them. But as far as I can see, these rewrite rules are in Apache syntax !?
I understood that 'Apache' rules can be imported in URL Rewrite and transformed into IIS rules, but have to try this evening (or weekend).
Will come back with results. Jörg.
PS (OT): Emontx arrived yesterday , built and put into operation with three CTs, calibrated with 300W halogen flood ligth (resistive load). Data received with a Jeelink, everything working so far. But now I realize that the existing scripts are not really suitable for real power three-phase monitoring !?! I will try to do something with only the one existing voltage input and use fixed 120° and 240° phaseshifted voltage sample table for calculation of L2 and L3. This should be 'good enough' and within some percent error. Hopefully the weekend will be long enough ....
Re: Emoncms on IIS problem
Sorry for bothering you again, but I still have not much progress here.
Now that I have 'implemented' some rewrite rules in the web.config of IIS following examples how to translate Apache into IIS syntax, I get a wrong substituion:
When the web browser 'URL line' (how is this called correctly?) shows:
then the webserver gives a message that the requested URL is :
Seems that the parsing of the original URl does not work correctly. I do have absolutely no experience with the regular expressions used there nor with the whole syntax of these rules, so I have no clue how to solve that.
Is the problem somewhere in here?:
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
</rule>
Trystan, I know that you have other things to do and I really do not want to keep you busy with my very personal problems. Is there nobody else who wants to use emoncms on a windows home server and IIS and can help me?
BR, Jörg.
PS: my three-phase measuring setup with one voltage sensor and three CTs is now running near perfect (using the somwhat rewritten interrupt code of user Pcunha). So now I really want to have these data stored and presented. What emoncms does with presenting these data is absolutely fantastic. If I cannot get this to run on IIS then I will have another try on my RasPi (if and when it arrives hopefully the next days).


Overview
A Pop Up event:
- Brings together local organizations
- to host learning stations that participants can sample.
This guide will help!
It's a community document, so please share your ideas. You can also see what other hosts did.
Facts and figures
{# Copy comes from VPN restricted admin section #} {{ page_data.figures|safe }}Before
Decide what you want to make
- Read our guidelines on planning safe events
- Recruit a handful of organizations interested in webmaking.
- Each organization will host a learning station, i.e. a simple table-top activity, based on their programs.
- You can also use these webmaker projectsas ideas.
- Agree on shared goals and stations in a collaborative document.
Find a space and a date
- Find a comfortable, flexible space. You'll need several tables for each station and room to move about.
- Think about wifi and power, good lighting, and snacks.
- Pick a date. Give yourself enough time and make sure the date works for the organizations.
Spread the word
- Write a short invitation. Use the shared document as a basis.
- Encourage the participating organizations to invite their communities.
- Create a page for your event, and share the link widely.
During
Welcome everyone
- Set up tables in a large circle. Use posters or other signage to indicate the stations.
- Do a quick go-round.Ask participants to introduce themselves and the stations.
- Give a brief overview. Explain how the stations will work and what's in store for the day.
Visit stations
- Participants sample the stations.
- Encourage them to follow their interests, either staying at stations as long as they like or moving on.
- Remind facilitators to welcome newcomers and keep a good flow.
Share your hacks
- After an hour or two, bring the group into a circle.
- Invite a few participants to share what they made.
- Keep hacking at the stations, if participants are interested.
- If you like, please share your hacks with the world!
- Paste the URL in this etherpad
- or tweet the hacks and tag it #mozparty
- or upload a picture to a gallery, such as Flickr, and tag it with #mozparty.
After
Wrap Up
- Ask everyone how it went. Encourage feedback about the event and the projects. What did they learn? What did they like? If they have suggestions for making it better, be sure to take notes or invite them to blog about it.
- Talk about continuing to hack together. You may want to keep playing with these projects or to try new ones later. Talk about what the participants would like to do next, such as organize another event.
- Set a date. If there's interest, pick a date for the next time!
Let us know how it went
- Please share your experience about hosting the event and the projects, including links to the things you made.
- Weâ€™ll send an email reminder after the event to collect your feedback.


{{response.title = "In-Game Browser Trust Requested"}} {{extend "layout.html" }} {{if igb:}} {{if trusted:}}
Thank you for trusting Ship Spinning! Enjoy, and good luck!
{{else:}}Ship Spinning Slots uses the Eve API to authenticate you while using the in-game browser. For it to do this, though, you need to grant trust to this page. Use the button below to do so.
For your peace of mind: None of the information accessed via granting trust to {{=trust_url}} will be used for any purpose other than the proper functioning of this service. No information will be given to any 3rd party, either.
Click here to grant trust to {{=trust_url}}.
{{pass}} {{else:}}{{pass}}


{{gName1}}
{{gDiscount1}}
Release: {{gdate1}}
Now only {{gprice1}} !!!
Free: {{gFree1}}
{{gDiscount2}}
Release: {{gdate2}}
Now only ${{gprice2}} !!!
Free: {{gFree2}}
{{gDiscount3}}
Release: {{gdate3}}
Now only ${{gprice3}} !!!
Free: {{gFree3}}
{{gDiscount4}}
Release: {{gdate4}}
Now only ${{gprice4}} !!!

Free: {{gFree5}}
{{gName6}}
{{gDiscount6}}
Release: {{gdate6}}
Now only {{gprice6}} !!!
Free: {{gFree6}}
{{gDiscount7}}
Release: {{gdate7}}
Now only ${{gprice7}} !!!
Free: {{gFree7}}
{{gDiscount7}}
Release: {{gdate7}}
Now only ${{gprice7}} !!!
Free: {{gFree7}}
{{gDiscount8}}
Release: {{gdate8}}
Now only ${{gprice8}} !!!
Free: {{gFree8}}
{{gDiscount9}}
Release: {{gdate9}}
Now only ${{gprice9}} !!!
Free: {{gFree9}}
{{gDiscount10}}
Release: {{gdate10}}
Now only {{gprice10}} !!!
Free: {{gFree10}}
{{gDiscount11}}
Release: {{gdate11}}
Now only {{gprice11}} !!!
Free: {{gFree11}}
{{gDiscount12}}
Release: {{gdate12}}
Now only ${{gprice12}} !!!
Free: {{gFree12}}
{{gDiscount13}}
Release: {{gdate13}}
Now only ${{gprice13}} !!!
Free: {{gFree13}}
{{gDiscount14}}
Release: {{gdate14}}
Now only ${{gprice14}} !!!
Free: {{gFree14}}
{{gDiscount15}}
Release: {{gdate15}}
Now only ${{gprice15}} !!!
Free: {{gFree5}}
{{gDiscount16}}
Release: {{gdate16}}
Now only ${{gprice16}} !!!
Free: {{gFree16}}


PERMANENT MIDNIGHT *1/2 (out of four)
(Wake the neighbours! Visit FILM FREAK CENTRAL http://www.geocities.com/~billchambers/ Have a safe journey.)
starring Ben Stiller, Elizabeth Hurley, Maria Bello, Janeane Garofalo screenplay by David Veloz, based on the novel by Jerry Stahl directed by David Veloz
PERMANENT MIDNIGHT is a pretty bad movie, though it took me a few days to conclude this. The film is more masturbatory than bleak, with its main character intent on confounding us with his stupidity. (He has a $6000 a week drug habit.) Ultimately, as adapted by Veloz, Jerry Stahl comes off as one of those playground braggarts who chainsmokes at the age of twelve; you are less mystified by his self-destructive nature than bored into a stupor yourself. Ben Stiller plays Stahl, a young author who arrives in L.A. with ambition and a nasty drug habit. He eventually gets a gig for $5000/week writing for a sitcom called Mr. Chompers (a thinly veiled stand-in for "ALF": Chompers looks just like ALF except he's blue), marries a producer (Hurley) so she can get a green card, and hooks up with a Spanish mother (Liz Torres), who shoots heroin with him in the afternoons. Insert proverbial downward spiral here. PERMANENT MIDNIGHT is structured mostly as a flashback, with recovering addict Bello meeting Stiller (at a fastfood restaurant, where Stiller works the drive-thru as part of rehab), taking him back to a hotel, and between bouts of serious screwing, listening to his life story. I've spent the last week trying to figure out why Stiller never seemed to find the frighteningly gorgeous Hurley attractive-worse, I've been trying to figure out why Hurley DID find Stiller attractive. As Stahl, Stiller displays none of the charm or wit one would expect (post-There's Something About Mary) of either the actor or a comedy writer. What separates Stahl from the hundreds of other Hollywood punk-junkies, it seems, is that Stahl wrote a book about his idiocy. Watch Stahl shoot heroin next to a baby! Watch Stahl spoil numerous pitch meetings with smack-fueled babble! Stiller gives a technically flawless performance: the film could double as a documentary on how to be a junkie. But PERMANENT MIDNIGHT is mostly soulless. When the movie poses the question Will Stahl be saved? and then answers it in the form of Bello's character (basically a shrink in black panties), could a person care less? In the film version of his autobiography of the same name, Stahl doesn't need saving, he needs someone who will sit there and listen to him go on about himself. If you learn anything about the other characters in this movie, it's that they are the most incredibly tolerant Hollywood-types known to man. (Stahl also seems to be the only person at schmooze parties doing drugs. Is this Hollywood...California?) I learned very little about the entertainment business from PERMANENT MIDNIGHT and a whole lot about an egotistical lunkhead. Of course you know that Stahl triumphed because he lived to talk about his problems. So, basically, his drug habit got him a book deal, a movie based on his life, and now he's apparently collaborating with Stiller on future projects. So much for the moral of that story. TEMPORARY MIDNIGHT is more like it. -Bill Chambers; September, 1998
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