| DOSE: |
tablets |
oral |
DMAE |
(daily) |
I tried DMAE briefly a couple years ago but seemed to get no real benefits and some nasty headaches.
I tried it again this year, and stuck with it, and have been greatly impressed. While there is a nice stimulation that comes from it when first trying it, the curious factor is that it slowly builds up in my system. At this point (6 weeks of almost daily ingestion of 80-140 mg) I always feel more or less, stimulated. This is in a way, troubling, but it is so pleasant I have no intention of stopping.
Yet this is certainly not anything like amphetamines. I'll go for hours without realizing I'm being affected, I am complete control of myself and while I am predilected toward activity and jabbering, I can certainly sit still and focus, even do nothing, which is difficult on speed.
Whether or not I'm addicted is hazy, I suppose. I don't think there would be any negatives of quitting, except the inevitable crash that must come and a return to my pre-DMAE attitude. I am not eager to test this, however.
My mood has become incredibly brightened and my mind feels much more alert. I've become much more motivated and willing to do much more labor, mental or physical. One semi-objective note, my chess game is improved _dramatically_ for about an hour or two following my morning consumption.
Still, I think this is more of a ‘mood drug' rather than a more narrowly defined smart drug. This has personality changes unrelated to simply ‘increased intelligence.' I do not think my raw intelligence is increasing, but rather my attentiveness to, and engagement with, the world is what would cause higher objective tests.
It definitely has a sort of generalized body high as well. Much more 'fluidic' than speed. I read somewhere that it is supposed to increase muscle definition. This appears to be true in that, though I've been exercising more (I have to, or else I burn holes in the carpet) even muscles I don't think I'm working seem to be in a _bit_ better shape. No cheap way out of earning muscle, though.
Insomnia is something of a problem, in that I can't ‘force' myself to go to bed, no matter how relaxed I try and make myself, pseudo-meditative breathing exercises or what have you, but when I _am_ actually tired, I fall to sleep quickly. Naps don't really happen anymore. Also waking up much more quickly than before using this substance. Increased dryness of the nasal membranes, though not painfully or seemingly dangerously.
While not speedy, too much of it will overstimulate me. this now has been one of the problems, forcing myself to buckle down and pay attention to doing one thing, instead of trying to do three things.
Still its a welcome change from the apathy I characteristically indulge in. Taking too much also gives me a dull, persistent headache, which is why I quit earlier. Reducing the usage usually rids me of these, though even a little too much starts to give me a 'dullness.' Just a sort of vague 'dirtiness' in the brain.
Still, the headaches do seem to pass pretty quickly. I am unsure as to the cause of these, though they were initially unsettling and caused me to abstain for a few days, and then restart at a lower dose, probably ~50 or 60mg, and worked my way up to at least 80, maybe twice a day, with a bit smaller dose later in the afternoon, rather than over 100 all at once, which is how the supplement is suggested.
I also think it contributes to some measure with gingko to thin the blood, when I get cuts shaving it takes a bit longer to cease bleeding.
Subtle though noticeable increase in libido, but perhaps this is just tied more toward more general energy.
 It could be used as an occasional stimulant, but I prefer it as something like a mental tonic.
Except for the side-effects from too high doses, I am unaware of any. Being a precursor to Acetylcholine, a key neurotransmitter, I doubt it is toxic in the least. Still, anything that makes you feel this good has got to have a price, such is the nature of drugs, but so far it seems a angel's bargain.
If you're desirous of an enhancement of mood, energy and possibly some intelligence, and don't mind waiting the weeks for the full effect, enduring initial headaches and a vague muscular tension, and don't mind ingesting a substance daily and keeping it _constantly_ in your system, slowly changing your personality, then this is a drug worth trying.
I will submit again when serious negatives arise or I willfully quit.
-Dr. Smooth
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.


rndc-confgen [-a] [-b keysize] [-c keyfile] [-h] [-k keyname] [-p port] [-r randomfile] [-s address] [-t chrootdir] [-u user]
rndc-confgen generates configuration files for rndc. It can be used as a convenient alternative to writing the rndc.conf file and the corresponding controls and key statements in named.conf by hand. Alternatively, it can be run with the -a option to set up a rndc.key file and avoid the need for a rndc.conf file and a controls statement altogether.
Do automatic rndc configuration. This creates a file rndc.key in /etc (or whatever sysconfdir was specified as when BIND was built) that is read by both rndc and named on startup. The rndc.key file defines a default command channel and authentication key allowing rndc to communicate with named on the local host with no further configuration.
Running rndc-confgen -a allows BIND 9 and rndc to be used as drop-in replacements for BIND 8 and ndc, with no changes to the existing BIND 8 named.conf file.
If a more elaborate configuration than that generated by rndc-confgen -a is required, for example if rndc is to be used remotely, you should run rndc-confgen without the -a option and set up a rndc.conf and named.conf as directed.
Specifies the size of the authentication key in bits. Must be between 1 and 512 bits; the default is 128.
Used with the -a option to specify an alternate location for rndc.key.
Prints a short summary of the options and arguments to rndc-confgen.
Specifies the key name of the rndc authentication key.
This must be a valid domain name.
The default is rndc-key
.
Specifies the command channel port where named listens for connections from rndc. The default is 953.
Specifies a source of random data for generating the authorization. If the operating system does not provide a /dev/random or equivalent device, the default source of randomness is keyboard input. randomdev specifies the name of a character device or file containing random data to be used instead of the default. The special value keyboard indicates that keyboard input should be used.
Specifies the IP address where named listens for command channel connections from rndc. The default is the loopback address <IP_ADDRESS>.
Used with the -a option to specify a directory where named will run chrooted. An additional copy of the rndc.key will be written relative to this directory so that it will be found by the chrooted named.
Used with the -a option to set the owner of the rndc.key file generated. If -t is also specified only the file in the chroot area has its owner changed.


Team No:
In FIRST Power Up, teams are transported into an 8-bit video game. Each three-team alliance has three ways to help defeat the boss:
tipping the scale or the alliance’s switch in their favor to earn points, exchanging power cubes for power ups (force, boost, and levitate)
to gain a temporary advantage during the match, and climbing the scale tower to face the boss. The alliance with the highest score at the end of the match,
including autonomous and teleoperated periods, defeats the boss and wins the game.
0:15
Block in hand:


THIS IS ABOUT Susan
My name is Susan Hargus I graduated from U of Iowa with a BFA I trained as a classical painter in an Atelier in Minneapolis I like to fix things. I am curious as to how things work.
I am an inline paragraph.
THESE ARE MY TOP 10 MOVIES
- Brother,Where Art Thou?,
- Brazil
- Babe, Pig in the City
- Breakfast at Tiffany's
Education
- BFA University of Iowa
- Atelier Minneapolis (two years of training in the painting method of classical realism)
- Kirkwood C.C. Certficate in the Adobe Suites


Turns any iframe into a WYSIWYG rich-content editor.
Download the Sringy Editor package and upload the Springy folder in the root of your website.
If the project folder looks like "SpringyEditor-master", rename it to "Springy" and locate the folder to the root of your website
After this step you can continue by reading how to or required file sections
Javascript enabled in the browser, jQuery and jQuery UI libraries are required.
Until now were not encountered issues with older versions of jquery nor with the recent ones, so you're free to use the jquery library more convenient for you.
Run in all modern browsers that supports browser commands.
Springy Editor also include Font-Awesome, available in the package.
To be able to run your Springy Editor instance you need to include some file (css and javascript) in the page.
In the page header, or wherever it is most convenient for you, add the following files in addition to the jQuery and jQueryUI liraries:
<!-- jquery -->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.2.min.js"></script/>
<script type="text/javascript" src="https://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script/>
<link type="text/css" href="https://code.jquery.com/ui/1.11.3/themes/blitzer/jquery-ui.css" rel="stylesheet" //>
<!-- /jquery -->
<link type="text/css" href="/springy/res/font-awesome-4.3.0/css/font-awesome.min.css" rel="stylesheet" />
<link type="text/css" href="/springy/css/editor.css" rel="stylesheet" />
<script type="text/javascript" src="/springy/js/editor-connectors.js"></script>
<script type="text/javascript" src="/springy/js/editor.js"></script>
Before start let's say that the editor can be loaded with a default text.
For example, you are in a scenario where you're going to edit a page or part of it and you need to preload the editor with your content.
For this purpose you can set the "field value" for Springy Editor, in the way your content can be loaded at start up.
Note: execute the file on a web server
To use Springy Editor in your page use the following instructions:
1) Add an iframe to your page and assign an id. In this example we'll use the id cfeditor
<iframe src="" id="cfeditor"></iframe>
2) Add the "editor hidden field" We'll use the hidden field id cfeditor_value
<input type="hidden" id="cfeditor_value" name="cfeditor_value" /input>
3) In your script (javascript) just use the following lines of code.
<script type="text/javascript"> $(document).ready(function () { alert("yoyoyo"); var springyEditor = new Springy(); console.log(springyEditor); springyEditor.Create({ id: "cfeditor", fieldId: "cfeditor_value" }); }); </script>
The result will be this:
The connectors object is used for the editor components such as image browser, add link and color picker.
A connector allow the editor to open a module, called tool, in a modal dialog by getting it from an url.
Each connector (object) have it's configuration parameters as below:
| url | required | the resource url where to get the html content for the tool |
| buttons | required or null | the modal dialog buttons (jquery). NOTE: set it to null if no buttons are required to override the base |
| postUrl | this is used from form actions inside the tool (i.e.: image upload) |
The connector items have the following configuration:
myConnector: { url: "http://somewhere.go", postUrl: "action.ext" buttons: { "Ok": function () { ..code here... } "Cancel": function () { ..code here... } } }
The connector configuration file is stored in the package at the path /Springy/js/editor-connectors.js
Change the configuration to match your needs.
| id | The editor id |
| fieldId |
The field or input element id where to store the editor value if you want set the start editor value (content) like when you're going to edit an existing content, you can fill the fieldId value and when the editor is ready it will set the content value, ready to be edited |
| width | The editor width |
| height | The editor height |
| autosize | Indicate if the editor grow its heght based on the content. The default value is false |
| domain | http://yourcooldomain.com/ |
| usePageStyles |
Indicate if the editor font styles used in the page must be used in the editor. The default value is true
For a detailed list, go to page styles |
| connectors |
Of type SpringyConnectors
A connector allow the editor to open a module, such as image browser, add link, color picker, in a modal dialog by getting it from an url |
| style |
the editor toolbar style. The default value is blue.
Allowed value are blue,white,tone blue provide a blue toolbar white provide a white toolbar tone provide a transparent background toolbar |


Class: _obsolete
http://nmrML.org/nmrCV#NMR:1000009
Annotations (2)
label
"_obsolete"
(en)
scopeNote
"This administrative helper class contains the deleted classes which will be physically deleted form the release file."
()
Usage (1)
Class
:
_obsolete


