Various library configuration options are available in "nullcdef.h" file.
#define 2048
This define controls the maximum variable, function or class name that NULLC will attempt to handle.
#define 8192
This define controls the maximum type name that NULLC will attempt to handle.
#define 1024 * 1024 * 1024
This define controls the default maximum global memory limit (1Gb by default).
You can change this constant or use the
nullcSetGlobalMemoryLimit function.
#define
This define controls whether NULLC will write information about locals in call stack on execution error.
This define is disabled by default.
#define
This define enables x86 JiT executor.
This define is enabled by default on platforms and compilers that support it.
#define
This define enables x86 JiT executor code optimization.
Code compilation speed is reduced greatly when JiT is in use and this flag is enabled.
This define is enabled by default on platforms and compilers that support it.
#define
This define will build a compiler-only version of NULLC library.
This define is disabled by default.
#define
This define will enable an automatic function binding on Windows and Linux. More information in a topic
Binding functions to NULLC
This define is enabled by default.
nullres nullcInit(const char* importPath);
Function initializes NULLC library with default allocation and deallocation functions.
-
importPath parameter sets that path in which the modules will be searched.
Function is equivalent to
nullcInitCustomAlloc(, , importPath);
void nullcSetImportPath(const char* importPath);
This function will update the module import path.
-
importPath parameter sets that path in which the modules will be searched.
nullres nullcInitCustomAlloc(void* (*allocFunc)(int), void (*deallocFunc)(void*), const char* importPath);
Function initializes NULLC library with specified allocation and deallocation functions.
-
allocFunc parameter sets the allocation function. It must be _cdecl function accepting one argument (allocation size) and returning pointer to allocated memory block.
-
deallocFunc parameter sets the deallocation function. It must be _cdecl function accepting one argument (pointer to a memory block to be freed). Return type must be void.
-
importPath parameter sets that path in which the modules will be searched.
void nullcSetFileReadHandler(const void* (*fileLoadFunc)(const char* name, unsigned int* size, int* nullcShouldFreePtr));
Function allows to set a handler for module file read operation. By default, fopen/ftell/fread/fclose function are used.
-
fileLoadFunc parameter sets the handler function. It must be _cdecl function accepting three arguments and returning pointer to a memory, where file contents are placed.
name argument contains the path to a module.
size argument is a pointer to a variable that should receive file size.
nullcShouldFreePtr argument is a pointer to a variable that will tell whether NULLC should free memory to which return pointer points to.
void nullcSetGlobalMemoryLimit(unsigned int limit);
Function sets the global memory limit and override the one set by define.
-
limit parameter is the new global memory limit.
void nullcTerminate();
This function performs NULLC library deinitialization.
void nullcSetExecutor(unsigned int id);
Change current executor.
-
id is executor ID. Can be either or (JiT).
nullres nullcSetJiTStack(void* start, void* end, unsigned int flagMemoryAllocated);
Set memory range where JiT parameter stack will be placed.
Windows specific:
If
flagMemoryAllocated is not set, executor will allocate memory itself using VirtualAlloc with base ==
start.
Linux specific:
If
flagMemoryAllocated is not set,
start parameter is ignored.
When
flagMemoryAllocated is not set,
end can be set to , meaning that x86 parameter stack can grow indefinitely.
When
flagMemoryAllocated is set,
start and
end should point to a user-allocated buffer. After a call it shouldn't be accessed or deallocated before a call to nullcTerminate or a call to nullcSetJiTStack with a different buffer.
Default mode:
start =
0x20000000,
end = ,
flagMemoryAllocated = false
Function is available if is enabled.
nullres nullcBindModuleFunction(const char* module, void (*ptr)(), const char* name, int index);
Function is used to bind unresolved module functions to external C functions.
Read more abount C function binding in
interoperability section.
-
module parameter is the module name (as in NULLC import expression), where the function will be searched.
-
ptr parameter is the pointer to C function (use a cast operation to bind functions with different types).
-
name parameter is the function name.
-
index parameter is the number of a function overload in order of definition in the source code.
nullres nullcLoadModuleBySource(const char* module, const char* code);
Builds module and saves its binary into binary cache.
-
module parameter is the module name as in NULLC import expression.
-
code parameter is the module source code.
nullres nullcLoadModuleByBinary(const char* module, const char* binary);
Loads module into binary cache.
-
module parameter is the module name as in NULLC import expression.
-
binary parameter is the module binary code.
nullres nullcBuild(const char* code);
Compiles and links code.
-
code parameter is the module name as in NULLC import expression.
nullres nullcRun();
Run global code.
This function should be called at least once, before nullcRunFunction can be safely called, since it calculates global variable values.
nullres nullcRunFunction(const char* funcName, ...);
Run function code.
-
funcName parameter is the name of the function to run. If it's , the result is the same as calling nullcRun.
-
... arguments that will be passed into a function.
const char* nullcGetResult();
int nullcGetResultInt();
double nullcGetResultDouble();
long long nullcGetResultLong();
Functions that retrieve last execution result of global code or function.
const char* nullcGetLastError();
Function returns last error description.
void* nullcAllocate(unsigned int size);
Function allocates memory block that is managed by GC.
-
size parameter is an allocation size.
void nullcThrowError(const char* error, ...);
Function aborts NULLC program execution with a specified error (formatting as in printf function is supported).
-
error parameter is a format string.
-
... extra arguments.
nullres nullcCallFunction(NULLCFuncPtr ptr, ...);
Call function using NULLC function pointer with optional arguments.
-
ptr parameter is a pointer to NULLC function.
-
... arguments that will be passed into a function.
nullres nullcSetGlobal(const char* name, void* data);
Set global variable value.
-
name parameter is a global variable name.
-
data parameter is a pointer to new variable data.
void* nullcGetGlobal(const char* name);
Get global variable value (can be modified).
-
name parameter is a global variable name.
nullres nullcGetFunction(const char* name, NULLCFuncPtr* func);
Get function pointer to use it in nullcCallFunction or to redirect it to some other function using nullcSetFunction.
-
name parameter is the function name.
-
func parameter is the pointer to NULLCFuncPtr struct that will receive pointer to function.
nullres nullcSetFunction(const char* name, NULLCFuncPtr func);
Set function using function pointer to redirect function to another one.
-
name parameter is a global variable name.
-
func parameter is the NULLCFuncPtr struct that contains pointer to source function.
nullres nullcIsStackPointer(void* ptr);
Function returns 1 if passed pointer points to NULLC stack; otherwise, the return value is 0.
-
ptr parameter is a pointer to check.
nullres nullcIsManagedPointer(void* ptr);
Function returns 1 if passed pointer points to a memory managed by NULLC GC; otherwise, the return value is 0.
-
ptr parameter is a pointer to check.
Some modules heavily rely on internal NULLC structure, and because of that, they are initialized through NULLC interface.
int nullcInitTypeinfoModule();
Function initializes std.typeinfo module.
int nullcInitDynamicModule();
Function initializes std.dynamic module.
nullres nullcCompile(const char* code);
Function compiles the source code.
-
code parameter is a pointer to a string with source code.
unsigned int nullcGetBytecode(char** bytecode);
Function is used to get bytecode for compiled source code.
Bytecode can be later linked with nullcLinkCode and executed.
-
bytecode parameter is a pointer to pointer that will receive the bytecode. Memory must be freed by user.
Function returns the size of the bytecode.
unsigned int nullcGetBytecodeNoCache(char** bytecode);
This function is similar to nullcGetBytecode, with one exception:
After bytecode is retrieved by nullcGetBytecode, it is put into bytecode cache as "__last" module that can be imported later to implement advanced features like dynamic code evaluation (see std.dynamic).
If you wish that "__last" module bytecode is not changed, you should use this function.
void nullcClean();
Clean all accumulated bytecode from linker.
nullres nullcLinkCode(const char* bytecode);
Link new chunk of bytecode.
Type or function redefinition generates an error.
Global variables with the same name are handled silently.
nullres nullcSaveListing(const char* fileName);
This function saves disassembly of last compiled code into file.
nullres nullcTranslateToC(const char* fileName, const char* mainName, void (*addDependency)(const char *fileName));
This function saved analog of C++ code of last compiled code into file.
Only functions with cdecl calling convention can be binded to NULLC.
All basic numeric types are equal in representation to C++ types, except for "long" type which corresponds to 64bit "long long" type in C++.
NULLC reference types are simple pointers.
NULLC array with implicit size corresponds to NULLCArray struct.
NULLC "auto ref" type corresponds to NULLCRef struct.
NULLC function pointers correspond to NULLCFuncPtr struct.
NULLC "auto[]" type corresponds to NULLCAutoArray struct.
It is not recommended to pass NULLC classes and explicitly-sized arrays by value.
If you want to bind class member function, it must accept pointer to class type as the
last parameter.
NULLC classes can be transformed into C structures by applying the same transformations used for function arguments.
A care must be taken for class member alignment: members are aligned to their default align values,
but no more than 4 bytes (see Basic types topic in language reference).
So it is recommended to wrap C struct definition into a "#pragma pack(push, 4) ... #pragma pack(pop)".
When binding a class member function, add "class::" before the function name (that's two ':' instead of one you see in externally defined member function).
If NULLC_AUTOBINDING define is enabled, you can write NULLC_BIND before your functions and NULLC linker will bind them automatically.
This works only for plain functions and not for class member functions.
Under gcc, you must build NULLC with "-ldl" flag and build your application with "-rdynamic" and "-ldl" flags, in order for auto binding to work.


Authenticating avoids hitting the rate limiting for API requests.
The credentials entered here are handled locally via javascript and sent only to GitHub API via your browser and the Github.js library. They are not stored anywhere else.
I recommend to use a personal access token with no auth scope. It's enough to fetch from public repositories.
Username:
Password:
Personal token:
⚠ Store token locally


Watch: Fully automated cooking, thanks to Robochef
Robochef is a massive stainless steel structure, with nearly 600 dishes pre-programmed into it.
by The Hindu Net DeskCan cooks be replaced with machines? A startup in Chennai is attempting to answer that question.
“We have pre-programmed nearly 600 dishes into it,” says Saravanan Sundaramoorthy, CEO and founder, Robochef. The “it” he is referring to is not a humanoid. Robochef is a massive stainless steel structure, which looks like unwieldy kitchen equipment with very little visually pleasing detail.
Inside Robochef, moving belts that carry utensils, and containers that deliver spices and vegetables into the main cooking vessel, are operated by sensors tuned using computer codes.
Robochef is currently a ghost kitchen (a kitchen set up for preparing delivery-only meals). “We have tied up with caterers who supply in bulk to events and hotels. Our product has helped them improve their gains, and takes out the dependency on a cook,” says Saravanan.
There are two variants of the machine — the commercial variant priced at ₹45 lakh, meant for commercial ghost kitchens, and the domestic variant priced at ₹6 lakh.


TEST
animate
dom
editor
event
flicking
modal
player(video)
touch
util
web socket
web worker
xhr(Ajax)


Drugged-up maniac in cop car chase through Paisley
Joseph McGowan, 43, sped along the wrong side of the road forcing drivers to swerve out of his path, and even spun his car around, leaving him facing oncoming vehicles during the pursuit.
by Ron Moore, https://www.dailyrecord.co.uk/authors/ron-moore/A drugged-up motorist sparked terror during a high speed police chase through Paisley.
Joseph McGowan, 43, sped along the wrong side of the road forcing drivers to swerve out of his path, and even spun his car around, leaving him facing oncoming vehicles during the pursuit.
Paisley Sheriff Court heard McGowan, witnessed to be under the influence of drugs, caused traffic mayhem when officers on mobile patrol spotted him at the wheel of his Ford Fiesta.
More of the latest news from the PAISLEY DAILY EXPRESS
Procurator Fiscal Depute Maureen McGovern told the court: “Officers followed the Ford Fiesta driven by the accused when they recognised him.
“Police had reason to speak to him and decided to follow.
“They observed the accused rapidly increasing his speed to the point where police lost sight of the vehicle.
“They looked around for the accused and observed him driving out of Sunnylaw Drive onto Brediland Drive where they activated their blue lights and sirens.
“The accused responded by again rapidly increasing his speed, overtaking oncoming vehicles approaching a blind summit and junction.
“He continued speeding far in excess of the 30mph speed limit again overtaking oncoming vehicles, which had to break sharply to avoid
collision.”
The court heard McGowan continued to tear through the streets of Foxbar on July 4 with cops in hot pursuit until he completely lost control of Fiesta, spinning 180 degrees, with his motor on the opposite carriageway facing oncoming traffic.
The prosecutor added: “The distance between the accused and the police vehicle increased significantly.
“The accused attempted to turn right but due to his
excessive speed and rapid braking, lost control causing his vehicle to spin round 180 degrees with the vehicle coming to rest facing the wrong way on the opposite carriageway.
“He then continued driving pursued by police until he pulled over at Brediland Road where he quickly alighted from the vehicle but was arrested.
“It was immediately apparent he was heavily under the influence of substances.
“He was talking incoherently.
“His eyes were bloodshot and glazed.”
He was taken to Greenock Police Station where he refused to provide officers with a blood sample.
McGowan of Brediland Road, Foxbar, pleaded guilty to charges of dangerous driving, failing to stop when required to by police, driving while unfit to do so, refusing to provide a blood sample and driving without insurance.
Defence agent Anthony Boland said he would reserving his submissions in defence of McGowan until after the court had obtained background reports in preparation for sentencing.
Sheriff James Spy warned McGowan, who has previous convictions for both motoring and drugs offences, that was he was being released on bail until December 13.
He said: “These are serious charges.
“It should not be taken that there will be a non-custodial sentence.”


Website "OpenSource Software Collaboration Counseling" (OSSCC): This website tries to help authors of free software to find the best licence. Different OSI certified licences are compared concerning how they allow code transfer between differently licenced open-source projects.


DIFFINDEX-DOWNLOAD(1) DIFFINDEX-DOWNLOAD(1) NAME diffindex-download - Download utility for Debian Contents files SYNOPSIS diffindex-download [ options ] URL filename DESCRIPTION diffindex-download is a command line tool for downloading Contents files. It uses APT's diff/Index format patches when available to avoid download‐ ing the full file. diffindex-download is used by apt-file. OPTIONS -n number If more than number patches would be necessary, download the whole file. Specifying 0 to always download the whole file is possible. -k Don't verify the peer certificate when using https. -c cacert If cacert is a directory: Use cacert as CA certificate path. Oth‐ erwise use cacert as CA certificate bundle. See the --capath and --cacert options in the curl(1) man page. -i Don't exit with errror if the URL does not exist. This is useful as some archives don't provide Contents files. -q Be quiet (opposite of -v). The default if stdout is not a termi‐ nal. -v Be verbose (opposite of -q). The default if stdout is a terminal. -d Print additional debug info. -h Display a short help screen. SEE ALSO apt-file(1), diffindex-rred(1), curl(1) AUTHOR diffindex-download was written by Stefan Fritsch<EMAIL_ADDRESS>January 2009 DIFFINDEX-DOWNLOAD(1)


About Me
My name is Lucas Kwerneland. I am a Photographer at Gotta Fill the Bucket Photography and native Coloradan who wants to see and appriciate as much of the world as I possibly can. My background is in Analytics and Back End Infrastructure and I am excited at the prospect of moving these interests into Back End Architecture and Developement.
After attending Culinary School in Providence, RI at Johnson and Wales University, I recieved my Bachelor of Arts degree from The University of Colorado at Boulder.
I am currently participating in the University of Denver Coding Boot Camp.


|
Ubiquity
2.2.0
php rapid development framework
|
Public Member Functions | |
| __construct ($instance, $member=null) | |
| init ($annot=false) | |
| getMember () | |
| setMember ($member) | |
| getJoinTable () | |
| setJoinTable ($joinTable) | |
| getMyFkField () | |
| setMyFkField ($myFkField) | |
| getFkField () | |
| setFkField ($fkField) | |
| getTargetEntity () | |
| setTargetEntity ($targetEntity) | |
| getTargetEntityClass () | |
| setTargetEntityClass ($targetEntityClass) | |
| getTargetEntityTable () | |
| setTargetEntityTable ($targetEntityTable) | |
| getMyPk () | |
| setMyPk ($myPk) | |
| getPk () | |
| setPk ($pk) | |
| getInversedBy () | |
| setInversedBy ($inversedBy) | |
| getInstance () | |
| setInstance ($instance) | |
| getSQL ($alias="", $aliases=null) | |
| getConcatSQL () | |
| getParserWhereMask ($mask="'{value}'") | |
| generateConcatSQL () | |
| addValue ($value) | |
| getWhereValues () | |
Private Member Functions | |
| _init ($class, $annot) | |
| getParserConcatWhereMask ($mask="'{value}'") | |
| getParserConcatWhereInMask ($mask="'{values}'") | |
Private Attributes | |
| $table | |
| $member | |
| $joinTable | |
| $myFkField | |
| $fkField | |
| $targetEntity | |
| $targetEntityClass | |
| $targetEntityTable | |
| $myPk | |
| $inversedBy | |
| $pk | |
| $instance | |
| $whereValues | |
| __construct | ( | $instance, | |
$member = null |
|||
| ) |
Definition at line 28 of file ManyToManyParser.php.
|
private |
Definition at line 50 of file ManyToManyParser.php.
| addValue | ( | $value | ) |
Definition at line 230 of file ManyToManyParser.php.
| generateConcatSQL | ( | ) |
Definition at line 213 of file ManyToManyParser.php.
| getConcatSQL | ( | ) |
Definition at line 197 of file ManyToManyParser.php.
| getFkField | ( | ) |
Definition at line 109 of file ManyToManyParser.php.
| getInstance | ( | ) |
Definition at line 172 of file ManyToManyParser.php.
| getInversedBy | ( | ) |
Definition at line 163 of file ManyToManyParser.php.
| getJoinTable | ( | ) |
Definition at line 91 of file ManyToManyParser.php.
| getMember | ( | ) |
Definition at line 82 of file ManyToManyParser.php.
| getMyFkField | ( | ) |
Definition at line 100 of file ManyToManyParser.php.
| getMyPk | ( | ) |
Definition at line 145 of file ManyToManyParser.php.
|
private |
Definition at line 209 of file ManyToManyParser.php.
|
private |
Definition at line 205 of file ManyToManyParser.php.
| getParserWhereMask | ( | $mask = "'{value}'" | ) |
Definition at line 201 of file ManyToManyParser.php.
| getPk | ( | ) |
Definition at line 154 of file ManyToManyParser.php.
| getSQL | ( | $alias = "" , |
|
$aliases = null |
|||
| ) |
Definition at line 181 of file ManyToManyParser.php.
| getTargetEntity | ( | ) |
Definition at line 118 of file ManyToManyParser.php.
| getTargetEntityClass | ( | ) |
Definition at line 127 of file ManyToManyParser.php.
| getTargetEntityTable | ( | ) |
Definition at line 136 of file ManyToManyParser.php.
| getWhereValues | ( | ) |
Definition at line 238 of file ManyToManyParser.php.
| init | ( | $annot = false | ) |
Definition at line 34 of file ManyToManyParser.php.
| setFkField | ( | $fkField | ) |
Definition at line 113 of file ManyToManyParser.php.
| setInstance | ( | $instance | ) |
Definition at line 176 of file ManyToManyParser.php.
| setInversedBy | ( | $inversedBy | ) |
Definition at line 167 of file ManyToManyParser.php.
| setJoinTable | ( | $joinTable | ) |
Definition at line 95 of file ManyToManyParser.php.
| setMember | ( | $member | ) |
Definition at line 86 of file ManyToManyParser.php.
| setMyFkField | ( | $myFkField | ) |
Definition at line 104 of file ManyToManyParser.php.
| setMyPk | ( | $myPk | ) |
Definition at line 149 of file ManyToManyParser.php.
| setPk | ( | $pk | ) |
Definition at line 158 of file ManyToManyParser.php.
| setTargetEntity | ( | $targetEntity | ) |
Definition at line 122 of file ManyToManyParser.php.
| setTargetEntityClass | ( | $targetEntityClass | ) |
Definition at line 131 of file ManyToManyParser.php.
| setTargetEntityTable | ( | $targetEntityTable | ) |
Definition at line 140 of file ManyToManyParser.php.
|
private |
Definition at line 18 of file ManyToManyParser.php.
|
private |
Definition at line 25 of file ManyToManyParser.php.
|
private |
Definition at line 23 of file ManyToManyParser.php.
|
private |
Definition at line 16 of file ManyToManyParser.php.
|
private |
Definition at line 15 of file ManyToManyParser.php.
|
private |
Definition at line 17 of file ManyToManyParser.php.
|
private |
Definition at line 22 of file ManyToManyParser.php.
|
private |
Definition at line 24 of file ManyToManyParser.php.
|
private |
Definition at line 14 of file ManyToManyParser.php.
|
private |
Definition at line 19 of file ManyToManyParser.php.
|
private |
Definition at line 20 of file ManyToManyParser.php.
|
private |
Definition at line 21 of file ManyToManyParser.php.
|
private |
Definition at line 26 of file ManyToManyParser.php.


ListSize()
语法
Result = ListSize(List())概要
Returns the number of elements in the list. It does not change the current element. This function is very fast (it doesn't iterates all the list but uses a cached result) and can be safely used to determine if a list is empty or not.
参数
List() The name of your list variable, created with the NewList function. You must include the brackets after the list name.
返回值
The total number of elements in the list.
示例
NewList countme.w() ; Small loop to add some elements to the list. For i=0 To 10 AddElement(countme()) countme() = i * 23 Next ; Show how many elements there are in the list. I hope you thought ; of the same value as this example ;) MessageRequester("Information", "There are "+Str(ListSize(countme()))+" elements in the list", #PB_MessageRequester_OK)
参阅
ListIndex()
已支持操作系统
所有


Install the CHARIS Data reduction pipeline¶
Requirements¶
Python 2.7 Cython with a C compiler and OpenMP. C compilers as gcc-5, gcc-mp-5, gcc-mp-6 are acceptable.
Your computer should have at least ~2 GB of RAM to extract data cubes, and at least 2 GB/core (and at least 4 GB total) to build the calibration files. The calibration files can take a long time to generate if you do not have multiple processors.
Dependencies¶
numpy, scipy, astropy
Installation¶
The easy way to install is to use the setup.py in this directory with
python setup.py install
I strongly recommend that you first install the anaconda Python 2.7 from here if you are not already using anaconda: https://www.continuum.io/downloads If you are running this on a Mac, you need gcc from Xcode, and you probably need a homebrew installation of gcc-5 to enable OpenMP linking. Follow the instructions here: http://mathcancer.blogspot.com/2016/01/PrepOSXForCoding-Homebrew.html You may need to specify the C compiler when running the setup script using something like
CC=gcc-5 python setup.py install
or
CC=gcc-mp-5 python setup.py install
Type gcc [tab][tab] in a terminal to see your available gcc compilers. If you use tcsh instead of bash, your export command will be different, but something like this should work:
set CC = gcc-5
python setup.py install
You can check that the installation was successful by typing:
buildcal
Must call buildcal with at least three arguments:
1: The path to the narrow-band flatfield image
2: The wavelength, in nm, of the narrow-band image
3: The band/filter: 'J', 'H', 'K', or 'lowres'
Example: buildcal CRSA00000000.fits 1550 lowres
Optional additional arguments: filenames of darks
taken with the same observing setup.
Example: buildcal CRSA00000000.fits 1550 lowres darks/CRSA*.fits
Windows 10 install¶
These instructions were provided by Zach Long and use the bash functionality within Windows 10. This procedure
Download Anaconda 2.7 Linux installer from their website
Download and extract CHARIS code
Navigate to the appropriate folder (the folder is in mnt/c/ somewhere, c refers to the windows C: drive or whatever the main drive is)
Install using “bash Anaconda2-4.3.1-Linux-x86_64.sh”
Install pip using “sudo apt-get install python-pip”
Do a “sudo pip install cython”
If you get an error with gcc exiting with code 1 use this command “sudo apt-get install python-dev”
Do another “sudo pip install cython”
Do a “conda install numpy” (might have to close and reopen bash for this)
Do a “conda install astropy”
Do a “pip install -U scipy” (I’m not sure why it needs the upgraded version but it does)
Navigate to the charis code folder again in /mnt/c/
Run “sudo python setup.py install”
Run “export KMP_AFFINITY=disabled” (this is because there is a known bug in scipy for windows bash. You’ll know if it’s happening if you get the following errors when you try to run buildcal
OMP: Error #100: Fatal system error detected. OMP: System error #22: Invalid argument Aborted (core dumped)
As far as I can tell you have to do it after you open a new bash terminal)
Done, it should work at this point, it worked for me at least. If something doesn’t work it’s usually something to do with scipy so you many need to run a sudo “pip install –upgrade pip”
Occasionally I have had to do a “alias sudo=’sudo env PATH=$PATH’” if Cython decides not work because it’s using the wrong python, I’m assuming the one that came preinstalled
Troubleshooting¶
Most of the installation issues on Macs that have been encountered so far come from slight differences in the versions and the installations of python and gcc. We recommend following the steps above thoroughly. Here are sharing some of the issues and potential solutions.
Install gcc through Macports¶
Macports is a good alternative to download and install the correct version of gcc. First, make sure that the latest package definitions are updated with “selfupdate”, and then download and install the latest version of gcc5.
sudo port selfupdate
sudo port install gcc5
This should have installed the latest version of gcc5. You can check what versions of gcc are available by typing gcc [tab][tab]. For example on a 2017 MacBook Pro with xcode installed, these are the programs that are installed:
gcc gcc-mp-6 gcc-ranlib-mp-6
gcc-ar-mp-6 gcc-nm-mp-6 gccmakedep
One would then run
CC=gcc-mp-6 python setup.py install
Install the CHARIS DRP with AstroConda (or if you regular conda installation uses Python 3.xx)¶
In order to not disturb your installation of Python 3.xx (with which the pipeline is not yet compatible), we can create a separate, isolated Python environment with conda. You can find some instructions on how to do this for example at https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/. Below are the key elements:
conda create -n py27 python=2.7 anaconda
And once the installation is complete, you can activate your environment
source activate py27
To jump back out of the environment to your regular environment without having to close your terminal, you can type:
source deactivate py27


<imagemap>
The <imagemap>
element supports the basic functionality of the HTML
"client-side" image map markup. <imagemap>
allows you to designate a
linkable area or region over an image, allowing a link in that region to display another
topic.
Category: Utilities elements


Amosun sponsors South-West Development Commission bill in Senate
by Sunday AborisadeSunday Aborisade, Abuja
A bill seeking the establishment of the South West Development Commission scaled first reading on the floor of the Senate on Thursday.
The bill was sponsored by the Senator representing Ogun Central Senatorial District, Ibikunle Amosun in conjunction with all the South-West senators in the red chamber.
Amosun is the immediate past governor of Ogun State.
…Details later


Word Parrot
On
Off
Language:
English
Voice:
American
British
Australian
French
Spanish
Swedish
Italian
Korean
Japanese
Chinese
ResponsiveVoice-NonCommercial
licensed under


Welcome to The Fix’s weekly news digest! Every week, we bring you
important news stories from the world of media – and try to put them
in a wider context.
This week, we have two detailed stories on the recent media shakeup in
Ukraine and a roundup of other noteworthy media news.
The closure appears to be a continuation of the conflict between the
publisher and the editorial team, particularly over the plans to
launch a Ukrainian-language outlet under the paper’s brand. Analysts
also say the move might be the owner’s attempt to avoid angering the
authorities – whom Kivan’s construction business depends on – over
Kyiv Post’s coverage.
Perhaps the most notable media news story in the CEE region came from
Ukraine this week with the closure of Kyiv Post, the country’s leading
English-language publication.
Over the past several decades, it has been a trusted source of news
and a lodestar of independent journalism. However, on Monday the
paper’s owner, construction tycoon Adnan Kivan, announced the outlet
will close “for a short time,” saying he hopes to reopen it “bigger
and better” in the future.
Kyiv Post’s editorial team then released a statement clarifying that
all journalists were fired effective immediately. The journalists
called the actions “an act of vengeance” by the owner and an attempt
to “[get] rid of inconvenient, fair and honest journalists.”
The closure has attracted multiple concerned comments from Kyiv Post
readers, which include high-level foreign diplomats, expats, and
business leaders. In an interview with Columbia Journalism Review, the
paper’s now-former chief editor Brian Bonner said he is “talking to
deeply concerned ambassadors.”


Welcome
We are a congregation of about 235 members that confess our salvation by faith alone in Jesus Christ. Being a Reformed church, we find our roots in the great Protestant Reformation of the sixteenth century that began with Martin Luther and spread throughout Europe, England, and Scotland. That reformation brought the church back to the teachings of the Bible that had been abandoned, and â€œreformedâ€ the church, or formed the church anew.
It is our chief delight and desire to serve and glorify the one true God, and Him alone, in every part of our lives. We are able to do this only through the salvation God has provided us in Jesus Christ and by the work of the Holy Spirit. Our guide for serving God is the Bible, the inspired Word of God, without error. The Bible is the only authority to guide us in what we are to believe and how we are to live.
Essential to our mission as a church is to preach the Word of God as it centers on Jesus Christ. We gather twice each Sunday for worship. The preaching of Godâ€™s Word is the emphasis of our worship services. Pastor James Slopsema serves our congregation by diligently fulfilling his calling to preach the Word of Truth and to minister to the needs of the church.
By Gods grace, we strive to be witnesses of Jesus Christ to those around us and to the world at large. We participate in the support of missionaries in the United States and abroad, sponsor radio programs, distribute Biblical literature, and seek to let our light shine by living lives devoted to our Savior.


A simple functional programming language
"F" is for flow.
"F" is for functional.
"lang" is for programming language.
Flang is a functional language, which means it's made of functions. Functions take input(s) and give output(s). Some people call these arguments and return values. Flang calls inputs and outputs "pipes." The outputs of functions are sent to inputs of others along pipes.
A function will wait until all of its inputs are "satisfied," which means they have been outputted by another function. Once its inputs are satisfied, it will run somepoint in the future. Once it runs, its outputs will become satisfied and the cycle will repeat.
Pipes lose their values and become dissatisfied when they are an input of a function and it runs, just for that input.
pipe ;function pipe pipe pipe pipe pipe function pipe pipe pipe function pipe pipe pipeTo be more specific:
output ;lambda input input input input input function output output input function output output output
#include<stdio.h> #define Putchar putchar ;main 'c sea sea Putchar
Output:
c
#include<stdio.h> #define P putchar ;main 'c sea sea P
Output:
c
#include<stdio.h> #define P putchar ;main 'c c c P
Output:
c
#include<stdio.h> #define P putchar ;main 'd c c P
Output:
d
#include<stdio.h> #define P putchar ;pain 'd c c P
Error: main not defined
#include<stdio.h> ;main 'd c c P
Error: P not defined
#include<stdio.h> #define P putchar #define G getchar ;main G c c P
Will print the first character entered once enter is pressed.
#include<stdio.h> #define P putchar #define G(a) getchar() ;main 'c p p G c c P
Will print the first character entered once enter is pressed.
#include<stdio.h> #define P putchar #define G(a) getchar() ;main 'f p 'd p p G c c P
Will print the first two characters entered once enter is pressed.
#include<stdio.h> #define P putchar #define G(a) getchar() ;main 'd p p G c c P p
Will print input every enter.
#include<stdio.h> #define P putchar #define G(a) getchar() ;main G a G b a P b P
Will repeat two characters in either order.
#include<stdio.h> #define P putchar #define G(a) getchar() ;main G a G b a P a b > c c P
Will repeat two characters in the original order.
#include<stdio.h> #define P putchar #define G(a) getchar() ;main G a G b b P b a > c c P
Will repeat the first two of three characters in order.
#include<stdio.h> #define P putchar #define G(a) getchar() ;main G a G b G c a P c a b > d d P
Will repeat two characters in the opposite order, requiring three characters to be inputted.


I just had a very odd trip. it was astounding..and alarming..and exciting..and confusing..and revealing.. causing me to revere this teacher plant more than ever. I think my last trip (2 nights ago) was intended to be a handshaking with salvia..so that the salvia journeys would stay fresh and 'familar' (although in hindsight, my salvia trips have all been vastly different despite using the same salvia in the same setting).
Tonight's ride was a full-on mindfuck. I did yoga to prepare and I thought it would just be 'another salvia journey..' feh. That is a moronic notion indeed.
I took a lung busting hit.. and laid on my bed in near-darkness and total silence. the familiar feeling of my heart growing thunderously loud in my chest forshadowed the voyage and within seconds I was teleported into an ego-free space.. and I was not alone in this space.
Not that saying 'I' means much..I seemed to be scattered all over space and time.. to the point that there was no specific 'me.' I sat up..to find me. There was a dim light coming from my stereo, making my white arms glow to an extent. however.. they seemed to be just one set of many arms in the room.. all lined up parallel with mine. The other arms were black (pitch black.. not a skin tone) like my sheets and the darkened room but my arms were glowing against them.
I don't know how I was maneuvaring my arms the way I perceived because in hindsight it is impossible.. because I was flipping my arms.. like pages in a book... turning them over, across each other. it seemed that a new arm would replace the arm I flipped.. like a new page revealed by turning the one you just read. These arms did not appear to belong to me even though I knew they should. I was searching for 'me' in this sea of arms.. and entities. I could see my legs too but there was really no distinction between them and my arms.. I knew the room was filled with appendages.. All lined up in rows and they couldn't have ALL been mine.
I got somewhat panicky because the ego loss here was startling..I was in a space where 'I' did not exist.. where I was a character in a story.. an idea but not a reality..and I was not alone in this carnivalesque space. It was as if my existence was a mischievous prank.
I had the impression of neons.. blue and red mostly.. these colors worn by or indicating the other presences in the room. they seemed to be very amused at my confusion with my arms. Wicked creatures! None of these arms seemed to be connected to 'me' as in, my ego or my torso.. I desired to be me, to know me and to be reassured of my existence.. that I was not just another of these faceless phantoms that were visiting me.
I am wondering if more salvia would make them talk? impart their wisdom? I got the feeling that some of the visitors were sages and mystics..shamen..yogis..spiritual masters far beyond me..watching me..as if I had invaded the coffeehouse of the gurus and they all stopped their chitchat to point and laugh at the kid who fashions himself an explorer of these realms.. they were thoroughly enjoying watching my discovery and confusion. The presence behind me I interpreted as the intelligence/spirit/consciousness of Salvia.. and I interpreted it as female. Whether this was an honest impression or one I have gathered from research I will not know..but I said 'Hi' to the female presence.. the one who had invited me into her magical wonderland space.. or had I intruded?
Hearing my voice jarred me somewhat and I recovered my identity from the sea of dismembered appendages and egos.  The reunion with myself was breathtaking.. as if I had woken from a dream that I had called life.. and here I was finally the dream maker and not the dream.
I turned on the light and gazed at myself in the mirror for a very long time.. some very real and vivid questions (and answers) about the nature of my identity and existence were raised tonight.. and I contemplated them as I stared into my eyes. I could see into myself from a new angle. an angle I have never seen a face before.. as if from the center.. from the inside..(third eye meditation experiments with entheogens have been profound before.. but this was new..vivid..real) I could see through myself and to myself.
This was a definite wake-up call. A testament to the fact that this is NOT a 'RECREATIONAL DRUG.' The disorientation, and uncertainty were startling. I think that being blasted out of my ego so fast was part of it.. and part of it was my aversion to slipping into the boundary free space of salvia (this is usually not a problem for me.. this trip however was my most powerful so far and caught me off guard).
I look back on it very fondly. The real me that salvia is alerting me to is not far ahead.. and may even slow down enough to be caught.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


File Info
|
|
||||||
| Status: [statestring] |
|
|
Playback control |
Seek |
Volume control
|
Playlist
|
Panic Button |
Audio Delay |
Pan&Scan Move
|
Pan&Scan Size
|
Video Frame
|
DVD Menu Controler
|
Misc
|
|
Zoom control |
Fullscreen control |
|
Player views |
Detachable Controls |
|
Audio/Subtitles |
|
Subtitles |
DVD Angles/Video Streams |
|
DVD Menus |
MPC-BE's Menus
|
Always On Top


Canada: GDP masks sharp improvement in Canadian business investment for Q3 – TDS
by Eren SengezerCommenting on Friday's Gross Domestic Report from Canada, "GDP growth was in line with market expectations, with the Canadian economy growing 1.3% (annualized) in Q3 and 0.1% m/m for September," note TD Securities analysts. "However, details were more positive with domestic demand up 3.2%."
Key quotes
"Business investment was a key driver to Q3 growth which will come as a relief to the BoC, given their concern with the global outlook. We don't expect this to drive a hawkish pivot next week, but it should allow them some added comfort as they remain on the sidelines."
"Rates: Muted reaction to an in-line number, and small beat on the YoY (1.60% vs 1.40%). At the margin this report could buy the BoC a bit more time to hold off on cutting rates, had the report been weak, that could have been a big deal."


Always use the network tab!
http://www.q1043.com/music/playlist/index.html?last10=1
http://www.q1043.com/services/now_playing.html?streamId=1465&limit=10
pip install requests lxml cssselect beautifulsoup4
import requests, lxml.html
response = requests.get('https://www.google.com/')
doc = lxml.html.fromstring(response.content)
element = doc.cssselect("#hplogo")[0]
print lxml.html.tostring(element)
gem install mechanize nokogiri


HERCULES RATING: 6.5 / 10 --> So-so
Review Date: May 24, 1998 Directors: Ron Clements and John Musker Writers: Ron Clements, Don McEnery, Irene Mecchi, John Musker and Bob Shaw Producers: Ron Clements, Alice Dewey and John Musker Actors: Tate Donovan as the voice of Hercules James Woods as the voice of Hades Danny DeVito as the voice of Phil Susan Egan as the voice of Meg Genre: Children's Animation Year of Release: 1997
Disney's 35th feature-film foray into the world of cartoon animation is set within the mythological world of the ancient Gods, in the historical setting of Greece.
 To recapture his God-hood, Hercules must prove to his real father Zeus, that he can be a true hero. While all of this goes on, the menacing Hades prepares to take over as the ruler of the after-life.
CRITIQUE: Uninspired, semi-interesting, and sometimes funny cinematic attempt by Disney to cash in on another marketable historical myth. This film seemed destined for success, but didn't seem to fully hit all of the right notes on its way to the concert. I thought that it basically lacked the heart of THE LION KING (7.5/10), the humor of ALADDIN (7.5/10), and the romance of BEAUTY AND THE BEAST (8/10). I was most disappointed by the lack of realism in the "love" that ultimately materialized between Hercules and the New York-accented Meg. I found it to be quite weak.
The hero story line was nice, and cool to keep track of, but ultimately the romance, the songs or the bad guy have to stick out for a children's animated tale to fully succeed, and unfortunately for Disney, this one contained no such stickout. Having said that, James Woods did make an excellent bad guy voice for Hades, but the character itself never seemed to be such a real threat to anyone but himself (Word on the street is that Hades was originally scripted as a slow, menacing character until James Woods auditioned for the role and impressed the casting directors with his rapid-fire style. The script was rewritten, but Woods ad-libbed many lines.)
The songs in the film were passable, but could someone please explain the connection between the re-occurring Motown quintet in a film set in ancient Greece? Another aspect of the film that didn't seem too kosher in my opinion was Hercules' trainer in the film, Phil (DeVito), who is generally supposed to be cute and adorable in films as such, but stood as half-man, half-goat in this movie. Not your cutest character ever invented by the Mickey-crew, that's for sure!
All in all, I would recommend this film to all kids (mind you, I don't see this becoming a classic by any stretch of the imagination), and some adults who are interested in viewing a quick (88 minutes), harmless animated story about the Greek Gods, and some hip, quirky one-liners from James Woods. If not, warm up those nachos, and go out to rent any of the three Disney films that I suggested earlier. You've got heart, humor and romance on the tab. Make your choice.
Little Known Facts: Danny DeVito stands 5"0, hails from New Jersey (hence the name of his production company: Jersey Films), and has been married to the infamous barmaid from the super-successful TV sitcom "Cheers", Rhea Perlman since 1982. Ron Clements and John Musker have also co-written and co-directed ALADDIN (8/10), THE LITTLE MERMAID, and THE GREAT MOUSE DETECTIVE. During one scene in HERCULES, when Phil (DeVito) is hit by a discarded painter's palette he cleans himself up using a lion's fur that bears a striking resemblance to Scar from THE LION KING (7.5/10).
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


Class Logger
Inherited Members
Namespace: PKWARE.Smartcrypt.MetaClient.Logging
Assembly: MetaClient.dll
Syntax
public abstract class Logger
Fields
Level
Declaration
public Level Level
Field Value
| Type | Description |
|---|---|
| Level |
Methods
Debug(String, Exception, Int32, String, String)
Log a debug message. If both message
and exception
are null
, this call is a no-op.
Declaration
public void Debug([CanBeNull] string message, [CanBeNull] Exception exception = null, int lineNumber = 0, string methodName = "", string filePath = "")
Parameters
| Type | Name | Description |
|---|---|---|
| String | message | |
| Exception | exception | |
| Int32 | lineNumber | Do not supply a value for this. This will be supplied by the compiler. |
| String | methodName | Do not supply a value for this. This will be supplied by the compiler. |
| String | filePath | Do not supply a value for this. This will be supplied by the compiler. |
Error(String, Exception, Int32, String, String)
Log an error message. If both message
and exception
are null
, this call is a no-op.
Declaration
public void Error([CanBeNull] string message, [CanBeNull] Exception exception = null, int lineNumber = 0, string methodName = "", string filePath = "")
Parameters
| Type | Name | Description |
|---|---|---|
| String | message | |
| Exception | exception | |
| Int32 | lineNumber | Do not supply a value for this. This will be supplied by the compiler. |
| String | methodName | Do not supply a value for this. This will be supplied by the compiler. |
| String | filePath | Do not supply a value for this. This will be supplied by the compiler. |
FormatTag(Int32, String, String)
Combines various data to form a single string which represents the statement's tag.
Declaration
protected virtual string FormatTag(int lineNumber, string methodName, string fileName)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | lineNumber | |
| String | methodName | |
| String | fileName | The file name without the extension. |
Returns
| Type | Description |
|---|---|
| String |
Remarks
A sane default is provided. If you have multiple log streams going into a single output channel, you may want to add additional identifier information to the tag.
Info(String, Exception, Int32, String, String)
Log an info message. If both message
and exception
are null
, this call is a no-op.
Declaration
public void Info([CanBeNull] string message, [CanBeNull] Exception exception = null, int lineNumber = 0, string methodName = "", string filePath = "")
Parameters
| Type | Name | Description |
|---|---|---|
| String | message | |
| Exception | exception | |
| Int32 | lineNumber | Do not supply a value for this. This will be supplied by the compiler. |
| String | methodName | Do not supply a value for this. This will be supplied by the compiler. |
| String | filePath | Do not supply a value for this. This will be supplied by the compiler. |
Log(Level, String, String, Exception)
Write a log message to its destination. Called for all level-specific methods by default.
Declaration
protected abstract void Log(Level level, string tag, string message, [CanBeNull] Exception exception)
Parameters
| Type | Name | Description |
|---|---|---|
| Level | level | The logging level at which the message was reported. |
| String | tag | Used to identify the source of the message. FormatTag(Int32, String, String). |
| String | message | That was logged. If an exception was logged, the message will already contain the exception's information. |
| Exception | exception |
|
Trace(String, Exception, Int32, String, String)
Log a trace message. If both message
and exception
are null
, this call is a no-op.
Declaration
public void Trace([CanBeNull] string message, [CanBeNull] Exception exception = null, int lineNumber = 0, string methodName = "", string filePath = "")
Parameters
| Type | Name | Description |
|---|---|---|
| String | message | |
| Exception | exception | |
| Int32 | lineNumber | Do not supply a value for this. This will be supplied by the compiler. |
| String | methodName | Do not supply a value for this. This will be supplied by the compiler. |
| String | filePath | Do not supply a value for this. This will be supplied by the compiler. |
Warn(String, Exception, Int32, String, String)
Log a warning message. If both message
and exception
are null
, this call is a no-op.
Declaration
public void Warn([CanBeNull] string message, [CanBeNull] Exception exception = null, int lineNumber = 0, string methodName = "", string filePath = "")
Parameters
| Type | Name | Description |
|---|---|---|
| String | message | |
| Exception | exception | |
| Int32 | lineNumber | Do not supply a value for this. This will be supplied by the compiler. |
| String | methodName | Do not supply a value for this. This will be supplied by the compiler. |
| String | filePath | Do not supply a value for this. This will be supplied by the compiler. |


This app queries MAST through astroquery to retrive the first 5 sectors of TESS FFI data and plots them in the sky in equatorial, galactic, and ecliptic coordinates with a Hammer projection.
It also queries a NoSQL (mongoDB) database copy of ExoMAST to generate some plots of its contents.
The source code for this app can be found in https://github.com/dr-rodriguez/TESSWorkshop2019


Tags
Listeners: Playcount:
Similar artists:
grant
scrobbling to last.fm
enabled
disabled
Search artists, albums, songs, tags
try to search The Beatles


A Major New Security Feature is Coming to iOS 13.3
by Charlotte HenryiOS 13.3 is heading our way soon, and it is set to contain a powerful new security feature. Forbes reported that it will support NFC, USB, and Lightning FIDO2-compliant security keys in Safari.
The move is revealed in Apple’s release notes for the second developer beta, which says iOS 13.3 supports NFC, USB, and Lightning FIDO2-compliant security keys in Safari. In other words, when the iOS 13.3 update drops, you will able to use physical security keys such as Yubico’s iPhone compatible YubiKey 5Ci–which was previously unavailable to browsers such as Apple’s Safari and Google’s Chrome. However, it could be used with some password manager apps such as 1Password.
Check It Out: A Major New Security Feature is Coming to iOS 13.3


Basic ButtonsDefault bootstrap buttons style
Button IconsDefault bootstrap buttons with icons
Buttons SizeDifferent buttons size scale
Standard
With Icons
Buttons RoundedButtons with rounded corners style
Standard
With Icons
Buttons GroupsThese are the different buttons group component
Big ButtonsButtons with a vertical distribution and big size
Buttons DropdownsThese are the different dropdowns styles with buttons
Basic dropdown
Split state dropdown
Social ButtonsThese are the social buttons color styles


---
layout: post
title: 1999
date: '2014-02-08T07:30:40+01:00'
categories:
- Storyboards
picture_url: https://film-Storyboards.tumblr.com/post/75995370789/one-of-the-first-Storyboards-i-drew-for-a
---
One of the first Storyboards I drew for a commercial in Viet Nam.


|
Pebble Foundation Classes
0.2.0
C++ for Pebble
|
This Pebble Package gives you the ability to code Pebble watchapps using C++. It wraps the Pebble API in an low-overhead header-only object-oriented library.
The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man.
- George Bernard Shaw
I mostly work in high-level languages like C#, Java, Python, and C++ and I started to struggle with organizing my Pebble watchapp code in C. As my projects grew larger, it became harder to juggle all the structs, callback contexts, and especially global variables.
So in the fall of 2014 I started a project to bring C++ to Pebble development. There were many false starts and difficult problems. I eventually got to where all the big problems were resolved and I just needed to build out the library. But after Pebble closed it's doors I stopped working on it.
When the first Rebble Hackathon was announced, it seemed like the time to try and finish this project or at least release what I have to the world.
std::string
, std::vector
, and std::unique_ptr
for more high-level development.To get started, please check out the following pages:
They provide detailed information about configuring the project to build C++ files and how to structure your code.
Since the Pebble Foundation Classes is fully compatible with and uses many of the base Pebble C types, this documentation is a combination of the standard Pebble SDK documentation and the additional PFC classes. The PFC classes are all contained within the Pebble namespace.
Use the tree on the left to navigate the modules and class documentation.
You can view and download various sample projects from the site below:
You can get help with this SDK using the GitHub Project Issues Tab or by using the Rebble Alliance Discord.
Also please check out the Known Issues page.
View the Pebble Foundation Classes GitHub project for information on contributing.


Toggle navigation
GovEx Operations Dashboard
City Dashboard
Mesa
Louisville
Charts
Assignment Map
Applicant Cities Map
Tables
Submit suggestions here
Operations at a Glance


The anti-lit fest
Almost Island Dialogues presents their annual literary event of readings and conversations among Indian writers and writers from abroad
by Sravasti DattaAlmost Island Dialogues is an anti-lit festival, which means that literature is taken seriously. “The core idea emerged from the fact that I didn’t see any serious literary entities in India,” says Sharmistha Mohanty, founder-editor of the online literary journal Almost Island, started in 2007. “My writing and the writing I admire is serious literature; I am not interested in commercial literature.”
The Almost Island Dialogues, started in 2006, is an annual literary conversation between Indian writers and writers from abroad. The event is small and intimate, which allows for meaningful discussions. Expanding further on the essence of the event, Sharmistha says: “We read the writers’ works completely. While we invite famous and award-winning writers, we also have writers who may not be famous and haven’t won awards, but whose writing we admire. We essentially seek out people doing inventive things. We have had writers from Argentina and also a whole dialogue with writers from China,” says Sharmishta, adding: “The event is not for internationalism. The focus is on the non-developed countries, so to speak. This is the first time we are going to have two African writers.”
The 13th edition of Almost Island Dialogues will be held in Bengaluru for the first time — it was earlier held in New Delhi. Sharmistha personally knew legendary Kannada writer UR Ananthamurthy. “I wanted to host the event in Bengaluru so that he could attend it. I also have a few friends, who are scholars and physicists, there. I chose to host it outside of Bengaluru because it was time for a change, and will give other audiences a chance to attend it,” says Sharmistha, who has written four books, including three works of fiction: Book One, New Life, and Five Moments in Praise. Her fourth work is a book of poems. She has also translated a section of Rabindranath Tagore’ prose works: Broken Nest and Other Stories.
The three-day event will feature readings by Togara Muzanenhamo and I.Allan Sealy on day one, readings by Michael Kelleher, Jayant Kaikini and Joy Goswami on day two and readings by Vivek Shanbag, Sharmistha and Zoe Wicomb on the last day.
The 13th edition of Almost Island Dialogues is partially supported by the Windham-Campbell Literature Prize. It will be held at Bangalore International Centre, Domlur Second Stage, from December 6 to December 8, from 6.30 pm to 8 pm.


Smoove
public
@username
short_text
Text
Talk with {{twitter_handle}}!
Bring up some topics:
{{(topic.word).split("_").join(" ") | capitalize }}
Discuss some politics
Talk about recent news
{{article.name }}
{{"(" + article.provider[0].name + ")"}}
Share a relatable GIF


{% extends "common/base.html" %} {% load staticfiles %} {% block css%} {% endblock %} {% block javascript %} {% endblock %} {% block content %} {% include "common/navbar.html" %}
Please provide a username and password or register
{% if form.errors %}Your username and password didn't match. Please try again.
{% endif %}


|
Clingo C API
C API for clingo providing high level functions to control grounding and solving.
|
Add non-ground program representations (ASTs) to logic programs or extend the ground (aspif) program.
For an example about ground logic programs, see backend.c. For an example about non-ground logic programs, see ast.c and the Abstract Syntax Trees module.
Typedefs | |
| typedef int | clingo_theory_sequence_type_t |
| Corresponding type to clingo_theory_sequence_type_e. | |
| typedef struct clingo_backend | clingo_backend_t |
| Handle to the backend to add directives in aspif format. | |
Enumerations | |
| enum | clingo_theory_sequence_type_e { clingo_theory_sequence_type_tuple, clingo_theory_sequence_type_list, clingo_theory_sequence_type_set } |
| Enumeration of theory sequence types. More... | |
Functions | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_begin (clingo_backend_t *backend) |
| Prepare the backend for usage. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_end (clingo_backend_t *backend) |
| Finalize the backend after using it. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_rule (clingo_backend_t *backend, bool choice, clingo_atom_t const *head, size_t head_size, clingo_literal_t const *body, size_t body_size) |
| Add a rule to the program. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_weight_rule (clingo_backend_t *backend, bool choice, clingo_atom_t const *head, size_t head_size, clingo_weight_t lower_bound, clingo_weighted_literal_t const *body, size_t body_size) |
| Add a weight rule to the program. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_minimize (clingo_backend_t *backend, clingo_weight_t priority, clingo_weighted_literal_t const *literals, size_t size) |
| Add a minimize constraint (or weak constraint) to the program. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_project (clingo_backend_t *backend, clingo_atom_t const *atoms, size_t size) |
| Add a projection directive. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_external (clingo_backend_t *backend, clingo_atom_t atom, clingo_external_type_t type) |
| Add an external statement. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_assume (clingo_backend_t *backend, clingo_literal_t const *literals, size_t size) |
| Add an assumption directive. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_heuristic (clingo_backend_t *backend, clingo_atom_t atom, clingo_heuristic_type_t type, int bias, unsigned priority, clingo_literal_t const *condition, size_t size) |
| Add an heuristic directive. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_acyc_edge (clingo_backend_t *backend, int node_u, int node_v, clingo_literal_t const *condition, size_t size) |
| Add an edge directive. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_add_atom (clingo_backend_t *backend, clingo_symbol_t *symbol, clingo_atom_t *atom) |
| Get a fresh atom to be used in aspif directives. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_term_number (clingo_backend_t *backend, int number, clingo_id_t *term_id) |
| Add a numeric theory term. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_term_string (clingo_backend_t *backend, char const *string, clingo_id_t *term_id) |
| Add a theory term representing a string. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_term_sequence (clingo_backend_t *backend, clingo_theory_sequence_type_t type, clingo_id_t const *arguments, size_t size, clingo_id_t *term_id) |
| Add a theory term representing a sequence of theory terms. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_term_function (clingo_backend_t *backend, char const *name, clingo_id_t const *arguments, size_t size, clingo_id_t *term_id) |
| Add a theory term representing a function. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_term_symbol (clingo_backend_t *backend, clingo_symbol_t symbol, clingo_id_t *term_id) |
| Convert the given symbol into a theory term. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_element (clingo_backend_t *backend, clingo_id_t const *tuple, size_t tuple_size, clingo_literal_t const *condition, size_t condition_size, clingo_id_t *element_id) |
| Add a theory atom element. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_atom (clingo_backend_t *backend, clingo_atom_t atom_id_or_zero, clingo_id_t term_id, clingo_id_t const *elements, size_t size) |
| Add a theory atom without a guard. More... | |
| CLINGO_VISIBILITY_DEFAULT bool | clingo_backend_theory_atom_with_guard (clingo_backend_t *backend, clingo_atom_t atom_id_or_zero, clingo_id_t term_id, clingo_id_t const *elements, size_t size, char const *operator_name, clingo_id_t right_hand_side_id) |
| Add a theory atom with a guard. More... | |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_acyc_edge | ( | clingo_backend_t * | backend, |
| int | node_u, | ||
| int | node_v, | ||
| clingo_literal_t const * | condition, | ||
| size_t | size | ||
| ) |
Add an edge directive.
| [in] | backend | the target backend |
| [in] | node_u | the start vertex of the edge |
| [in] | node_v | the end vertex of the edge |
| [in] | condition | the condition under which the edge is part of the graph |
| [in] | size | the number of atoms in the condition |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_add_atom | ( | clingo_backend_t * | backend, |
| clingo_symbol_t * | symbol, | ||
| clingo_atom_t * | atom | ||
| ) |
Get a fresh atom to be used in aspif directives.
| [in] | backend | the target backend |
| [in] | symbol | optional symbol to associate the atom with |
| [out] | atom | the resulting atom |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_assume | ( | clingo_backend_t * | backend, |
| clingo_literal_t const * | literals, | ||
| size_t | size | ||
| ) |
Add an assumption directive.
| [in] | backend | the target backend |
| [in] | literals | the literals to assume (positive literals are true and negative literals false for the next solve call) |
| [in] | size | the number of atoms |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_begin | ( | clingo_backend_t * | backend | ) |
Prepare the backend for usage.
| [in] | backend | the target backend |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_end | ( | clingo_backend_t * | backend | ) |
Finalize the backend after using it.
| [in] | backend | the target backend |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_external | ( | clingo_backend_t * | backend, |
| clingo_atom_t | atom, | ||
| clingo_external_type_t | type | ||
| ) |
Add an external statement.
| [in] | backend | the target backend |
| [in] | atom | the external atom |
| [in] | type | the type of the external statement |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_heuristic | ( | clingo_backend_t * | backend, |
| clingo_atom_t | atom, | ||
| clingo_heuristic_type_t | type, | ||
| int | bias, | ||
| unsigned | priority, | ||
| clingo_literal_t const * | condition, | ||
| size_t | size | ||
| ) |
Add an heuristic directive.
| [in] | backend | the target backend |
| [in] | atom | the target atom |
| [in] | type | the type of the heuristic modification |
| [in] | bias | the heuristic bias |
| [in] | priority | the heuristic priority |
| [in] | condition | the condition under which to apply the heuristic modification |
| [in] | size | the number of atoms in the condition |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_minimize | ( | clingo_backend_t * | backend, |
| clingo_weight_t | priority, | ||
| clingo_weighted_literal_t const * | literals, | ||
| size_t | size | ||
| ) |
Add a minimize constraint (or weak constraint) to the program.
| [in] | backend | the target backend |
| [in] | priority | the priority of the constraint |
| [in] | literals | the weighted literals whose sum to minimize |
| [in] | size | the number of weighted literals |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_project | ( | clingo_backend_t * | backend, |
| clingo_atom_t const * | atoms, | ||
| size_t | size | ||
| ) |
Add a projection directive.
| [in] | backend | the target backend |
| [in] | atoms | the atoms to project on |
| [in] | size | the number of atoms |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_rule | ( | clingo_backend_t * | backend, |
| bool | choice, | ||
| clingo_atom_t const * | head, | ||
| size_t | head_size, | ||
| clingo_literal_t const * | body, | ||
| size_t | body_size | ||
| ) |
Add a rule to the program.
| [in] | backend | the target backend |
| [in] | choice | determines if the head is a choice or a disjunction |
| [in] | head | the head atoms |
| [in] | head_size | the number of atoms in the head |
| [in] | body | the body literals |
| [in] | body_size | the number of literals in the body |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_atom | ( | clingo_backend_t * | backend, |
| clingo_atom_t | atom_id_or_zero, | ||
| clingo_id_t | term_id, | ||
| clingo_id_t const * | elements, | ||
| size_t | size | ||
| ) |
Add a theory atom without a guard.
| [in] | backend | the target backend |
| [in] | atom_id_or_zero | a program atom or zero for theory directives |
| [in] | term_id | the term id of the term associated with the theory atom |
| [in] | elements | an array of element ids for the theory atoms's elements |
| [in] | size | the number of elements |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_atom_with_guard | ( | clingo_backend_t * | backend, |
| clingo_atom_t | atom_id_or_zero, | ||
| clingo_id_t | term_id, | ||
| clingo_id_t const * | elements, | ||
| size_t | size, | ||
| char const * | operator_name, | ||
| clingo_id_t | right_hand_side_id | ||
| ) |
Add a theory atom with a guard.
| [in] | backend | the target backend |
| [in] | atom_id_or_zero | a program atom or zero for theory directives |
| [in] | term_id | the term id of the term associated with the theory atom |
| [in] | elements | an array of element ids for the theory atoms's elements |
| [in] | size | the number of elements |
| [in] | operator_name | the string representation of a theory operator |
| [in] | right_hand_side_id | the term id of the right hand side term |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_element | ( | clingo_backend_t * | backend, |
| clingo_id_t const * | tuple, | ||
| size_t | tuple_size, | ||
| clingo_literal_t const * | condition, | ||
| size_t | condition_size, | ||
| clingo_id_t * | element_id | ||
| ) |
Add a theory atom element.
| [in] | backend | the target backend |
| [in] | tuple | the array of term ids represeting the tuple |
| [in] | tuple_size | the size of the tuple |
| [in] | condition | an array of program literals represeting the condition |
| [in] | condition_size | the size of the condition |
| [out] | element_id | the resulting element id |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_term_function | ( | clingo_backend_t * | backend, |
| char const * | name, | ||
| clingo_id_t const * | arguments, | ||
| size_t | size, | ||
| clingo_id_t * | term_id | ||
| ) |
Add a theory term representing a function.
| [in] | backend | the target backend |
| [in] | name | the name of the function |
| [in] | arguments | an array of term ids for the theory terms in the arguments |
| [in] | size | the number of arguments |
| [out] | term_id | the resulting term id |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_term_number | ( | clingo_backend_t * | backend, |
| int | number, | ||
| clingo_id_t * | term_id | ||
| ) |
Add a numeric theory term.
| [in] | backend | the target backend |
| [in] | number | the value of the term |
| [out] | term_id | the resulting term id |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_term_sequence | ( | clingo_backend_t * | backend, |
| clingo_theory_sequence_type_t | type, | ||
| clingo_id_t const * | arguments, | ||
| size_t | size, | ||
| clingo_id_t * | term_id | ||
| ) |
Add a theory term representing a sequence of theory terms.
| [in] | backend | the target backend |
| [in] | type | the type of the sequence |
| [in] | arguments | the term ids of the terms in the sequence |
| [in] | size | the number of elements of the sequence |
| [out] | term_id | the resulting term id |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_term_string | ( | clingo_backend_t * | backend, |
| char const * | string, | ||
| clingo_id_t * | term_id | ||
| ) |
Add a theory term representing a string.
| [in] | backend | the target backend |
| [in] | string | the value of the term |
| [out] | term_id | the resulting term id |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_theory_term_symbol | ( | clingo_backend_t * | backend, |
| clingo_symbol_t | symbol, | ||
| clingo_id_t * | term_id | ||
| ) |
Convert the given symbol into a theory term.
| [in] | backend | the target backend |
| [in] | symbol | the symbol to convert |
| [out] | term_id | the resulting term id |
| CLINGO_VISIBILITY_DEFAULT bool clingo_backend_weight_rule | ( | clingo_backend_t * | backend, |
| bool | choice, | ||
| clingo_atom_t const * | head, | ||
| size_t | head_size, | ||
| clingo_weight_t | lower_bound, | ||
| clingo_weighted_literal_t const * | body, | ||
| size_t | body_size | ||
| ) |
Add a weight rule to the program.
| [in] | backend | the target backend |
| [in] | choice | determines if the head is a choice or a disjunction |
| [in] | head | the head atoms |
| [in] | head_size | the number of atoms in the head |
| [in] | lower_bound | the lower bound of the weight rule |
| [in] | body | the weighted body literals |
| [in] | body_size | the number of weighted literals in the body |


Production-Quality Node.js Web Apps : Part I, the Basics
I’ve been working on production-quality node.js web applications for a couple of years now, and I thought it’d be worth writing down some of the more interesting tricks that I’ve learned along the way.
I’m mostly going to talk about maintaining a low-defect rate and high availability, rather than get into the details about scaling that are covered in a lot of other places. In particular, I’ll be talking about load-balancing, process management, logging, and metrics, and the how’s and why’s of each.
Balance the Load
I’m going to assume that you’re already load-balancing on a given server with cluster or some higher level abstraction ( I use cluster-master) as well as between servers with a load-balancer like ha-proxy.
Performance considerations aside, your service will have much better availability, quality, and uptime if you’ve got multiple processes running on multiple machines. More specifically, you get: * the ability to immediately failover in the case of single process or single machine failure * reduced overall service failure in the case of single process or single machine failure * the ability to gracefully deploy with the load-balancer
Gracefully Deploy
Gracefully deploying means that your deploy process has enough servers running to handle the load at all times throughout the actual deployment process, and that none of the servers are taken off-line while outstanding requests are still in progress. This means:
Your clustering solution must be able to stop new connections and not exit the master process until all servers have finished processing their existing requests. The solution I personally use is cluster-master, but there are bunch of suitable alternatives.
You need a rolling deployment, meaning that servers are restarted one-at-a-time, or in small groups, rather than all at once. The easiest way to do this is probably to write a nice deploy script that takes restarting servers out of the load-balancer until they’re running again.
If you don’t have a graceful deploy solution, every deployment of new code will lose requests in progress, and your users will have a terrible experience.
Also note: I’ve seen a few clustering solutions that use some sort of hot-deploy (hot-deploy loads a new version of code without taking the server down) functionality.  I’d personally avoid solutions that involve the complexity of hot-deploying.
Run as a Service
You’re also going to want to be running your app as a service that the OS knows to restart with some service manager like upstart. A service manager like this is going to be absolutely essentially for when your node.js app crashes, or when you spin up new machines.
It’s probably worth noting that you won’t really want to use something like forever or nodemon in production, because it doesn’t survive reboots, and is pretty redundant once you’ve added service management that actually does (This is a case where you don’t want redundancy, because these types of process managers can end up fighting with each other to restart the app, thus never really allowing the app to start).
Log to Standard Output
Logging to standard output (using console.log()
) and standard error (using console.error()
) is the simplest and most powerful way to log. Here’s how:
pipe it, don’t write it
In the config file for running your app, you want something like this to specify a log file:
1
|
|
The >>
tells your node process to append output to the specified log file and the 2>&1
tells it that both standard out and standard error should go to that same log file. You don’t want to be writing to the logs programmatically from within the node process, because you will miss any output that you don’t specifically log, like standard error output from node.js itself which happens anytime that your server crashes. That kind of information is too critical to miss.
console is the only “logging library” you need
With this kind of logging set up, I just have to console.log()
for any debug output that I need (usually just temporarily for a specific issue that I’m trying to solve), or console.error()
for any errors I encounter.
Additionally, one of the first things I do on a new web service is to set up a console.log()
for each request (this should work in any express
or connect
app):
1 2 3 4 5 |
|
This chunk of code gives me nice simple logs for every request that look like this:
1 2 3 4 5 6 7 |
|
rotating the logs
The missing infrastructure needed to support this is a way to rotate the logs, like logrotate.
Tools to Help Detect Problems at Runtime
There are two basic key ways that I like to instrument an application to detect problems that occur at runtime: Aggregated logging and metrics.
Agreggated Logging
One of the most important things you can do for error and defect detection is to have aggregated logging — some service that brings all your web servers’ logs together into one large searchable log. There are a few products for this: The stand-out open source one for me seemed to be the logstash/kibana combination, though these days I’m lazy and generally use the papertrail service instead.
I would highly recommend that you set a service like this up immediately, because the small amount of friction involved in ssh
ing into servers to tail
logs is enough to seriously reduce how often you and your teammates will actually look at the logs. The sooner you set this up, the sooner you can benefit from being able to learn about your application through the logs that you have it write.
Metrics
When I say “metrics” I really mean time-series metrics, that allow me to see the frequency of different types of events over time. These are invaluable because they
- tell you when something unusual is happening
- aggregate certain types of data in ways that logs can’t
- help you rally the team or company around specific high-value goals (be careful with this one!)
The stand-out metrics/graphic open source product is probably graphite. I’ve generally been using Librato’s metrics service though because it’s easy to set up, and looks great, so that’s where I’ll pull my screenshots from for time-series data. I’ve also had a pretty good experience with DataDog’s service as well. Both also come with the ability to raise alerts when a metric surpasses a threshold, which can be a nice way to know when something is going on that you should investigate.

Here’s an example of some very high-level metrics for us over a week:
- in blue: number of requests
- in green: average duration of requests
(Note that at this resolution, the y-values are averages over such long durations that the values aren’t really that useful at face value; it’s the visualization of general trends that is useful.)
There are a few obvious things that should jump out right away in this example:
- We have daily traffic spikes with 5 peaks really standing out and 2 being almost flat (those happen to be Saturday and Sunday).
- We had a spike in average request duration (on Friday morning — the third peak). This was caused by some performance issues with our database, and resulted in service outage for a number of our users during that time.
I can basically put metrics.increment("someEventName");
anywhere in my codebase to tell my metrics service when a particular event occurred.
Also consider OS metrics like: * disk space usage * cpu utilization * memory consumption * etc, etc
I’ve got my codebase set up so that metrics.gauge("someMetricName", value);
will allow me to graph specific values like these over time as well.
If you’re not already doing monitoring like this, you must be wondering what your servers would tell you. When it’s this easy, you tend to do it all the time and get all kinds of interesting metrics including more business-specific metrics.
What next?
These are really just the basics. If you’re not doing these things, and you care about running a production-quality web service, you’re probably putting yourself at a disadvantage.
There is a lot more that you can do though, and I’ll get into that in my next post, which will be Part II to this one.


In the event that a new Master is elected, it is possible for a Replica to find that some of its logs are ahead of the logs held by the Master. While this is unlikely to occur, your code must still be ready to deal with the situation. When it happens, you must roll back the transactions represented by the logs that are ahead of the Master.
You do this by simply closing all your ReplicatedEnvironment handles, and then reopening. During the handshaking process that occurs when the Replica joins the replication group, the discrepancy in log files is resolved for you.
Note that the problem of logs on replicas being ahead of the log on the master is unlikely to occur because the election mechanism favors nodes with the most recent logs. When selecting a master, a simple majority of nodes are required to vote on the choice of master, and they will vote for the node with the most recent log files. When the problem does occur, though, it results in the updates reflected in the Replica's log being discarded when the log is rolled back.
Logs on a Replica can be ahead of the logs on the Master if
network or node failures result in transactions becoming
durable on fewer than a majority of the nodes in the
replication group. This reduced durability is more likely in
cases where one or more Replicas show large replication lags
relative to the Master. Administrators should monitor
replication lags and evaluate whether they are caused by issues
with network or host performance. Applications can reduce the
chance of transaction rollbacks by avoiding the use of weak
durability requirements like
ReplicaAckPolicy.NONE
or a
ReplicationMutableConfig.NODE_PRIORITY
of
zero.
JE HA lets your application know that a transaction must be rolled back by throwing RollbackException. This exception can by thrown by any operation that is performing routine database access.
ReplicatedEnvironment repEnv = new ReplicatedEnvironment(...); boolean doWork = true; while doWork { try { // performSomeDBWork is the method that // performs your database access. doWork = performSomeDBWork(); } catch (RollbackException rb) { if (repEnv != null) { repEnv.close(); repEnv = new ReplicatedEnvironment(...); } }


EKIndeterminateProgressView Class Reference
| Inherits from | UIView |
| Declared in | EKIndeterminateProgressView.h EKIndeterminateProgressView.m |
Tasks
-
hidesWhenStopped
property -
edgeInsets
property -
duration
property -
animations
property -
– initWithBackground:andProgress:
-
– initWithFrame:background:andProgresses:
-
– startAnimating
-
– stopAnimating
-
– animating
Properties
animations
Animations to be applied (i.e: EKIndeterminateProgressAnimationTranslate|EKIndeterminateProgressAnimationRotate)
@property (nonatomic) NSInteger animations
Discussion
Animations to be applied (i.e: EKIndeterminateProgressAnimationTranslate|EKIndeterminateProgressAnimationRotate)
Declared In
EKIndeterminateProgressView.h
duration
Animation duration (each loop)
@property (nonatomic) CGFloat duration
Discussion
Animation duration (each loop)
Declared In
EKIndeterminateProgressView.h
Instance Methods
animating
Retuns YES if animating
- (BOOL)animating
Discussion
Retuns YES if animating
Declared In
EKIndeterminateProgressView.h
initWithBackground:andProgress:
Initializes view using the background as size and starting at point 0,0
- (instancetype)initWithBackground:(UIImage *)background andProgress:(NSArray *)progresses
Parameters
- background
UIImage to be set as View background
- progresses
Array of progresses that will be randomly used as progress when progress started
Return Value
EKIndeterminateProgressView
Discussion
Initializes view using the background as size and starting at point 0,0
Declared In
EKIndeterminateProgressView.h
initWithFrame:background:andProgresses:
Initializes view with frame, setting the background (expanding to the frame) and progresses array
- (instancetype)initWithFrame:(CGRect)frame background:(UIImage *)background andProgresses:(NSArray *)progresses
Parameters
- frame
View frame
- background
UIImage to be set as View background
- progresses
Array of progresses that will be randomly used as progress when progress started
Return Value
EKIndeterminateProgressView
Discussion
Initializes view with frame, setting the background (expanding to the frame) and progresses array
Declared In
EKIndeterminateProgressView.h
startAnimating
Starts animating, and unhides if hidesWhenStopped
- (void)startAnimating
Discussion
Starts animating, and unhides if hidesWhenStopped
Declared In
EKIndeterminateProgressView.h
stopAnimating
Stops animating, and hides if hidesWhenStopped
- (void)stopAnimating
Discussion
Stops animating, and hides if hidesWhenStopped
Declared In
EKIndeterminateProgressView.h


Ruby is mostly considered to be an object-oriented programming language, although it has been debated that it still untilizes some practices used in Functional programming. Since I am still a newby in programming and don't really have enough background to make a educated arguement either way, I thought I would give you guys an idea about what each programming type is all about.
Object-Oriented Programming: OOP utilizes methods and classes in its codes in order to create objects that have various properties while the object is in its given state. The output of a program can vary based on how it is processed through the methods. Simple Example of OOP code:
As you can see, depending on whether you are utilizing the add method or subtract method, your output will vary.
Functional Programming: Functional Programming can best be described as a concept which models mathmatical functions. FP has no objects or 'states', its output has no variation or side effects. Example: I don't have any experience using functional programming, so I stole an example from a website.
I hope this was helpful :)


Caught in a landslide
No escape from reality
Find out more about this song here.
Find out more about the people who made this page here.


The Utkal Parishad at IIT KANPUR is an association of Oriya Faculty Members, Oriya Students and Oriya Staff Members. This association is a result of the sincere efforts and contribution made by Late Prof. Shreedhar Mohanty towards building a platform where all the Oriya Members of the Institute could freely interact with each other. This association came into existence in the year 1976 on the auspicious occasion of Ganesh Chaturthi. From that position we have traveled a long distance and now our community consists of about 15 faculty members and about 100 students and about 10 staff members. Inside the society one doesn't feel that we are 1000 miles from our home .
Our members are always involved in some kind of social activities. Our members had done a great job for the victims of the Gujurat Earthquake, for the victims of the 1999 cyclone and 2001 flood. A total fund of 3,50,000 Rs was collected from our Faculty Members,Students and Staff Members as a part of our relief work for the 1999 Orissa Super Cyclone and a total fund of Rs.1,50,000 was collected for the 2001 Orissa flood. Our members were volunteers in the Institute's relief work team for the Gujurat earthquake.
At our Institute,we also organize various cultural functions inside our community. We celebrate Ganesh Puja, Saraswati Puja, and Utkal Divas.Cultural programms are also held in the evening.We also hold a Freshers' Welcome evening during the starting of our academic year to welcome the new Oriya faces at IIT Kanpur. We also have started our own magazine 'Pratimbiba" . The first edition of the magazine was released on Ist April 2002 on the grand occasion of Utkal Divas. The magazine contains articles composesd by our members and as well as other Oriya articles from radio telecasts and other sources.
|
President Dr. Pranab K. Mohapatra Dept. Civil Engineering Email<EMAIL_ADDRESS>Homepage: http://home.iitk.ac.in/~pranab/ |
General Secratary Himanshu Bhusan Mishra Ph.D Scholar Dept. Electrical (SPCOM<EMAIL_ADDRESS>Mobile:<PHONE_NUMBER> |
|
President Dr. Pranab K. Mohapatra Dept. Civil Engineering Email<EMAIL_ADDRESS>Homepage: http://home.iitk.ac.in/~pranab/ |
General Secratary Himanshu Bhusan Mishra Ph.D Scholar Dept. Electrical (SPCOM<EMAIL_ADDRESS>Mobile:<PHONE_NUMBER> |
photo1
photo2
| # | Name | Current position |
|---|---|---|
| 1. | Dr. Suresh R. Dash | Faculty, Infrastructure,IIT Bhubaneswar |
| 2. | Dr. Naresh Chandra Sahu | Faculty, HSS&M, IIT Bhubaneswar |
| 3. | Dr. D. R. Sahoo | Faculty, Civil, IIT Delhi |
| 4. | Dr. M. K. Moharana | Faculty, Mechanical, NIT |
| 5. | Dr. Kamal Lochan Patra | Faculty, NISER,Bhubaneswar |
President
Dr. Pranab K. Mohapatra
Dept. Civil Engineering
Email<EMAIL_ADDRESS>Homepage: http://home.iitk.ac.in/~pranab/
General Secratary
Himanshu Bhusan Mishra
Ph.D Scholar
Dept. Electrical (SPCOM)
<EMAIL_ADDRESS>Mobile:<PHONE_NUMBER>
Email us at<EMAIL_ADDRESS>TITLE
Here , we can write about all the happenings of the event .
TITLE
Description of the event
TITLE
Description of the event
Jan 28,2014
Here , we can write about all the happenings of the association and its people.
Jan 30,2014
Here , we can write about all the happenings of the association and its people.
Feb 31,2014
Here , we can write about all the happenings of the association and its people.
Utkala Association,IITM
Social Activities
Our members are always involved in some kind of social activities. Our members had done a great job for the victims of the Gujurat Earthquake, for the victims of the 1999 cyclone and 2001 flood. A total fund of 3,50,000 Rs was collected from our Faculty Members,Students and Staff Members as a part of our relief work for the 1999 Orissa Super Cyclone and a total fund of Rs.1,50,000 was collected for the 2001 Orissa flood. Our members were volunteers in the Institute's relief work team for the Gujurat earthquake.
Past activities
Flood Relief 2008-09 (Odisha) : By IIT Kanpur faculties and students
Orissa Disaster Relief Fund