Update: I added this project as my first GitHub repo
I have an ongoing project which I nickname my raspberrySeed, which is a
Rasbperry Pi running Deluge. Works 24/7, takes very little power,
minimal heat, no noise, works as a fine seedbox.
However, I recently encountered strange situtations in which the remote
Deluge UI (on my PC) would get stuck and eventually cause the Deluge
daemon (on the rPi) to crash.
After some checking, I realized showing the UI is too demanding, at
least with the amount of torrents I'm seeding. Time to weed out some
torrents, but how will I do it without a working UI?
The original deluge-console
didn't work for two reasons:
- Manipulation of massive amounts of torrents is a nightmare - I'll be
surprised if someone can manage more than 20 torrents at a time with
this interface.
- Even the console was too much - apparently it's sophisticated enough to subscribe for updates from the Deluge daemon and many other things, overloading my poor rPi.
Eventually, I found this post, where someone wrote a python script that deletes old torrents.
Instead of creating my own (because the Deluge
RPC Python API is
event based and basically annoying), I rewrote that script to give a me
a Python library (or module, not sure).
The calling script should only contain the "business logic" - what to do with
every torrent. The real action (deletion, for instance) is performed by
the library.
First, some already working use cases. All cases assume Deluge library
files (included with Deluge), the library is in "deluge_framework.py"
and a local-running daemon (remote instances are obviously fine, and
parameters are detailed in the library itself).
Searching for some torrents
Print using the library all torrents containing "linux":
#!/usr/bin/python
from deluge_framework import filter_torrents
def torrentAction(torrent_id,torrent_info):
if 'linux' in torrent_info['name']: return 'l'
return ''
filter_torrents({},['name'],torrentAction)
[+] Connection was successful!
[i] ?????????SECRET????????????????????????? [kali-linux-1.0.5-amd64]: Listing (doing nothing)
[+] Finished
[i] Client disconnected.
Printing progress and state for all torrents
Print (using pyton's print
) every torrent's id, status and progress:
#!/usr/bin/python
from deluge_framework import filter_torrents
def torrentAction(torrent_id,torrent_info):
print ('%s: %s %s' % (torrent_id,torrent_info['state'],torrent_info['progress']))
return ''
filter_torrents({},['name','state','progress'],torrentAction)
[+] Connection was successful!
?????????SECRET?????????????????????????: Queued 100.0
?????????SECRET?????????????????????????: Queued 100.0
?????????SECRET?????????????????????????: Seeding 100.0
?????????SECRET?????????????????????????: Queued 100.0
?????????SECRET?????????????????????????: Queued 100.0
?????????SECRET?????????????????????????: Seeding 100.0
?????????SECRET?????????????????????????: Queued 100.0
?????????SECRET?????????????????????????: Queued 100.0
?????????SECRET?????????????????????????: Queued 100.0
[+] Finished
[i] Client disconnected.
Summing the size of all torrents
Collect the total size of each torrent and print the sum (in GB):
#!/usr/bin/python
from deluge_framework import filter_torrents
sum=0
def torrentAction(torrent_id,torrent_info):
global sum
sum+=torrent_info['total_done']
return ''
filter_torrents({},['total_done'],torrentAction)
print ('total: %i' % (sum/1024/1024/1024))
[+] Connection was successful!
[+] Finished
[i] Client disconnected.
total: 198
Removing all done torrents
Delete (without deleting data) all completed torrents:
#!/usr/bin/python
from deluge_framework import filter_torrents
def torrentAction(torrent_id,torrent_info):
if torrent_info['progress'] == 100: return 'd'
return ''
filter_torrents({},['progress'],torrentAction)
[+] Connection was successful!
[+] ?????????SECRET????????????????????????? [SOME TORRENT NAME]: Deleted without data
[+] ?????????SECRET????????????????????????? [SOME TORRENT NAME]: Deleted without data
[+] ?????????SECRET????????????????????????? [SOME TORRENT NAME]: Deleted without data
[+] Finished
[i] Client disconnected.
The Actual Code
If you can think of another good use for it, please tell me in the comments!
#!/usr/bin/python
###############
# By: Nitzan (http://BackSlasher.net)
# The interesting code is at the bottom
# call filter_torrents from your code like this:
## from deluge_framework import filter_torrents
## filter_torrents(connection_data,torrent_info_wanted,action,interactive)
# see bottom of script for details
from deluge.log import LOG as log
from deluge.ui.client import client
import deluge.component as component
from twisted.internet import reactor, defer
import time
def printSuccess(dresult, is_success, smsg):
global is_interactive
if is_interactive:
if is_success:
print "[+]", smsg
else:
print "[i]", smsg
def printError(emsg):
global is_interactive
if is_interactive:
print "[e]", emsg
def endSession(esresult):
if esresult:
print esresult
reactor.stop()
else:
client.disconnect()
printSuccess(None, False, "Client disconnected.")
reactor.stop()
def printReport(rresult):
printSuccess(None, True, "Finished")
endSession(None)
def on_torrents_status(torrents):
tlist=[]
for torrent_id,torrent_info in torrents.items():
try:
res = torrentAction(torrent_id,torrent_info)
if res == 'd':
successmsg = "%s [%s]: Deleted without data" % (torrent_id, torrent_info['name'])
errormsg = "%s [%s]: Error deleting without data" % (torrent_id, torrent_info["name"])
tlist.append(client.core.remove_torrent(torrent_id, False).addCallbacks(printSuccess, printError, callbackArgs = (True, successmsg), errbackArgs = (errormsg)))
elif res == 'D':
successmsg = "%s [%s]: Deleted WITH DATA" % (torrent_id, torrent_info['name'])
errormsg = "%s [%s]: Error deleting WITH DATA" % (torrent_id, torrent_info["name"])
tlist.append(client.core.remove_torrent(torrent_id, True).addCallbacks(printSuccess, printError, callbackArgs = (True, successmsg), errbackArgs = (errormsg)))
elif res == 'l':
printSuccess(None, False, "%s [%s]: Listing (doing nothing)" % (torrent_id, torrent_info["name"]))
elif res == '':
pass
else:
printError("%s [%s]: Unknown function response '%s'" % (torrent_id, torrent_info["name"],res))
except Exception as inst:
printError("%s [%s]: Exception %s" % (torrent_id, torrent_info["name"], inst))
defer.DeferredList(tlist).addCallback(printReport)
def on_session_state(result):
client.core.get_torrents_status({"id": result}, torrent_info_wanted).addCallback(on_torrents_status)
def on_connect_success(result):
printSuccess(None, True, "Connection was successful!")
client.core.get_session_state().addCallback(on_session_state)
def filter_torrents(connection_data={},info_wanted=[],action=(lambda tid,tinfo: 'l'),interactive=True):
""" Get all torrents and filter them
Arguments:
connection_data -- How to connect to the deluged daemon. Specify a dictionary of host, port(integer), username, password
info_wanted -- A list of fields to be retrived for each torrent. You'll get it as a populated dictionary when action is called
action -- function called for each torrent. Will get two variables - the torrent id and a populated dictionary of the torrent data. Should return a string indicating what to do with the torrent. Possible values:
'': Do nothing
'd': Delete torrent (without deleting data)
'D': Delete torrent WITH data
'l': List torrent (display id and name)
(Anything else): Causes an error.
More things to come!
interactive -- whether to write information / errors to output. Send False for cron jobs
"""
# ensure 'name' is in torrent_info_wanted
if 'name' not in info_wanted: info_wanted.append('name')
# set parameters
global cliconnect
cliconnect = client.connect(**connection_data)
global torrent_info_wanted
torrent_info_wanted = info_wanted
global torrentAction
torrentAction = action
global is_interactive
is_interactive = interactive
# start the show
cliconnect.addCallbacks(on_connect_success, endSession, errbackArgs=("Connection failed: check settings and try again."))
reactor.run()


Rack, a modular Ruby webserver interface
Rack provides a minimal, modular and
adaptable interface for developing web applications in Ruby. By wrapping
HTTP requests and responses in the simplest way possible, it unifies and
distills the API for web servers, web frameworks, and software in between
(the so-called middleware) into a single method call.
The exact details of this are described in the Rack specification, which all Rack applications should conform to.
Supported web servers
The included handlers connect all kinds of web servers to Rack:
- Mongrel
- EventedMongrel
- SwiftipliedMongrel
- WEBrick
- FCGI
- CGI
- SCGI
- LiteSpeed
- Thin
These web servers include Rack handlers
in their distributions:
- Ebb
- Fuzed
- Glassfish v3
- Phusion Passenger (which is mod_rack for Apache and for nginx)
- Puma
- Rainbows!
- Reel
- Unicorn
- unixrack
- uWSGI
- Zbatery
Any valid Rack app will run the same on
all these handlers, without changing anything.
Supported web frameworks
These frameworks include Rack adapters
in their distributions:
- Camping
- Coset
- Espresso
- Halcyon
- Mack
- Maveric
- Merb
- Racktools::SimpleApplication
- Ramaze
- Ruby on Rails
- Rum
- Sinatra
- Sin
- Vintage
- Waves
- Wee
- … and many others.
Available middleware
Between the server and the framework, Rack can be customized to your applications
needs using middleware, for example:
- Rack::URLMap, to route to
multiple applications inside the same process.
- Rack::CommonLogger, for
creating Apache-style logfiles.
- Rack::ShowException, for catching unhandled exceptions and presenting them
in a nice and helpful way with clickable backtrace.
- Rack::File, for serving static
files.
- …many others!
All these components use the same interface, which is described in detail
in the Rack specification. These
optional components can be used in any way you wish.
Convenience
If you want to develop outside of existing frameworks, implement your own
ones, or develop middleware, Rack
provides many helpers to create Rack
applications quickly and without doing the same web stuff all over:
rack-contrib
The plethora of useful middleware created the need for a project that
collects fresh Rack middleware.
rack-contrib includes a variety of add-on components for Rack and it is easy to contribute new
modules.
rackup
rackup is a useful tool for running Rack
applications, which uses the Rack::Builder DSL to configure
middleware and build up applications easily.
rackup automatically figures out the environment it is run in, and runs
your application as FastCGI, CGI, or standalone with Mongrel or
WEBrick—all from the same configuration.
Quick start
Try the lobster!
Either with the embedded WEBrick starter:
ruby -Ilib lib/rack/lobster.rb
Or with rackup:
bin/rackup -Ilib example/lobster.ru
By default, the lobster is found at localhost:9292.
Installing with RubyGems
A Gem of Rack is available at
rubygems.org. You can install it with:
gem install rack
I also provide a local mirror of the gems (and development snapshots) at my
site:
gem install rack --source http://chneukirchen.org/releases/gems/
Running the tests
Testing Rack requires the bacon testing
framework:
bundle install --without extra # to be able to run the fast tests
Or:
bundle install # this assumes that you have installed native extensions!
There are two rake-based test tasks:
rake test tests all the fast tests (no Handlers or Adapters)
rake fulltest runs all the tests
The fast testsuite has no dependencies outside of the core Ruby
installation and bacon.
To run the test suite completely, you need:
* fcgi
* memcache-client
* mongrel
* thin
The full set of tests test FCGI access
with lighttpd (on port 9203) so you will need lighttpd installed as well as
the FCGI libraries and the fcgi gem:
Download and install lighttpd:
http://www.lighttpd.net/download
Installing the FCGI libraries:
curl -O http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
tar xzvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure --prefix=/usr/local
make
sudo make install
cd ..
Installing the Ruby fcgi gem:
gem install fcgi
Furthermore, to test Memcache sessions, you need memcached (will be run on
port 11211) and memcache-client installed.
History
- March 3rd, 2007: First public release 0.1.
- May 16th, 2007: Second public release 0.2.
- HTTP Basic authentication.
- Cookie Sessions.
- Static file handler.
- Improved Rack::Request.
- Improved Rack::Response.
- Added Rack::ShowStatus, for
better default error messages.
- Bug fixes in the Camping adapter.
- Removed Rails adapter, was too alpha.
- February 26th, 2008: Third public release 0.3.
- LiteSpeed handler, by Adrian Madrid.
- SCGI handler, by Jeremy Evans.
- Pool sessions, by blink.
- OpenID authentication, by blink.
- :Port and :File options for opening FastCGI sockets, by blink.
- Last-Modified HTTP header for Rack::File, by blink.
- Rack::Builder#use now accepts blocks, by Corey Jewett. (See
example/protectedlobster.ru)
- HTTP status 201 can contain a Content-Type and a body now.
- Many bugfixes, especially related to Cookie handling.
- August 21st, 2008: Fourth public release 0.4.
- New middleware, Rack::Deflater,
by Christoffer Sawicki.
- OpenID authentication now needs ruby-openid 2.
- New Memcache sessions, by blink.
- Explicit EventedMongrel handler, by Joshua Peek<EMAIL_ADDRESS>- Rack::Reloader is not loaded in
rackup development mode.
- rackup can daemonize with -D.
- Many bugfixes, especially for pool sessions, URLMap, thread safety and
tempfile handling.
- Improved tests.
- Rack moved to Git.
- January 6th, 2009: Fifth public release 0.9.
- Rack is now managed by the Rack Core Team.
- Rack::Lint is stricter and follows
the HTTP RFCs more closely.
- Added ConditionalGet middleware.
- Added ContentLength middleware.
- Added Deflater middleware.
- Added Head middleware.
- Added MethodOverride middleware.
- Rack::Mime now provides popular
MIME-types and their extension.
- Mongrel Header now streams.
- Added Thin handler.
- Official support for swiftiplied Mongrel.
- Secure cookies.
- Made HeaderHash case-preserving.
- Many bugfixes and small improvements.
- January 9th, 2009: Sixth public release 0.9.1.
- April 25th, 2009: Seventh public release 1.0.0.
- SPEC change: Rack::VERSION has been pushed to [1,0].
- SPEC change: header values must be Strings now, split on "\n".
- SPEC change: Content-Length can be missing, in this case chunked transfer
encoding is used.
- SPEC change: rack.input must be rewindable and support reading into a
buffer, wrap with Rack::RewindableInput if it
isn‘t.
- SPEC change: rack.session is now specified.
- SPEC change: Bodies can now additionally respond to to_path with a filename
to be served.
- NOTE: String bodies break in 1.9, use an Array consisting of a single
String instead.
- New middleware Rack::Lock.
- New middleware Rack::ContentType.
- Rack::Reloader has been
rewritten.
- Major update to Rack::Auth::OpenID.
- Support for nested parameter parsing in Rack::Response.
- Support for redirects in Rack::Response.
- HttpOnly cookie support in Rack::Response.
- The Rakefile has been rewritten.
- Many bugfixes and small improvements.
- October 18th, 2009: Eighth public release 1.0.1.
- Bump remainder of rack.versions.
- Support the pure Ruby FCGI
implementation.
- Fix for form names containing "=": split first then unescape
components
- Fixes the handling of the filename parameter with semicolons in names.
- Add anchor to nested params parsing regexp to prevent stack overflows
- Use more compatible gzip write api instead of "<<".
- Make sure that Reloader doesn‘t break when executed via ruby -e
- Make sure WEBrick respects the :Host option
- Many Ruby 1.9 fixes.
- January 3rd, 2010: Ninth public release 1.1.0.
- Moved Auth::OpenID to rack-contrib.
- SPEC change that relaxes Lint slightly to allow subclasses of the required
types
- SPEC change to document rack.input binary mode in greator detail
- SPEC define optional rack.logger specification
- File servers support X-Cascade header
- Imported Config middleware
- Imported ETag middleware
- Imported Runtime middleware
- Imported Sendfile middleware
- New Logger and NullLogger middlewares
- Added mime type for .ogv and .manifest.
- Don‘t squeeze PATH_INFO slashes
- Use Content-Type to determine POST params parsing
- Update Rack::Utils::HTTP_STATUS_CODES hash
- Add status code lookup utility
- Response should call to_i on the status
- Add Request#user_agent
- Request#host knows about forwared host
- Return an empty string for Request#host if HTTP_HOST and SERVER_NAME are
both missing
- Allow MockRequest to accept hash params
- Optimizations to HeaderHash
- Refactored rackup into Rack::Server
- Added Utils.build_nested_query to complement Utils.parse_nested_query
- Added Utils::Multipart.build_multipart to complement
Utils::Multipart.parse_multipart
- Extracted set and delete cookie helpers into Utils so they can be used
outside Response
- Extract parse_query and parse_multipart in Request so subclasses can change
their behavior
- Enforce binary encoding in RewindableInput
- Set correct external_encoding for handlers that don‘t use
RewindableInput
- June 13th, 2010: Tenth public release 1.2.0.
- Removed Camping adapter: Camping 2.0 supports Rack as-is
- Removed parsing of quoted values
- Add Request.trace? and Request.options?
- Add mime-type for .webm and .htc
- Fix HTTP_X_FORWARDED_FOR
- Various multipart fixes
- Switch test suite to bacon
- June 15th, 2010: Eleventh public release 1.2.1.
- Make CGI handler rewindable
- Rename spec/ to test/ to not conflict with SPEC on lesser operating systems
- March 13th, 2011: Twelfth public release 1.2.2/1.1.2.
- Security fix in Rack::Auth::Digest::MD5:
when authenticator returned nil, permission was granted on empty password.
- May 22nd, 2011: Thirteenth public release 1.3.0
- Various performance optimizations
- Various multipart fixes
- Various multipart refactors
- Infinite loop fix for multipart
- Test coverage for Rack::Server
returns
- Allow files with ’..’, but not path components that are
’..’
- rackup accepts handler-specific options on the command line
- Request#params no longer merges POST into GET (but returns the same)
- Use URI.encode_www_form_component instead. Use core methods for escaping.
- Allow multi-line comments in the config file
- Bug L#94 reported by Nikolai Lugovoi, query parameter unescaping.
- Rack::Response now deletes
Content-Length when appropriate
- Rack::Deflater now supports
streaming
- Improved Rack::Handler loading
and searching
- Support for the PATCH verb
- env now contains session
options
- Cookies respect renew
- Session middleware uses SecureRandom.hex
- May 22nd, 2011: Fourteenth public release 1.2.3
- Pulled in relevant bug fixes from 1.3
- Fixed 1.8.6 support
- July 13, 2011: Fifteenth public release 1.3.1
- July 16, 2011: Sixteenth public release 1.3.2
- Fix for Rails and rack-test, Rack::Utils#escape calls to_s
- September 16, 2011: Seventeenth public release 1.3.3
- Fix bug with broken query parameters in Rack::ShowExceptions
- Rack::Request#cookies no longer swallows exceptions on broken input
- Prevents XSS attacks enabled by bug in Ruby 1.8‘s regexp engine
- Rack::ConditionalGet
handles broken If-Modified-Since helpers
- September 16, 2011: Eighteenth public release 1.2.4
- Fix a bug with MRI regex engine to prevent XSS by malformed unicode
- October 1, 2011: Nineteenth public release 1.3.4
- Backport security fix from 1.9.3, also fixes some roundtrip issues in URI
- Small documentation update
- Fix an issue where BodyProxy could cause an infinite recursion
- Add some supporting files for travis-ci
- October 17, 2011: Twentieth public release 1.3.5
- Fix annoying warnings caused by the backport in 1.3.4
- December 28th, 2011: Twenty first public release: 1.1.3.
- December 28th, 2011: Twenty fourth public release 1.4.0
- Ruby 1.8.6 support has officially been dropped. Not all tests pass.
- Raise sane error messages for broken config.ru
- Allow combining run and map in a config.ru
- Rack::ContentType will not
set Content-Type for responses without a body
- Status code 205 does not send a response body
- Rack::Response::Helpers
will not rely on instance variables
- Rack::Utils.build_query no longer outputs ’=’ for nil query
values
- Various mime types added
- Rack::MockRequest now
supports HEAD
- Rack::Directory now supports
files that contain RFC3986 reserved chars
- Rack::File now only supports GET
and HEAD requests
- Rack::Server#start now passes the block to Rack::Handler::<h>run
- Rack::Static now supports an
index option
- Added the Teapot status code
- rackup now defaults to Thin instead of Mongrel (if installed)
- Support added for HTTP_X_FORWARDED_SCHEME
- Numerous bug fixes, including many fixes for new and alternate rubies
- January 22nd, 2012: Twenty fifth public release 1.4.1
- Alter the keyspace limit calculations to reduce issues with nested params
- Add a workaround for multipart parsing where files contain unescaped
"%"
- Added Rack::Response::Helpers#method_not_allowed? (code 405)
- Rack::File now returns 404 for
illegal directory traversals
- Rack::File now returns 405 for
illegal methods (non HEAD/GET)
- Rack::Cascade now catches 405 by
default, as well as 404
- Cookies missing ’—’ no longer cause an exception to be
raised
- Various style changes and documentation spelling errors
- Rack::BodyProxy always ensures
to execute its block
- Additional test coverage around cookies and secrets
- Rack::Session::Cookie can
now be supplied either secret or old_secret
- Tests are no longer dependent on set order
- Rack::Static no longer defaults
to serving index files
- Rack.release was fixed
- January 6th, 2013: Twenty sixth public release 1.1.4
- Add warnings when users do not provide a session secret
- January 6th, 2013: Twenty seventh public release 1.2.6
- Add warnings when users do not provide a session secret
- Fix parsing performance for unquoted filenames
- January 6th, 2013: Twenty eighth public release 1.3.7
- Add warnings when users do not provide a session secret
- Fix parsing performance for unquoted filenames
- Updated URI backports
- Fix URI backport version matching, and silence constant warnings
- Correct parameter parsing with empty values
- Correct rackup ’-I’ flag, to allow multiple uses
- Correct rackup pidfile handling
- Report rackup line numbers correctly
- Fix request loops caused by non-stale nonces with time limits
- Fix reloader on Windows
- Prevent infinite recursions from Response#to_ary
- Various middleware better conforms to the body close specification
- Updated language for the body close specification
- Additional notes regarding ECMA escape compatibility issues
- Fix the parsing of multiple ranges in range headers
- January 6th, 2013: Twenty ninth public release 1.4.2
- Add warnings when users do not provide a session secret
- Fix parsing performance for unquoted filenames
- Updated URI backports
- Fix URI backport version matching, and silence constant warnings
- Correct parameter parsing with empty values
- Correct rackup ’-I’ flag, to allow multiple uses
- Correct rackup pidfile handling
- Report rackup line numbers correctly
- Fix request loops caused by non-stale nonces with time limits
- Fix reloader on Windows
- Prevent infinite recursions from Response#to_ary
- Various middleware better conforms to the body close specification
- Updated language for the body close specification
- Additional notes regarding ECMA escape compatibility issues
- Fix the parsing of multiple ranges in range headers
- Prevent errors from empty parameter keys
- Added PATCH verb to Rack::Request
- Various documentation updates
- Fix session merge semantics (fixes rack-test)
- Rack::Static :index can now
handle multiple directories
- All tests now utilize Rack::Lint
(special thanks to Lars Gierth)
- Rack::File cache_control parameter
is now deprecated, and removed by 1.5
- Correct Rack::Directory script
name escaping
- Rack::Static supports header
rules for sophisticated configurations
- Multipart parsing now works without a Content-Length header
- New logos courtesy of Zachary Scott!
- Rack::BodyProxy now explicitly
defines each, useful for C extensions
- Cookies that are not URI escaped no longer cause exceptions
- January 7th, 2013: Thirtieth public release 1.3.8
- Security: Prevent unbounded reads in large multipart boundaries
- January 7th, 2013: Thirty first public release 1.4.3
- Security: Prevent unbounded reads in large multipart boundaries
- January 13th, 2013: Thirty second public release 1.4.4, 1.3.9, 1.2.7, 1.1.5
- January 21st, 2013: Thirty third public release 1.5.0
- Introduced hijack SPEC, for before-response and after-response hijacking
- SessionHash is no longer a Hash subclass
- Rack::File cache_control parameter
is removed, in place of headers options
- Rack::Auth::AbstractRequest#scheme now yields strings, not symbols
- Rack::Utils cookie functions now
format expires in RFC 2822 format
- Rack::File now has a default mime
type
- rackup -b ‘run Rack::File.new(".")’, option provides
command line configs
- Rack::Deflater will no longer
double encode bodies
- Rack::Mime#match? provides convenience for Accept header matching
- Rack::Utils#q_values provides splitting for Accept headers
- Rack::Utils#best_q_match provides a helper for Accept headers
- Rack::Handler.pick provides convenience for finding available servers
- Puma added to the list of default servers (preferred over Webrick)
- Various middleware now correctly close body when replacing it
- Rack::Request#params is no longer persistent with only GET params
- Rack::Request#update_param and delete_param provide persistent operations
- Rack::Request#trusted_proxy? now returns true for local unix sockets
- Rack::Response no longer forces
Content-Types
- Rack::Sendfile provides local
mapping configuration options
- Rack::Utils#rfc2109 provides old netscape style time output
- Updated HTTP status codes
- Ruby 1.8.6 likely no longer passes tests, and is no longer fully supported
- January 28th, 2013: Thirty fourth public release 1.5.1
- Rack::Lint check_hijack now
conforms to other parts of SPEC
- Added hash-like methods to Abstract::ID::SessionHash for compatibility
- Various documentation corrections
- February 7th, Thirty fifth public release 1.1.6, 1.2.8, 1.3.10
- February 7th, Thirty fifth public release 1.4.5
- February 7th, Thirty fifth public release 1.5.2
- Fix CVE-2013-0263, timing attack against Rack::Session::Cookie
- Fix CVE-2013-0262, symlink path traversal in Rack::File
- Add various methods to Session for enhanced Rails compatibility
- Request#trusted_proxy? now only matches whole stirngs
- Add JSON cookie coder, to be default in Rack 1.6+ due to security concerns
- URLMap host matching in environments that don‘t set the Host header
fixed
- Fix a race condition that could result in overwritten pidfiles
- Various documentation additions
Contact
Please post bugs, suggestions and patches to the bug tracker at <github.com/rack/rack/issues>.
Please post security related bugs and suggestions to the core team at
<groups.google.com/group/rack-core>
or<EMAIL_ADDRESS>This list is not public. Due to wide usage
of the library, it is strongly preferred that we manage timing in order to
provide viable patches at the time of disclosure. Your assistance in this
matter is greatly appreciated.
Mailing list archives are available at <groups.google.com/group/rack-devel>.
Git repository (send Git patches to the mailing list):
You are also welcome to join the rack channel on irc.freenode.net.
Thanks
The Rack Core Team, consisting of
- Christian Neukirchen (chneukirchen)
- James Tucker (raggi)
- Josh Peek (josh)
- Michael Fellinger (manveru)
- Ryan Tomayko (rtomayko)
- Scytrin dai Kinthra (scytrin)
- Aaron Patterson (tenderlove)
- Konstantin Haase (rkh)
would like to thank:
- Adrian Madrid, for the LiteSpeed handler.
- Christoffer Sawicki, for the first Rails adapter and Rack::Deflater.
- Tim Fletcher, for the HTTP authentication code.
- Luc Heinrich for the Cookie sessions, the static file handler and bugfixes.
- Armin Ronacher, for the logo and racktools.
- Alex Beregszaszi, Alexander Kahn, Anil Wadghule, Aredridel, Ben Alpert, Dan
Kubb, Daniel Roethlisberger, Matt Todd, Tom Robinson, Phil Hagelberg, S.
Brent Faulkner, Bosko Milekic, Daniel Rodríguez Troitiño, Genki Takiuchi,
Geoffrey Grosenbach, Julien Sanchez, Kamal Fariz Mahyuddin, Masayoshi
Takahashi, Patrick Aljordm, Mig, Kazuhiro Nishiyama, Jon Bardin, Konstantin
Haase, Larry Siden, Matias Korhonen, Sam Ruby, Simon Chiang, Tim Connor,
Timur Batyrshin, and Zach Brock for bug fixing and other improvements.
- Eric Wong, Hongli Lai, Jeremy Kemper for their continuous support and API
improvements.
- Yehuda Katz and Carl Lerche for refactoring rackup.
- Brian Candler, for Rack::ContentType.
- Graham Batty, for improved handler loading.
- Stephen Bannasch, for bug reports and documentation.
- Gary Wright, for proposing a better Rack::Response interface.
- Jonathan Buch, for improvements regarding Rack::Response.
- Armin Röhrl, for tracking down bugs in the Cookie generator.
- Alexander Kellett for testing the Gem and reviewing the announcement.
- Marcus Rückert, for help with configuring and debugging lighttpd.
- The WSGI team for the well-done and documented work they‘ve done and
Rack builds up on.
- All bug reporters and patch contributors not mentioned above.
Copyright
Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 IN
NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Links


matrix 3x3
More...
#include <mat33.h>
|
| | mat33 () |
| |
| | mat33 (const mat33 &m) |
| |
| | mat33 (float _11_, float _12_, float _13_, float _21_, float _22_, float _23_, float _31_, float _32_, float _33_) |
| |
| | mat33 (const float *pfArray) |
| |
| | operator const float * () const |
| |
| | operator float * () |
| |
| mat33 & | operator= (const mat22 &m) |
| |
| void | operator= (const float *pfArray) |
| |
| mat33 & | operator= (float a) |
| |
| mat33 | operator- () const |
| | Contacting mark all the elements of. More...
|
| |
| mat33 | operator+ (const mat33 &m) const |
| |
| mat33 | operator- (const mat33 &m) const |
| |
| mat33 & | operator*= (float f) |
| |
| mat33 & | operator*= (const mat33 &m) |
| |
| mat33 & | operator/= (float f) |
| |
| mat33 & | operator+= (const mat33 &a) |
| |
| mat33 & | operator-= (const mat33 &a) |
| |
| mat33 | operator* (const mat33 &m) const |
| |
| mat33 | operator* (float f) const |
| |
| vec3 | operator* (const vec3 &v) const |
| |
| const vec3 | operator[] (size_t index) const |
| | Access to the rows of the index. More...
|
| |
| | operator mat22 () |
| | Conversion to 2x2 matrix. More...
|
| |
| bool | empty () const |
| |
| void | setzero () |
| | set all to zero More...
|
| |
| void | setIdentity () |
| | reset. set to identity. More...
|
| |
| bool | isIdentity () const |
| |
| void | reset () |
| | reset. set to identity. same as setIdentity. More...
|
| |
| mat33 & | transpone () |
| | transpose the matrix More...
|
| |
| mat33 | getTransponed () const |
| | return transposed the matrix More...
|
| |
| float | determinant () const |
| |
| mat33 & | invert () |
| |
| mat33 | inverted () const |
| |
| mat33 & | setScaling (float x, float y, float z) |
| |
| mat33 & | setScaling (const vec3 &v) |
| |
| mat33 & | setRotationX (float angle) |
| |
| mat33 & | setRotationY (float angle) |
| |
| mat33 & | setRotationZ (float angle) |
| |
| mat33 & | setRotation (const vec3 &v, float angle) |
| |
| mat33 & | setMirrorX () |
| |
| mat33 & | setMirrorY () |
| |
| mat33 & | setMirrorZ () |
| |
matrix 3x3
Definition at line 19 of file mat33.h.
| gbmath::mat33::mat33 |
( |
const mat33 & |
m) | |
|
|
inline |
| gbmath::mat33::mat33 |
( |
float |
_11_, |
|
|
float |
_12_, |
|
|
float |
_13_, |
|
|
float |
_21_, |
|
|
float |
_22_, |
|
|
float |
_23_, |
|
|
float |
_31_, |
|
|
float |
_32_, |
|
|
float |
_33_ |
|
) |
| |
|
inline |
| gbmath::mat33::mat33 |
( |
const float * |
pfArray) | |
|
|
inline |
| float gbmath::mat33::determinant |
( |
) | |
const |
| bool gbmath::mat33::empty |
( |
) | |
const |
|
inline |
| mat33 gbmath::mat33::getTransponed |
( |
) | |
const |
|
inline |
return transposed the matrix
Definition at line 159 of file mat33.h.
| mat33 & gbmath::mat33::invert |
( |
) | |
|
| mat33 gbmath::mat33::inverted |
( |
) | |
const |
|
inline |
| bool gbmath::mat33::isIdentity |
( |
) | |
const |
|
inline |
| gbmath::mat33::operator const float * |
( |
) | |
const |
|
inline |
| gbmath::mat33::operator float * |
( |
) | |
|
|
inline |
| gbmath::mat33::operator mat22 |
( |
) | |
|
|
inline |
Conversion to 2x2 matrix.
Definition at line 108 of file mat33.h.
| mat33 gbmath::mat33::operator* |
( |
const mat33 & |
m) | |
const |
| mat33 gbmath::mat33::operator* |
( |
float |
f) | |
const |
| vec3 gbmath::mat33::operator* |
( |
const vec3 & |
v) | |
const |
| mat33 & gbmath::mat33::operator*= |
( |
float |
f) | |
|
| mat33 & gbmath::mat33::operator*= |
( |
const mat33 & |
m) | |
|
| mat33 gbmath::mat33::operator+ |
( |
const mat33 & |
m) | |
const |
| mat33 & gbmath::mat33::operator+= |
( |
const mat33 & |
a) | |
|
| mat33 gbmath::mat33::operator- |
( |
) | |
const |
|
inline |
Contacting mark all the elements of.
Definition at line 75 of file mat33.h.
| mat33 gbmath::mat33::operator- |
( |
const mat33 & |
m) | |
const |
| mat33 & gbmath::mat33::operator-= |
( |
const mat33 & |
a) | |
|
| mat33 & gbmath::mat33::operator/= |
( |
float |
f) | |
|
| mat33& gbmath::mat33::operator= |
( |
const mat22 & |
m) | |
|
|
inline |
| void gbmath::mat33::operator= |
( |
const float * |
pfArray) | |
|
|
inline |
| mat33 & gbmath::mat33::operator= |
( |
float |
a) | |
|
| const vec3 gbmath::mat33::operator[] |
( |
size_t |
index) | |
const |
|
inline |
Access to the rows of the index.
Definition at line 100 of file mat33.h.
| void gbmath::mat33::reset |
( |
) | |
|
|
inline |
reset. set to identity. same as setIdentity.
Definition at line 143 of file mat33.h.
| void gbmath::mat33::setIdentity |
( |
) | |
|
|
inline |
reset. set to identity.
Definition at line 128 of file mat33.h.
| mat33 & gbmath::mat33::setMirrorX |
( |
) | |
|
| mat33 & gbmath::mat33::setMirrorY |
( |
) | |
|
| mat33 & gbmath::mat33::setMirrorZ |
( |
) | |
|
| mat33 & gbmath::mat33::setRotation |
( |
const vec3 & |
v, |
|
|
float |
angle |
|
) |
| |
| mat33 & gbmath::mat33::setRotationX |
( |
float |
angle) | |
|
| mat33 & gbmath::mat33::setRotationY |
( |
float |
angle) | |
|
| mat33 & gbmath::mat33::setRotationZ |
( |
float |
angle) | |
|
| mat33 & gbmath::mat33::setScaling |
( |
float |
x, |
|
|
float |
y, |
|
|
float |
z |
|
) |
| |
| mat33 & gbmath::mat33::setScaling |
( |
const vec3 & |
v) | |
|
| void gbmath::mat33::setzero |
( |
) | |
|
|
inline |
set all to zero
Definition at line 122 of file mat33.h.
| mat33& gbmath::mat33::transpone |
( |
) | |
|
|
inline |
transpose the matrix
Definition at line 149 of file mat33.h.
| std::ostream& operator<< |
( |
std::ostream & |
os, |
|
|
const mat33 & |
a |
|
) |
| |
|
friend |
| float gbmath::mat33::array[9] |
| float gbmath::mat33::floats[3][3] |
The documentation for this struct was generated from the following files:


| Name: | |
| Surname: | |
| Email: | |
| Number of visits: | {{user.visits}} |
| Name and surname: | Number of visits | |
|---|---|---|
| {{friend.name + " " + friend.surname}} | {{friend.visits}} |
| Name and surname: | |
|---|---|
| {{addableFriend.name + " " + addableFriend.surname}} |
| Name and surname: | ||
|---|---|---|
| {{request.name + " " + request.surname}} |


This function should usually be used only for new projects. For many past projects, the search has already been done and the results often were edited to remove false entries. If you proceed, this search will erase those results and replace them with a new and probably less valid search. Also, this search will take a few minutes and cannot be interrupted.
Are you sure you want to continue?


{% extends "base.html" %} {% block page_title %}Library Programme{% endblock %} {% block content %}
The Library Programme aims to make every child in every government primary school a Library member and bring in methodologies to ensure that they are reading well. To this end, the goals of the Programme are:
All books in the Library are graded using a heuristic procedure defined by the Hippocampus Reading Foundation, called "GROW BY". According to this procedure, books are graded into 6 bins or levels based on the number of sentences per page. Each book receives a coloured sticker on its spine to indicate the level. The scheme is as given below:
As a child reads books in the Library, it is expected to read simple books at the start (G or R level books). As its reading skill improves, the child reads more complex books (O, W, B and Y books).
The children participate in a variety of activities in the Libraries. Loud Reading, Story Telling, Book based Projects are part of the game. We also run special immersive activities in the Libraries that reinforce aspects of their own classroom curriculum ( Minimum Learning Levels).
To measure the results of the program using quantifiable indicators, Akshara has partnered with Assistant Professor Leigh Linden of the Columbia University Department of Economics to implement a large-scale 3-year longitudinal randomized evaluation of the library program. The primary purpose of the research endeavor is to investigate the effects of providing children with access to reading material either through access to an Akshara sponsored library facility, teacher membership to a nearby Akshara library, or the direct monthly receipt of books.
The research methodology was designed by Prof. Leigh Linden's team after studying the survey results and the past performance results of the KLP Reading programme.
About 400 schools were selected randomly to participate in the study and these were broken up into two sets of 200 schools, representing Treatment and Control groups.
As part of the Research we made a few assessments of the children's learning outcomes in the selected 400 schools.
The baseline assessment, conducted before the Libraries were switched on, consisted of separate language and math tests for the study sample of students in grades 3-5. Students in grades 4-5 received the exact same tests whereas students in grade 3 received a slightly abbreviated language test but the same exact math test. There were Urdu and Kannada versions that were administered in Urdu and Kannada medium schools respectively.
The Post test, conducted on the same set of children used the classroom competencies (MLLs) to check if the children in the Treatment Group were ahead of those in the Control Group.


Year: Freshman
Major: Accounting
Birth date: June 15, 1999
Graduation date: May 2020
Plan the best schedule that fits your needs and meets the degree requirements for the rest of your college career
Degree PlannerPlan your trip and learn more about the bus schedules to plan out your schedule.
Plan with IndyGo IndyGo Bus Routes


§576B-702 Applicability. This article applies only to a support proceeding under the Convention. In such a proceeding, if a provision of this article is inconsistent with Articles 1 through 6, this article controls. [L 2015, c 77, pt of §1]


|
My Project
|
Smart weak reference pointer that does reference counting. More...
#include <ref_counted.h>
Public Member Functions | |
| counted_weak_ptr (const counted_ptr< T > &other) | |
| counted_weak_ptr (const counted_weak_ptr< T > &other) | |
| counted_weak_ptr (counted_weak_ptr< T > &&other) | |
| counted_weak_ptr (T *other) | |
| counted_weak_ptr (std::nullptr_t null) | |
| template<class Y > | |
| counted_weak_ptr (Y *other) | |
| template<class Y > | |
| counted_weak_ptr (const counted_weak_ptr< Y > &other) | |
| template<class Y > | |
| counted_weak_ptr (const counted_ptr< Y > &other) | |
| counted_weak_ptr< T > & | operator= (counted_ptr< T > &other) |
| counted_weak_ptr< T > & | operator= (counted_weak_ptr< T > &other) |
| counted_weak_ptr< T > & | operator= (T *other) |
| counted_weak_ptr< T > & | operator= (std::nullptr_t) |
| bool | operator== (const counted_weak_ptr< T > &other) |
| bool | operator!= (const counted_weak_ptr< T > &other) |
| bool | operator== (const counted_ptr< T > &other) const |
| bool | operator!= (const counted_ptr< T > &other) const |
| bool | operator== (T *other) const |
| bool | operator!= (T *other) const |
| bool | operator== (std::nullptr_t) const |
| bool | operator!= (std::nullptr_t) const |
| void | swap (counted_weak_ptr< T > &other) |
| T * | get () |
| Gets the underlying pointer. This should be used to access objects through weak pointers as it checks if the object has expired. More... | |
| unsigned short | getRefCount () |
| Gets the reference count. More... | |
| unsigned short | getWeakRefCount () |
| Gets the weak reference count. More... | |
| bool | expired () |
| Checks if the pointed to object has expired. More... | |
| operator bool () const | |
Smart weak reference pointer that does reference counting.
This pointer does not keep the object alive. It can point to already destructed objects.
| T | value type, must inherit from RefCounted |
|
inline |
Checks if the pointed to object has expired.
|
inline |
Gets the underlying pointer. This should be used to access objects through weak pointers as it checks if the object has expired.
|
inline |
Gets the reference count.
|
inline |
Gets the weak reference count.


Over the past year, Melanie Nuce, SVP Corporate Development at GS1 US, has worked to raise awareness of blockchain for supply chain applications — from improving food traceability to enhancing product information transparency. Drawing on more than 20 years of supply chain e...


Löve Frames - The Textinput Object
Return to Index
Information
The text input object receives text from the user via keyboard. The text input object supports both single-line and multi-line input.
Example Use
local frame = loveframes.Create("frame") frame:SetName("Text Input") frame:SetSize(500, 90) frame:CenterWithinArea(unpack(demo.centerarea)) local textinput = loveframes.Create("textinput", frame) textinput:SetPos(5, 30) textinput:SetWidth(490) textinput.OnEnter = function(object) if not textinput.multiline then object:Clear() end end textinput:SetFont(love.graphics.newFont(12)) local togglebutton = loveframes.Create("button", frame) togglebutton:SetPos(5, 60) togglebutton:SetWidth(490) togglebutton:SetText("Toggle Multiline") togglebutton.OnClick = function(object) if textinput.multiline then frame:SetHeight(90) frame:Center() togglebutton:SetPos(5, 60) textinput:SetMultiline(false) textinput:SetHeight(25) textinput:SetText("") frame:CenterWithinArea(unpack(demo.centerarea)) else frame:SetHeight(365) frame:Center() togglebutton:SetPos(5, 335) textinput:SetMultiline(true) textinput:SetHeight(300) textinput:SetText("") frame:CenterWithinArea(unpack(demo.centerarea)) end end
Event Callbacks
OnEnter - Called when enter/return is pressed when the object has focus.
- Arguments passed: self [object], self text [string]
- Arguments passed: self [object], text entered [string] or modifier key [string]
- Arguments passed: self [object]
- Arguments passed: self [object]
- Arguments passed: self [object], self text [string]
local textinput = loveframes.Create("textinput") textinput.OnEnter = function(object, text) print(text) endOnTextChanged - Called when the object's text is changed.
- Arguments passed: self [object], text entered [string] or modifier key [string]
local textinput = loveframes.Create("textinput") textinput.OnTextChanged = function(object, text) print(text) endOnFocusGained - Called when the object gains focus.
- Arguments passed: self [object]
local textinput = loveframes.Create("textinput") textinput.OnFocusGained = function(object) print("The object has gained focus.") endOnFocusLost - Called when the object loses focus.
- Arguments passed: self [object]
local textinput = loveframes.Create("textinput") textinput.OnFocusLost = function(object) print("The object has lost focus.") end
Methods
RunKey - Called when a key is pressed and needs to be processed into text.
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: font [font]
- Returns 1 value: focus [boolean]
- Returns 1 value: visibility [boolean]
- Returns 1 value: usable [table]
- Returns 1 value: unusable [table]
- Returns 1 value: multiline [bool]
- Returns 1 value: vscrollbody [object]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: hscrollbody [object]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: hasvscrollbody [bool]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: hashscrollbody [bool]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: panel [object]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: textx [number]
- Returns 1 value: texty [number]
- Returns 1 value: alltextselected [bool]
- Returns 1 value: lines [table]
- Returns 1 value: offsetx [number]
- Returns 1 value: offsety [number]
- Returns 1 value: indicatorx [number]
- Returns 1 value: indicatory [number]
- Returns 1 value: itemwidth [number]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: itemheight [number]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
- Returns 1 value: tab replacement [string]
- Returns 1 value: editable [bool]
- Returns 1 value: scrollamount [number]
- Returns 1 value: scroll amount [number]
- Returns 1 value: autoscroll [boolean]
- Returns 1 value: delay [number]
- Note: This method is an alias of SetText(text)
- Returns 1 value: value [string]
- Note: This method is an alias of GetText()
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
object:RunKey(key[string], unicode[number])MoveIndicator - Moves the object's indicator
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
object:MoveIndicator(num[number], exact[boolean])UpdateIndicator - Updates the object's indicator
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
object:UpdateIndicator()AddIntoText - Adds text into the object's text at a specific location
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
object:AddIntoText(text[string], position[number])RemoveFromText - Removes a chracter from the object's text
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
object:AddIntoText(position[number])GetTextCollisions - Gets collisions with the object's text and the mouse cursor
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
object:GetTextCollisions(x[number], y[number])PositionText - Positions the object's text
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
object:PositionText()SetTextOffsetX - Sets the object's text x offset
object:SetTextOffsetX(xoffset[number])SetTextOffsetY - Sets the object's text y offset
object:SetTextOffsetY(yoffset[number])SetFont - Sets the object's font
object:SetFont(font[font])GetFont - Gets the object's font
- Returns 1 value: font [font]
local font = object:GetFont()SetFocus - Sets the object's focus
object:SetFocus(focus[true])GetFocus - Gets the object's focus
- Returns 1 value: focus [boolean]
local focus = object:GetFocus()GetIndicatorVisibility - Gets the object's indicator visibility
- Returns 1 value: visibility [boolean]
local indicatorvisibility = object:GetIndicatorVisibility()SetLimit - Sets the maximum number of characters the object's text can have
object:SetLimit(limit[number])SetUsable - Sets what characters can be used in the object's text
object:SetUsable(usable[table])GetUsable - Gets what characters can be used in the object's text
- Returns 1 value: usable [table]
local usable = object:GetUsable()SetUnsable - Sets what characters can not be used in the object's text
object:SetUnusable(unusable[table])GetUnsable - Gets what characters can not be used in the object's text
- Returns 1 value: unusable [table]
local unusable = object:GetUnsable()Clear - Clears the object's text
object:Clear()SetText - Sets the object's text
object:SetText(text[string])GetText - Gets the object's text
local text = object:GetText()SetMultiline - Enables or disables multiline input mode
object:SetMultiline(multiline[bool])GetMultiline - Gets whether or not the object is using multiline input
- Returns 1 value: multiline [bool]
local multiline = object:GetMultiline()GetVerticalScrollBody - Gets the object's vertical scroll body
- Returns 1 value: vscrollbody [object]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
local vscrollbody = object:GetVerticalScrollBody()GetHorizontalScrollBody - Gets the object's horizontal scroll body
- Returns 1 value: hscrollbody [object]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
local hscrollbody = object:GetHorizontalScrollBody()HasVerticalScrollBody - Checks if the object has a vertical scroll body
- Returns 1 value: hasvscrollbody [bool]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
local hasvscrollbody = object:HasVerticalScrollBody()HasHorizontalScrollBody - Checks if the object has a horizontal scroll body
- Returns 1 value: hashscrollbody [bool]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
local hashscrollbody = object:HasHorizontalScrollBody()GetLineNumbersPanel - Gets the object's line numbers panel
- Returns 1 value: panel [object]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
local panel = object:GetLineNumbersPanel()GetTextX - Gets the x position of the object's text
- Returns 1 value: textx [number]
local textx = object:GetTextX()GetTextY - Gets the y position of the object's text
- Returns 1 value: texty [number]
local texty = object:GetTextY()IsAllTextSelected - Gets whether or not all of the object's text is selected
- Returns 1 value: alltextselected [bool]
local alltextselected = object:IsAllTextSelected()GetLines - Gets the object's line data
- Returns 1 value: lines [table]
local lines = object:GetLines()GetOffsetX - Gets object's x offset
- Returns 1 value: offsetx [number]
local offsetx = object:GetOffsetX()GetOffsetY - Gets object's y offset
- Returns 1 value: offsety [number]
local offsety = object:GetOffsetY()GetIndicatorX - Gets object's indcator x position
- Returns 1 value: indicatorx [number]
local indicatorx = object:GetIndicatorX()GetIndicatorY - Gets object's indcator y position
- Returns 1 value: indicatory [number]
local indicatory = object:GetIndicatorY()ShowLineNumbers - Toggles the line numbers panel
object:ShowLineNumbers(show_line_numbers[bool])GetItemWidth - Gets object's item width
- Returns 1 value: itemwidth [number]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
local itemwidth = object:GetItemWidth()GetItemHeight - Gets object's item height
- Returns 1 value: itemheight [number]
- Note: This method is used by the object internally. You should not use it unless you know what you are doing.
local itemheight = object:GetItemHeight()SetTabReplacement - Sets what characters should be used to replace tab characters
object:SetTabReplacement(tabreplacement[string])GetTabReplacement - Gets object's tab replacement
- Returns 1 value: tab replacement [string]
local tabreplacement = object:GetTabReplacement()SetEditable - Sets whether the object is editable or not
object:SetEditable(editable[bool])GetEditable - Gets whether the object is editable or not
- Returns 1 value: editable [bool]
local editable = object:GetEditable()SetButtonScrollAmount - Sets the amount that the object's scroll buttons will scroll the object's list items by
object:SetButtonScrollAmount(scrollamount[number])GetButtonScrollAmount - Gets the object's scroll button scroll amount
- Returns 1 value: scrollamount [number]
local scrollamount = object:GetButtonScrollAmount()SetMouseWheelScrollAmount - Sets the amount that the mouse wheel will scroll the object's list items by
object:SetMouseWheelScrollAmount(scrollamount[number])GetMouseWheelScrollAmount - Gets the mouse wheel's scroll amount
- Returns 1 value: scroll amount [number]
local scrollamount = object:GetMouseWheelScrollAmount()SetAutoScroll - Sets whether or not the object should autoscroll when in multiline mode
object:SetAutoScroll(autoscroll[bool])GetAutoScroll - Gets whether or not the object should autoscroll when in multiline mode
- Returns 1 value: autoscroll [boolean]
local autoscroll = object:GetAutoScroll()SetRepeatDelay - Sets the delay before the object begins to repeat the key that is being held down
object:SetRepeatDelay(delay[number])GetRepeatDelay - Gets the object's repeat delay
- Returns 1 value: delay [number]
local delay = object:GetRepeatDelay()SetValue - Sets the object's value
- Note: This method is an alias of SetText(text)
object:SetValue(value)GetValue - Gets the object's value
- Returns 1 value: value [string]
- Note: This method is an alias of GetText()
local value = object:GetValue()


Python Tkinter MessageThe Message widget is used to show the message to the user regarding the behaviour of the python application. The message widget shows the text messages to the user which can not be edited. The message text contains more than one line. However, the message can only be shown in the single font. The syntax to use the Message widget is given below. SyntaxA list of possible options is given below.
ExampleOutput:
Next TopicPython Tkinter Radiobutton
|
Python Tkinter MessageThe Message widget is used to show the message to the user regarding the behaviour of the python application. The message widget shows the text messages to the user which can not be edited. The message text contains more than one line. However, the message can only be shown in the single font. The syntax to use the Message widget is given below. SyntaxA list of possible options is given below.
ExampleOutput:
Next TopicPython Tkinter Radiobutton
|
Python Tkinter MessageThe Message widget is used to show the message to the user regarding the behaviour of the python application. The message widget shows the text messages to the user which can not be edited. The message text contains more than one line. However, the message can only be shown in the single font. The syntax to use the Message widget is given below. SyntaxA list of possible options is given below.
ExampleOutput:
Next TopicPython Tkinter Radiobutton
|
Python Tkinter MessageThe Message widget is used to show the message to the user regarding the behaviour of the python application. The message widget shows the text messages to the user which can not be edited. The message text contains more than one line. However, the message can only be shown in the single font. The syntax to use the Message widget is given below. SyntaxA list of possible options is given below.
ExampleOutput:
Next TopicPython Tkinter Radiobutton
|


This code shows you how to split one text the user typed into two or multiple strings, can be useful if you are making an application or game and you want the user to type something like "equip sword" or something like that. This application will split the word into two words, "equip" and "sword" and you can check the action which is "equip" and perform certain actions like in this case it will equip a sword.
Splitting two strings:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#include <iostream>
using namespace std;
#define NUM 20
inline void splitString(char c[])
{
//These are used to hold the temporary words like "equip" or "sword"
char tempchar1[NUM] = " ";
char tempchar2[NUM] = " ";
//This checks through the whole text typed until it reaches a space
for(int i = 0; i < NUM;i++)
{
//Assigns the first word to the tempchar1
tempchar1[i] = c[i];
//Checks if it has reached a space
if(c[i + 1] == ' ')
{
//Used to assign the second word to tempchar2
for(int r = i + 2;r < NUM;r++)
{
tempchar2[r - (i + 2)] = c[r];
}
i = NUM;
}
}
//Prints the two characters
cout << "tempchar1 = \"" << tempchar1 << "\"" << endl <<
"tempchar2 = \"" << tempchar2 << "\"" << endl;
}
int main()
{
char Char[NUM];
cin.getline(Char, NUM);
splitString(Char);
system("pause");
return 0;
}
| |
If you want to have more than one item you can do something like this
Splitting three strings:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#include <iostream>
using namespace std;
#define NUM 20
inline void splitString(char c[])
{
char tempchar1[NUM] = " ";
char tempchar2[NUM] = " ";
char tempchar3[NUM] = " ";
for(int i = 0; i < NUM;i++)
{
tempchar1[i] = c[i];
if(c[i + 1] == ' ')
{
for(int r = i + 2;r < NUM;r++)
{
tempchar2[r - (i + 2)] = c[r];
if(c[r + 1] == ' ')
{
for(int q = r + 2; q < NUM;q++)
{
tempchar3[q - (r + 2)] = c[q];
}
r = NUM;
}
}
i = NUM;
}
}
cout << "tempchar1 = \"" << tempchar1 << "\"" << endl <<
"tempchar2 = \"" << tempchar2 << "\"" << endl <<
"tempchar3 = \"" << tempchar3 << "\"" << endl;
}
int main()
{
char Char[NUM];
cin.getline(Char, NUM);
splitString(Char);
system("pause");
return 0;
}
| |
An output can look something like this -
This can be very useful when creating worded games and you want them to write spell then the target or something like that, There are endless possibilities with this.
This is one example program of how to use this unique function -
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
#include <iostream>
#include <string>
using namespace std;
#define CHAR 30
//Prototypes
void getUserI();
int main();
void catchErrors(char error[CHAR]);
//Convention - c infront of a name = current
int maxhp = 100, pHp = maxhp;
int maxmana = 100, cmana = maxmana;
int playerChoice, numWeapsInInventory = 3;
string tagWeap = "";
int lvl = 12, strength = 1, intelligence = 3, dexterity = 8, agility = 4, maxWeapons = 3;
string cweapon = "Fist", playerJob = "Farmer", playerName = "Demon Slayer";
bool exitGame = false;
void showStat()
{
system("cls");
cout << "\tName : " << playerName << "\n\nWeapon : " << cweapon << "\n\n" << "\tJob : " << playerJob << "\n";
cout << "\tLvl : " << lvl << "\n\tHealth : " << pHp << "/" << maxhp << "\n";
cout << "\tMana : " << cmana << "/" << maxmana << "\n\n";
cout << "Strength : " << strength << "\n" << "Intelligence : " << intelligence << "\n";
cout << "Dexterity : " << dexterity << "\n" << "Agility : " << agility << "\n\n";
}
void catchErrors(int error)
{
switch(error)
{
case 1:
cout << "You did not type an action, please try again" << endl;
break;
default:
cout << "ERROR in catchErrors. You should not see this!!" << endl;
break;
}
getUserI();
}
void decipherChar(char c[CHAR])
{
//Temporary holding characters to hold the action and another variable needed to split
char tempchar[CHAR] = " ";
char tempchar2[CHAR] = " ";
//Checks the char c letter by letter
for(int i = 0; i < CHAR; i++)
{
//Assigns the letters one by one to the tempchar
tempchar[i] = tolower(c[i]);
//Checks if it has reached a space or the null character - used for just actions etc exit
if(c[i + 1] == ' ' || c[i + 1] == '\0')
{
// equip
if(tempchar[0] == 'e' && tempchar[1] == 'q' && tempchar[2] == 'u' && tempchar[3] == 'i' && tempchar[4] == 'p')
{
//Goes through the second part of the string
for(int w = 6;w < CHAR; w++)
{
//Makes sure that it wont add any weird characters for the other 20 or so elements of the array
if(c[w] != '\0')
{
//Assigns the first array in tempchar2 to the weapon
tempchar2[w - 6] = tolower(c[w]);
}
else break;
}
cout << "You eqipped " << tempchar2 << endl;
//Assigns the weapon
cweapon = tempchar2;
}
// stat
else if(tempchar[0] == 's' && tempchar[1] == 't' && tempchar[2] == 'a' && tempchar[3] == 't')
{
showStat();
}
// exit
else if(tempchar[0] == 'e' && tempchar[1] == 'x' && tempchar[2] == 'i' && tempchar[3] == 't')
{
exitGame = true;
main();
}
else
{
catchErrors(1);
}
//sets i to char so the for loop ends
i = CHAR;
}
}
//Goes back to asking the user another choice
getUserI();
}
void getUserI()
{
char choice[CHAR];
//Gets the whole line that the user has typed in including spaces and everything
cin.getline(choice, CHAR);
decipherChar(choice);
}
int main()
{
if( exitGame != true)
{
getUserI();
}
system("pause");
return 0;
}
| |
By the way, the exit does not work properly and some variables may have been unused but this is an example of how to implement this function into your program, There may be better ways and i may post that up another time maybe using classes but this way is pretty good for now. Have fun.
By Sean Genge


Building a Numeric Analysis Use-Case.Description:Builds a numerical analysis such as the Full Sequential Modular Analysis, the Partitioning Analysis, the Tearing Analysis or the Sequencing Analysis.Assumptions:None.Exceptions:None.


ifup
Section: System Administration tools and Daemons (8)Updated: 2009-10-27
Index Return to Main Contents
NAME
ifup - bring a network interface upifdown - take a network interface down
SYNOPSIS
ifup IFACE [boot]ifdown IFACE
DESCRIPTION
The ifup and ifdown commands may be used to configure (or, respec- tively, deconfigure) network interfaces based on interface definitions in the files /etc/sysconfig/network and /etc/sysconfig/network-scripts/ifcfg-<configuration>These scripts take one argument normally: the name of the configuration (e.g. eth0). They are called with a second argument of "boot" during the boot sequence so that devices that are not meant to be brought up on boot (ONBOOT=no, see below) can be ignored at that time.
FILES
- /etc/sysconfig/network
-
- /etc/sysconfig/network-scripts/ifcfg-<configuration>
-
The file defining an interface.
SEE ALSO
/usr/share/doc/initscripts-*/sysconfig.txt
Index
This document was created by man2html, using the manual pages.
Time: 05:34:26 GMT, December 24, 2015


Toggle navigation
Menu
Katalyst
Pr
About
Contact
Welcome User
Start your Feedback
Feedback Form
Please Help Us To Get BETTER
An asterisk (
*
) indicates a mandatory field.
Name
*
Email
*
Telephone
Mentor Rating (Between 1-5)
Any other Issues
*
Message
*
For your better Future ...Please reach us
*
For more info Contact: Miss Anjali(9876555566)
Close
Date:
2016
Service:
Thank You
Close
Thank You
Close
About


i2s_ASN1_IA5STRING, s2i_ASN1_IA5STRING, i2s_ASN1_INTEGER, s2i_ASN1_INTEGER, i2s_ASN1_OCTET_STRING, s2i_ASN1_OCTET_STRING, i2s_ASN1_ENUMERATED, i2s_ASN1_ENUMERATED_TABLE, i2s_ASN1_UTF8STRING, s2i_ASN1_UTF8STRING - convert objects from/to ASN.1/string representation
#include <openssl/x509v3.h>
char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5);
ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, const char *str);
char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a);
ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value);
char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
const ASN1_OCTET_STRING *oct);
ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, const char *str);
char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED *a);
char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *method,
const ASN1_ENUMERATED *e);
char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,
ASN1_UTF8STRING *utf8);
ASN1_UTF8STRING *s2i_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, const char *str);
These functions convert OpenSSL objects to and from their ASN.1/string representation. This function is used for X509v3 extensions.
The letters i and s in i2s and s2i stand for "internal" (that is, an internal C structure) and string respectively. So i2s_ASN1_IA5STRING() converts from internal to string.
It is the caller's responsibility to free the returned string. In the i2s_ASN1_IA5STRING() function the string is copied and the ownership of the original string remains with the caller.
i2s_ASN1_IA5STRING() returns the pointer to a IA5 string or NULL if an error occurs.
s2i_ASN1_IA5STRING() return a valid ASN1_IA5STRING structure or NULL if an error occurs.
i2s_ASN1_INTEGER() return a valid string or NULL if an error occurs.
s2i_ASN1_INTEGER() returns the pointer to a ASN1_INTEGER structure or NULL if an error occurs.
i2s_ASN1_OCTET_STRING() returns the pointer to a OCTET_STRING string or NULL if an error occurs.
s2i_ASN1_OCTET_STRING() return a valid ASN1_OCTET_STRING structure or NULL if an error occurs.
i2s_ASN1_ENUMERATED() return a valid string or NULL if an error occurs.
s2i_ASN1_ENUMERATED() returns the pointer to a ASN1_ENUMERATED structure or NULL if an error occurs.
s2i_ASN1_UTF8STRING() return a valid ASN1_UTF8STRING structure or NULL if an error occurs.
i2s_ASN1_UTF8STRING() returns the pointer to a UTF-8 string or NULL if an error occurs.
i2s_ASN1_UTF8STRING() and s2i_ASN1_UTF8STRING() were made public in OpenSSL 3.0.
Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.


Cyclist is an efficient cyclic list implemention for Javascript. It is available through npm
npm install cyclist
Cyclist allows you to create a list of fixed size that is cyclic. In a cyclist list the element following the last one is the first one. This property can be really useful when for example trying to order data packets that can arrive out of order over a network stream.
``` js var cyclist = require(‘cyclist’); var list = cyclist(4); // if size (4) is not a power of 2 it will be the follwing power of 2 // this buffer can now hold 4 elements in total
list.put(42, ‘hello 42’); // store something and index 42 list.put(43, ‘hello 43’); // store something and index 43
console.log(list.get(42)); // prints hello 42 console.log(list.get(46)); // prints hello 42 again since 46 - 42 == list.size ```
cyclist(size)
creates a new buffercyclist#get(index)
get an object stored in the buffercyclist#put(index,value)
insert an object into the buffercyclist#del(index)
delete an object from an indexcyclist#size
property containing current size of bufferMIT


|
|
Places of interest in Mumbai
Mumbai is the financial, commercial and entertainment capital of India. The seven islands that came to constitute Mumbai were home to communities of fishing colonies. For centuries, the islands were under the control of successive indigenous empires before being ceded to the Portuguese and subsequently to the British East India Company. Mumbaiís cultural attractions include monuments and museums, colonial forts and hill stations, but downtown Mumbai also offers excellent shopping and dining. The Arabian Sea coastline is characterized by picturesque fishing villages surrounded by coconut groves, with a few developed beach resorts such as Goa, Manori and Madh Island. Western India is also renowned for its cave systems, the most rominent including the Ellora and Ajanti Caves, which contain ancient carvings and rock paintings.
go to top
Home Developed by SUGATO CHAKRABORTY (currently pursuing B.Tech in CSE from West Bengal University of Technology, developer at Boscom Software,2014)
|
|


--- layout: default title: 404 ---
Requested resource is unavailable —
I can't seem to find the page you're looking for.


Save money on NHS prescriptions by prepaying for them.
You can pay a set price for prescriptions for 3 or 12 months, no matter how many you need.
A prescription costs £8.60 per item, but prepaying for an unlimited number of prescriptions is:
- £29.10 for 3 months
- £104 for 12 months (or 10 Direct Debit instalments of £10.40)
How it works
At the end of this service we will give you a prepayment certificate which includes:
- a prepayment number
- a start date
- an end date
You can use these to collect prescriptions straight away, if your start date is today or earlier.
You can choose to print out your certificate details or get them sent by text and email. This is not essential as you can access your details online anytime.
Collecting prescriptions
Tick box 'F' on the back of your prescription.
Pharmacy staff ask for prepayment details. If you do not have them with you, they tick 'Evidence not seen' on the prescription. They will not charge you.
We prevent fraud by matching prepayment details on our database with prescriptions.


Location Area Bangmod Thungkru Rent Cost (Thai Bath) Less than 5000 5001 - 7500 7501 - 10000 Unlimited Rent Period (Month) Date Moving Find Room Search Result King Apartment Bangmod room Mangkorn Junroongrit Ben's Room Jordi Room Gante Apartment Modric Apartment Yo Room Totti Room


bash alias in rofi
Dependencies:
- rofi
- bash shell
Setup:
first create your bash alias file(~/.bash_aliases):
alias | awk -F'[ =]' '{print $2}'
alias wpr='~/.config/i3/wp.sh'
the first line is for rofi to know how aliases look like
the second line is an example alias
make sure that your bashrc(~/.bashrc) is looking for your file(.bash_aliases):
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
and last you have to configure your run command like this:
rofi -run-list-command ". ~/.bash_aliases" -run-command "/bin/bash -i -c '{cmd}'" -show run
I use i3wm so I add in my config(.config/i3/config):
bindsym $mod+d exec rofi -run-list-command ". ~/.bash_aliases" -run-command "/bin/bash -i -c '{cmd}'" -show run
Explanation:
- .bashrc gets the bash aliases via .bash_aliases
- rofi knows what aliases are withe the first line in .bash_aliases
- the rofi run command is configured too look up .bash_aliases and include them in run


Create pretty tables for 'HTML', 'Microsoft Word' and 'Microsoft PowerPoint' documents. Functions are provided to let users create tables, modify and format their content. It extends package 'officer' that does not contain any feature for customized tabular reporting and can be used within R markdown documents when rendering to HTML and to 'Microsoft Word' documents.
| Version: | 0.4.6 |
| Imports: | stats, utils, grDevices, officer (≥ 0.2.0), rmarkdown, knitr, htmltools, R6, stringr, xml2, gdtools (≥ 0.1.6) |
| Suggests: | testthat, xtable |
| Published: | 2018-10-31 |
| Author: | David Gohel [aut, cre], Maxim Nazarov [ctb] (rmarkdown for docx output) |
| Maintainer: | David Gohel <david.gohel at ardata.fr> |
| BugReports: | https://github.com/davidgohel/flextable/issues |
| License: | GPL-3 |
| URL: | https://davidgohel.github.io/flextable |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | flextable results |
| Reference manual: | flextable.pdf |
| Vignettes: |
Examples Format flextable objects Table layout flextable overview |
| Package source: | flextable_0.4.6.tar.gz |
| Windows binaries: | r-devel: flextable_0.4.6.zip, r-release: flextable_0.4.6.zip, r-oldrel: flextable_0.4.6.zip |
| OS X binaries: | r-release: flextable_0.4.6.tgz, r-oldrel: flextable_0.4.6.tgz |
| Old sources: | flextable archive |
| Reverse imports: | augmentedRCBD, clickR, customLayout, EpiReport, export, microplot, rrtable, SWMPrExtension, WordR, ztable |
| Reverse suggests: | atable, huxtable, Mediana, munsellinterpol |
Please use the canonical form https://CRAN.R-project.org/package=flextable to link to this page.


HAPI 2.0 server verifier. See verifier-nodejs for source code for tests.
?url=URL
?url=URL&id=ID
?url=URL&id=ID¶meter=PARAMETER
?url=URL&id=ID¶meter=PARAMETER&time.min=HAPITIME&time.max=HAPITIME
?url=URL&...&version=VERSION
. The allowed values of VERSION are 2.0
and 2.0-1
. Verision 2.0-1
contains schema corrections from the 2.0
version.
Only a URL
that ends in /hapi
is required. Only one ID
and one PARAMETER
may be specified (a comma-separated list is not supported).
When only a URL
is provided, all datasets and all parameters are checked. For data requests, time.min=sampleStartDate
and time.max=sampleStopDate
are used if both are given in a dataset's /info
response; otherwise time.min=startDate
and time.max=startDate+P1D
from the /info
response are used.
dataset1
only: ?url=http://hapi-server.org/servers/TestData/hapi&id=dataset1
scalar
in dataset1
: ?url=http://hapi-server.org/servers/TestData/hapi&id=dataset1¶meter=scalar
scalar
in dataset1
and use a given timerange for data requests: ?url=http://hapi-server.org/servers/TestData/hapi&id=dataset1¶meter=scalar&time.min=1970-01-01&time.max=1970-01-01T00:00:10
The following URLs are tested when the verifier is updated.


Scope Seepage (Clean)
It's easy to accidentally drop references into the root object where they cannot be cleaned.
Start!


menu
{{title}}
search
* nickname
* iconColor
all
red
orange
yellow
green
blue
purple
pink
monochrome
* LogOut
<<
delete
검색
취소


Publish a simple event containing to data. Open a 2nd browser window/tab and you see events being received.
Publish an event containing data.
Publish to a Topic URI which was never registered for PubSub on server side. Events published to such topics are transmitted to server, but silently ignored and never dispatched.


{% extends "layout.html" %} {% block css %} {% endblock %} {% block script %} {% endblock %} {% block content %}
...
Business category is necessary for all maps.
Rating level is necessary for the Price map.
Price level is necessary for the Rating map.
Region is necessary for all maps.


Spain's far-left Podemos says wants to build government with Socialists
MADRID (Reuters) - The leader of Spain’s far-left Unidas Podemos party, who failed to form a coalition government with the Socialists after last April’s elections, said on Sunday he was still hopeful of reaching a government deal following Sunday’s repeat election.
Pablo Iglesias said he was ready to start talks with the Socialist Party of acting Prime Minister Pedro Sanchez as soon as on Monday.
The two parties, however, do not have enough seats for a parliamentary majority and would need to negotiate support with other forces in a highly fragmented lower house.


Please use another device
This device is too small for this website..
Varun Engineering Work
Loading . . .
An ISO 2000:2022 certified company
Hand Operated Rotary Pipe Cutter with best technology to cuts the Cast Iron, Ductile Iron and Mild Steel pipes with four wheel cutters with only 45° to 60° clearance and its spring action guide helps to alignment on pipe for correct cutting. Wheels cutters are made of high shock resistant tool steel. It is used at trenches, running pipe lines where under water, in pits and in noise free zones etc and it is normally available up to 24° and 30° and 36° on request.
|
Prod. No. |
Size (Inch) |
Wt. Kgs. |
|
306A |
3-6 |
22.5 |
|
306B |
6-9 |
28.3 |
|
306C |
9-12 |
32.3 |
|
306D |
12-15 |
35.3 |
|
306E |
15-18 |
85.0 |
|
306F |
21-24 |
82.0 |
|
306G |
30 |
186.0 |
|
306H |
36 |
210.0 |
Tel. :-<PHONE_NUMBER>1,
Mob. :-<PHONE_NUMBER>5,<PHONE_NUMBER>5


“A single pint can save three lives, a single gesture can create a million smiles”
Check out what you can do with this app!
“You’re somebody’s type”!

“Heroes come in all types and sizes”!
“Spare only 15 minutes and save one life”!


ANGA UTM
This is a LAANC (Low Altitude Authorization and Notification Capability) to UTM (UAV Traffic Management) implemetation for drones / UAS / RPAS. It includes drone Registrations, drone flight plans, drone Geofences and drone approvals
It is a PWA (Progressive Web App) purely done in Django/python
Overview
The software is a LAANC implementation. LAANC is Low Altitude Airspace Authorization and Notifications.
- Registration
- Flight Plans submission and Authorization.
- Geofences.
- NOTAM and Notifications
Full Documentation ↗🔗
Install Instructions
The new version of the app works best on linux/MacOS environment. For windows installation, kindly check out the official Django documentation to install GEOS and GDAL libraries and how to configure them. Alternatively, I can recommend you install Windows Subsystem for Linux (WSL) and use the Ubuntu environment inorder to install the dependacies using the steps below
Steps
Clone the repo
git clone https://github.com/geoffreynyaga/ANGA-UTM.git
create a python virtualenvironment
virtualenv venv
activate the virtualenvironment
source venv/bin/activate
install python packages
pip install -r requirements.txt
install geojango Geospatial Libraries packages
sudo apt-get install binutils libproj-dev gdal-bin
-
create a postgres database on called "anga_utm" or equivalently give it a custom name and make sure to change the value in the local.py settings file
-
run migrations
python manage.py migrate
create superuser
python manage.py createsuperuser
-
log in to the admin and under "Authentication and Authorization" create a group called CAA and give the group the relevant permissions that Civil Aviation requires e.g. changing reserved airspaces, adding/changing NOTAMs
-
One more thing... By default, the application is country-specific, and the default country is Kenya, but this constraint can be removed.
If you log in the app, the map will awlays be bound to Kenyan borders. To cahnge this to another country, draw a box on Google maps/earth that covers the entire country of your choice. Then get the North East lattitude/longitude as well as South Eastern lat/long of the bounding box
An example for Kenya can be seen in the image below
- Finally, take those values and insert them in
applications/templates/applications/airspaces.html
in this line
bounds = new L.LatLngBounds(new L.LatLng(<northEastLatitude>,<northEastLongitude>), new L.LatLng(<southWestlattitude>, <southWestLongitude>));
Now the app should be working well. However, you will realise that you can not create a reserve airspace yet, and that you have to have an RPAS registered, which when you attempt does not go through because you are not registered to any organisation.
This is a deliberate design choice, you have to register an organisation on the admin page
http://localhost:8000/admin
and add the user to that organisation. This is the supposed role that Civil Aviation bodies will have to play.Finally, you can create a user in the admin page and make sure to assign them to the
CAA
group that we created in on of the steps above. If you now login with this user on the site, you should have additional features such asApprove Flight Plans
,Create Notams
etc.


Table2Model: Documentation
This library has been created to parse models published in table format into valid SBML objects