Branches Manager
Main Page
Log Out
Add Issue
Change branch to this issue
Servers
Add Issue
Add Server
Add Server
Set Issue For Server
Servers
Issues
Set


Provides the base class and ParserElement base class to do initial parsing on the MsgObject.
ParserElement is a Java class that implements a few methods
-
preProcess()
-
process()
-
postProcess()
-
a few others
Also contains a Hashtable to store name/value pairs (actually, it has a MsgObject and uses the enhanced hashtable found in there).
Key method is process() - it understands the grammar and how to parse it into name/value pairs and stores them in the Hashtable
Table:OAGCOMMON~Field:FLIGHTNO~Order:1 becomes:
Table = OAGCOMMON
Field = FLIGHTNO
Order = 1
Pre- and Post- process allow additional changes to be made for special cases
Process can be overwritten to do other special processing as well
The MraldParser uses the list of ParserElements is in parser.props file to determine which name/value pairs in the MsgObject to process.


The rest4jmx is a simple service that exposes a Java MBeanServer as a restful API with JSON or JSONP as data protocol. With the service is is possible to:
The service either generates JSON data as application/json or JSONP data as application/x-javascript. To get JSONP use a callback parameter named "callback".
URL: mbeans/domain[?callback=FUNCTION_NAME], for example mbeans/domains
Returns an array of domain names, for example:
["JMImplementation","com.sun.management","org.apache.derby","solr","java.lang","java.util.logging","com.polopoly"]
URL: mbeans/domains/DOMAIN[?callback=FUNCTION_NAME], for example mbeans/domains/java.lang
Returns a domain object containing the domain name and a list of mbean names, for example:
{"domain":"java.lang","mbeans":["java.lang:type=MemoryPool,name=PS Eden Space"]}
URL: mbeans/MBEAN_NAME[?callback=FUNCTION_NAME], for example mbeans/com.polopoly:host=pra-desktop, application=indexserver, module=cm, component=modulecmclient, detailLevel=FINE, group=CacheTimer, name=LockService
Returns an mbean object containing the name of the mbean and an attribute object containing all attributes and their values, for example:
{"name":"com.polopoly:host=pra-desktop,application=indexserver,module=cm,component=modulecmclient, detailLevel=FINE,group=CacheTimer,name=LockService", "attributes":{"unlock":"0 0 0ms","getLocks":"0 0 0ms"}}
URL: mbeans/MBEAN_NAME/ATTRIBUTE_NAME[?callback=FUNCTION_NAME], for example mbeans/com.polopoly:host=pra-desktop, application=indexserver, module=cm, component=modulecmclient, detailLevel=FINE, group=CacheTimer, name=LockService/unlock
Returns and attribute object with a value, for example:
{"name":"com.polopoly:host=pra-desktop,application=indexserver,module=cm,component=modulecmclient, detailLevel=FINE,group=CacheTimer,name=LockService", "attribute":"unlock","value":"0 0 0ms"}
The MBean tree viewer is both an example and a way to view which mbeans are available.


One day a female crocodile told her husband that she could not eat
any kind of food except the lungs of a monkey.
The husband replied that he would bring her the desired food.
The next morning, he started hunting for a monkey.
Finally, he found one on top of a guava tree.
The crocodile said, Oh my dear monkey,
why are you eating the leaves of the guava tree?
There are plenty of delicious fruits near my bathing place.
Is that so? asked the monkey.
Yes, replied the crocodile,
Just go with me, ride on my back and I will take you there.
The monkey gratefully agreed,
and right away stepped on the back of the crocodile.
When they were in the middle of the river the crocodile said,
Mr. Monkey, now that I have caught you,
I must take your lungs for my beloved wife's food.
My lungs!... the monkey exclaimed in mock surprise.
I have left them on the guava tree yonder.
If you need them let us go back and get them.
The crocodile immediately brought the monkey back to the shore,
and upon reaching the land, the monkey hastily climbed up the guava tree and cried out
to the crocodile: Oh, foolish crocodile!

The crocodile was very much disappointed,
so he decided to think of another plan of capturing his prey.
The next day, the crocodile went to the bathing place of the monkey.
When the monkey took a bath the crocodile caught one of his legs.
Do not bite my cane, my friend crocodile. This is the only cane I have.
Please let it loose.
The crocodile released the monkey's leg,
believing that it was not his leg but his cane.
Again the monkey escaped from death and was happy.
The crocodile's plan to bring lungs to his wife was a failure.
- THE END -


VEE'05 Conference Program
Featuring keynote talks by
Saturday, June 11
8:30-8:45 Welcome
8:45-10:00 Keynote Talk James E. Smith,
University of Wisconsin
A Unified View of Virtualization
10:00-10:30 Break
10:30-12:30 Scalability, Performance, and Real-Time
Friendly Virtual Machines: Leveraging a Feedback-Control Model for Application Adaptation
Yuting Zhang, Azer Bestavros, Mina Guirguis, Ibrahim Matta, Richard West
Diagnosing Performance Overheads in the Xen Virtual Machine Environment
Aravind Menon, Jose Santos, Yoshio Turner, G. (John) Janakiraman,
Willy Zwaenepoel
Supporting Per-Processor Local-Allocation Buffers Using Lightweight User-Level Preemption Notification
Alex Garthwaite, Dave Dice, Derek White
A Programmable Microkernel for Real-Time Systems
Christoph Kirsch, Marco Sanvido, Thomas Henzinger
Module Aware Translation for Real-Life Applications
Jianhui Li, Peng Zhang, Orna Etzion
Planning for Code Buffer Management in Distributed Virtual Execution Environments
Shukang Zhou, Bruce Childers, Mary Lou Soffa
Inlining Java Native Calls at Runtime
Levon Stepanian, Angela Demke Brown, Allan Kielstra, Gita Koblents,
Kevin Stoodley
Optimized Interval Splitting in a Linear Scan Register Allocator
Christian Wimmer, Hanspeter Moessenboeck
12:00-1:30 Lunch
1:30-3:00 Language Representations
An Execution Layer for Aspect-Oriented Programming Languages
Michael Haupt, Mira Mezini, Christoph Bockisch, Tom Dinkelaker,
Michael Eichberg, Michael Krebs
Virtual Machine Showdown: Stack Versus Registers
Yunhe Shi, David Gregg, Andrew Beatty, M. Anton Ertl
Instrumenting Annotated Programs
Marina Biberstein, Vugranam Sreedhar, Bilha Mendelson, Daniel Citron,
Alberto Giammaria
3:00-3:30 Break
3:30-4:30 Distributed VEEs
PDS: A Virtual Execution Environment for Software Deployment
Bowen Alpern, Joshua Auerbach, Vasanth Bala, Thomas Frauenhofer, Todd Mummert, Michael Pigott
The Entropia Virtual Machine for Desktop Grids
Brad Calder, Andrew Chien, Ju Wang, Don Yang
HyperSpector: Virtual Distributed Monitoring Environments for Secure Intrusion Detection
Kenichi Kourai, Shigeru Chiba
Virtualization technologies have been developed by a number of computer science and engineering disciplines, sometimes independently, often by different groups and at different times. Not surprisingly, these groups each view virtualization as a sub-discipline, so it is studied in a fragmented way. In the future, however, virtualization will become an essential part of all computer systems by providing smart interconnection mechanisms for the three major system components -- application software, system software, and hardware. Consequently, the study of virtualization technologies will become a discipline in its own right and will stand on equal footing with the other major areas of computer systems design.
BioJames E. Smith is a professor in the Department of Electri- cal and Computer Engineering at the University of Wisconsin- Madison. He received his PhD in 1976 from the University of Illinois. Since then, he has been involved in a number of computer research and development projects as a faculty mem- ber at Wisconsin and in industry (Control Data Corporation, Astronautics Coporation, Cray Research). Currently, he and his research group are studying the virtual machine abstrac- tion as a technique for providing high performance and power efficiency through co-design and tight coupling of virtual machine hardware and software. Prof. Smith recieved the ACM/IEEE 1999 Eckert-Mauchly Award for contributions to the field of computer architecture. He is co-author with Ravi Nair of a book on virtual machines soon to be published by Morgan Kaufmann.
Application servers provide an environment for running business and web applications. By virtualizing threads, data and processing resources, memory and users, they provide the simplifying illusion for the programmer that the application is interacting with a single user, is running alone on the server, and is the sole user of resources, while allowing an efficient realization that scales with the number of users, and available hardware. They also provide a virtual environment where security enforcement and demarcation of transaction boundaries are automatic. This talk will describe some of the major features of modern application servers and show how concepts of virtualization are fundamental to their design and realization.
BioMartin Nally is an IBM Distinguished Engineer who joined IBM in 1990 with 10 years prior industry experience. He was the lead architect and developer for IBM VisualAge/Smalltalk, and lead architect and overall development manager for IBM WebSphere Studio. He has been designing tools for application server programming and designing application server programming model abstractions for over 10 years. His current titles are Chief Architect, Rational Desktop Tools, and co-chair of the IBM Software Group programming model workgroup.


Ugandans sweep all at MTN Marathon
by URNUgandan runners won the 42km, 21km and 10km races as hundreds of runners turned up Sunday morning to participate in the MTN Kampala Marathon focused on fundraising cash to improve maternal health in the country.
This is a wrap up of all the marathons that the organisation has run in different regions this year. Denis Cherotich won the men's side for 10km while Sauline Chelangat won the females race. Each received a cash prize of Shs 1.5 million.
On the 21km, Jacob Kiplimo and Juliet Chekwei took the race, with each receiving Shs 4.5m. The 42km race was won by Phillip Kiplimo with 02:13:56 on the clock. Nyakisi Adero won over the female side in the 42km.
Kenyans participated in the race but were all beaten to the prize. Wim Vanhelleputte, the MTN Uganda, CEO said he hoped the proceeds from the marathon will reduce an estimated 336 deaths per 100,000 live births in Uganda.
Dr Ruth Aceng, the minister of Health and the chief guest who flagged off the marathoners hailed the support and said: “no mother should die while giving life to a child.”
For most people, the marathon was an avenue for having fun. As soon as they were flagged off, a host of them were seen taking selfies to post on social media for their friends. For most companies that sponsored the marathon, the sheer numbers of the people that turned up gives them a pie on brand recognition. Huawei, a Chinese phone maker and the main sponsor, gave out tens of freebies like t-shirts, power banks and phones.
The company has not announced the amount of money that had been collected.


Home
Medical Record Detail
Select appointment:
Medicine Prescription
Foods Prescription
Practices Prescription


a simple web page to quickly create table of content markdown for GitHub markdown files
https://github.com/imthenachoman/nGitHubTOC
I could never find an easy to use, online table-of-content maker for GitHub markdown files. There were many solutions that required downloading or installing something on my computer. For such a trivial task I felt that was unnecessary.
This page just uses JavaScript to extract headings from a markdown file and return table-of-content markdown.
| markdown input | table of content output |
|---|---|
|
|
|


@(salutation: Html, resetLink: String, logoUrl: String) @emailHtml( salutation, Html(s"""
You're already signed-up up for Tododo using this email address. If you've forgotten your password you can reset it by clicking here.


Gofpdf: Creating a Pdf From a Text File
I plan to create some examples using the gofpdf package, hopefully useful in their own right.
The first example creates a PDF file from a text file or STDIN. Here are a couple of use cases taken from the “readme”:
- Example 1: create a PDF of the source code, using a courier font.
go run textToPdf.go -i textToPdf.go -font Courier -o $HOME/data/textToPdf.pdf
- Example 2: cram as much as possible onto the page, using 8 point font and 8 point line height.
go run textToPdf.go -lh 8 -fs 8 -i textToPdf.go -font Courier -o $HOME/data/textToPdf.pdf
The repo is here. I hope to create some other examples soon!


{% define "title" %}2015 I/O Extended event{% end %}
{% define "mastheadBgClass" %}bg-dark-grey{% end %}
{% define "masthead" %}
Register your 2015 I/O Extended event
{% end %}
{% define "content" %}
How it works
This page will help you fill out the I/O Extended registration form by pre-populating it with your event information.
Steps to register your Extended event
Create a Google+ Event for your 2015 I/O Extended event. To do so, go to https://plus.google.com/events and click "Create Event".
In the form below, search for the address of your event and select the result that best matches your location from the dropdown.
Visually confirm the pin is at your event location. If it's not correct, adjust the marker by dragging it to the correct location on the map. If Google Maps cannot find your location, double click the map and move the pin to the correct location.
Once you are done, click "Go to the registration form". We'll open the I/O Extended registration form with your location information pre-populated.
Finish filling out the I/O Extended registration form. Agree to the Terms & Conditions at the bottom and click "Submit".
 Your event will be featured on the 2015 I/O Extended map on the I/O Website soon.


Apache Mesos 1.1.1 Released
Posted by AlexR, March 14, 2017
The Mesos blog is a place for announcements and for project committers to highlight features of the software.
Posted by AlexR, March 14, 2017
Posted by Adam, March 8, 2017
Posted by Anand Mazumdar, December 20, 2016
Posted by Till Toenshoff, November 10, 2016
Posted by Vinod Kone, August 23, 2016
Posted by Vinod Kone, July 27, 2016
Posted by Michael Park, July 21, 2016
Posted by Jie Yu, June 19, 2016
Posted by Jie Yu, June 13, 2016
Posted by Michael Park, April 12, 2016
Posted by Vinod Kone, March 17, 2016
Posted by Michael Park, March 7, 2016
Posted by Michael Park, February 22, 2016
Posted by Michael Park, February 12, 2016
Posted by Kapil Arya, February 2, 2016
Posted by Till Toenshoff, December 16, 2015
Posted by Niklas Q. Nielsen, October 12, 2015
Posted by Casey Bisson, September 30, 2015
Posted by Adam B, September 24, 2015
Posted by Vinod Kone, September 21, 2015
Posted by Michael Hausenblas, September 17, 2015
Posted by Michael Hausenblas, August 5, 2015
Posted by Adam B, July 29, 2015
Posted by Steven Borrelli, July 28, 2015
Posted by Dave Lester, July 13, 2015
Posted by Dave Lester, July 1, 2015
Posted by Adam B, May 12, 2015
Posted by Niklas Q. Nielsen, March 25, 2015
Posted by Tim Chen, January 20, 2015
Posted by Dave Lester, January 14, 2015
Posted by Ian Downes, November 17, 2014
Posted by Adam B, September 23, 2014
Posted by Jie Yu, September 3, 2014
Posted by Dave Lester, July 24, 2014
Posted by Ben Mahler, July 21, 2014
Posted by Dave Lester, June 24, 2014
Posted by Ben Mahler, June 12, 2014
Posted by Dave Lester, June 11, 2014
Posted by Niklas Quarfot Nielsen, May 29, 2014
Posted by Ian Downes, April 10, 2014
Posted by Matt Trifiro, March 28, 2014
Posted by Jie Yu, March 13, 2014
Posted by Yan Xu, February 11, 2014
Posted by Vinod Kone, January 9, 2014
Posted by Apache Mesos, December 16, 2013
Posted by Ben Mahler, November 12, 2013
Posted by Vinod Kone, October 23, 2013


Vision And Ideology Of E-Cell
Our Team
CBI Solutions is a Management & Technology Consulting firm which provides cost effective solutions to global clients. They began as consulting company. IT consulting, investment consulting, financial consulting is our field. They design business-plans and provide investment and financial consult to SME of FDI. This is the work of the two innovators, NIKHIL GUPTA and ROHIT GUPTA of ABV-IIITM .They initially worked for BDISYS for 1 year. It gave them enough experience and presented their business-plan to venture investors. Then they started their company on 13-04-2008 in end of our 3rd year.They started with a very low amount and also found mentorship from BDISYS.
Bcube IT services Pvt. Ltd. is a premier provider of Business Process Outsourcing (BPO) solutions. They help a organization to elevate its performance, drive value into their business and help cut costs. Their policy is to attain unparalleled customer service with quality in processes powered by enthusiasm and sincerity at work. This was a small startup idea incubated at IIITM by MR. PUNEET CHANDRA
Four students of IPG - 8th semester Deepak Raj, Ravi prakash, Shialendra Tripathi and Amit Singh dejected by their failure to catch up any internship due to great bear figures on every market sensex decided not to trade off their talent and zeal for small firms. Instead they started creating their own web networks and this was when Quad InfoTech was born.
RealtyApple.com is a leading real estate consulting and marketing company. From strategic consulting right through to finding territory for customers, RealtyApple.com straddles the entire property management space. The idea came to Gaganpreet Singh for the first time in 2002, but it was in the year 2006 when he actually decided to become an entrepreneur. It was just by taking the right decision at the right time by which he managed to start up enterprise.


|
VSTGUI
4.1
Graphical User Interface Framework not only for VST plugins
|
It is now possible to create VSTGUI based interfaces via a XML description.
First let us see a simple example of XML text describing a VSTGUI view hierarchy:
<?xml version="1.0" encoding="UTF-8"?> <vstgui-ui-description version="1"> <bitmaps> <bitmap name="background" path="background.png"/> <bitmap name="slider-handle" path="slider-handle.png"/> <bitmap name="slider-background" path="slider-background.png"/> </bitmaps> <fonts>  </fonts> <colors> <color name="labelcolor" red="255" green="0" blue="255" alpha="255"/> </colors> <control-tags> <control-tag name="tag 1" tag="0"/> <control-tag name="tag 2" tag="1"/> </control-tags> <template name="MyEditor" size="500, 320" background-color="#000000DD" minSize="500, 320" maxSize="1000, 320" autosize="left right"> <view class="CViewContainer" origin="10, 10" size="480, 90" background-color="#FFFFFF22" autosize="left right"> <view class="CTextLabel" title="Test Label" origin="10, 10" size="80,20" transparent="true" font-color="labelcolor" font="labelfont"/> <view class="CSlider" control-tag="tag 1" origin="110, 10" size="260,20" handle-offset="3,3" bitmap="slider-background" handle-bitmap="slider-handle" autosize="left right"/> <view class="CTextEdit" control-tag="tag 2" origin="390, 10" size="80,20" back-color="slider-back" frame-color="slider-frame" font-color="labelcolor" font="labelfont" autosize="right"/> </view> </template> </vstgui-ui-description>
You need to write a XML text file like the one in the example shown above. On Mac OS X this xml file must be placed into the Resources folder of the bundle and on Windows it must be declared in the .rc file. To use the xml file to create views you have to write this code :
If view is non-null it was successfully created and you can add it to your CFrame object.
If you want to create your own custom views, you have two options:
Any bitmap you want to use with your views must be declared inside the bitmaps tag. Recognized attributes for the bitmap tag are:
Example:
<bitmaps> <bitmap name="background" path="background.png"/> </bitmaps>
Any font you want to use with your views must be declared inside the fonts tag. Recognized attributes for the font tag are:
Example:
<fonts>  </fonts>
You can define global colors within the colors tag. Recognized attributes for the color tag are:
Example:
<colors> <color name="labelcolor" rgba="#005566FF"/> <color name="labelcolor2" rgb="#005566"/> <color name="labelcolor3" red="0" green="85" blue="102" alpha="255"/> <color name="labelcolor4" green="85" blue="102"/>  </colors>
Colors can also be declared within the view tag for any color tag with one of the two hex notations.
VSTGUI controls are identified by tags. In the control-tags tag you map control tags to names. Recognized attributes in the control-tag tag are:
Example:
<control-tags> <control-tag name="tag 1" tag="0"/> <control-tag name="tag 2" tag="'abcd'"/> </control-tags>
Templates are the main views in XML. You can have more than one. Per default the template tag will create a CViewContainer view, but you can use the class attribute to create any view class you want. (If the template should have subviews, the class must be an inherited class from CViewContainer like CScrollView)


| Designed for use with JUnit and Ant. |
| Tests | Failures | Errors | Success rate | Time |
|---|---|---|---|---|
| 198 | 0 | 0 | 100.00% | 50.271 |
| Note: failures are anticipated and checked for with assertions while errors are unanticipated. |
| Name | Tests | Errors | Failures | Time(s) | Time Stamp | Host |
|---|---|---|---|---|---|---|
| org.tuckey.web.filters.urlrewrite | 165 | 0 | 0 | 49.492 | 2008-12-03T21:26:38 | L3W4052 |
| org.tuckey.web.filters.urlrewrite.functions | 3 | 0 | 0 | 0.078 | 2008-12-03T21:27:32 | L3W4052 |
| org.tuckey.web.filters.urlrewrite.json | 3 | 0 | 0 | 0.140 | 2008-12-03T21:27:32 | L3W4052 |
| org.tuckey.web.filters.urlrewrite.test | 6 | 0 | 0 | 0.078 | 2008-12-03T21:27:33 | L3W4052 |
| org.tuckey.web.filters.urlrewrite.utils | 21 | 0 | 0 | 0.483 | 2008-12-03T21:27:33 | L3W4052 |


Adding Storage Policies to an Existing SAIO¶
Depending on when you downloaded your SAIO environment, it may already be prepared with two storage policies that enable some basic functional tests. In the event that you are adding a storage policy to an existing installation, however, the following section will walk you through the steps for setting up Storage Policies. Note that configuring more than one storage policy on your development environment is recommended but optional. Enabling multiple Storage Policies is very easy regardless of whether you are working with an existing installation or starting a brand new one.
Now we will create two policies - the first one will be a standard triple replication policy that we will also explicitly set as the default and the second will be setup for reduced replication using a factor of 2x. We will call the first one ‘gold’ and the second one ‘silver’. In this example both policies map to the same devices because it’s also important for this sample implementation to be simple and easy to understand and adding a bunch of new devices isn’t really required to implement a usable set of policies.
To define your policies, add the following to your
/etc/swift/swift.conf
file:[storage-policy:0] name = gold aliases = yellow, orange default = yes [storage-policy:1] name = silver
See Storage Policies for detailed information onswift.conf
policy options.
To create the object ring for the silver policy (index 1), add the following to your
bin/remakerings
script and re-run it (your script may already have these changes):swift-ring-builder object-1.builder create 10 2 1 swift-ring-builder object-1.builder add r1z1-<IP_ADDRESS>:6010/sdb1 1 swift-ring-builder object-1.builder add r1z2-<IP_ADDRESS>:6020/sdb2 1 swift-ring-builder object-1.builder add r1z3-<IP_ADDRESS>:6030/sdb3 1 swift-ring-builder object-1.builder add r1z4-<IP_ADDRESS>:6040/sdb4 1 swift-ring-builder object-1.builder rebalance
Note that the reduced replication of the silver policy is only a function of the replication parameter in theswift-ring-builder create
command and is not specified in/etc/swift/swift.conf
.
Copy
etc/container-reconciler.conf-sample
to/etc/swift/container-reconciler.conf
and fix the user option:cp etc/container-reconciler.conf-sample /etc/swift/container-reconciler.conf sed -i "s/# user.*/user = $USER/g" /etc/swift/container-reconciler.conf
Using Policies¶
Setting up Storage Policies was very simple, and using them is even simpler. In this section, we will run some commands to create a few containers with different policies and store objects in them and see how Storage Policies effect placement of data in Swift.
We will be using the list_endpoints middleware to confirm object locations, so enable that now in your
proxy-server.conf
file by adding it to the pipeline and including the filter section as shown below (be sure to restart your proxy after making these changes):pipeline = catch_errors gatekeeper healthcheck proxy-logging cache bulk \ slo dlo ratelimit crossdomain list-endpoints tempurl tempauth staticweb \ container-quotas account-quotas proxy-logging proxy-server [filter:list-endpoints] use = egg:swift#list_endpoints
Check to see that your policies are reported via /info:
swift -A http://<IP_ADDRESS>:8080/auth/v1.0 -U test:tester -K testing info
You should see this: (only showing the policy output here):
policies: [{'aliases': 'gold, yellow, orange', 'default': True, 'name': 'gold'}, {'aliases': 'silver', 'name': 'silver'}]
Now create a container without specifying a policy, it will use the default, ‘gold’ and then put a test object in it (create the file
file0.txt
with your favorite editor with some content):curl -v -X PUT -H 'X-Auth-Token: <your auth token>' \ http://<IP_ADDRESS>:8080/v1/AUTH_test/myCont0 curl -X PUT -v -T file0.txt -H 'X-Auth-Token: <your auth token>' \ http://<IP_ADDRESS>:8080/v1/AUTH_test/myCont0/file0.txt
Now confirm placement of the object with the List Endpoints middleware:
curl -X GET -v http://<IP_ADDRESS>:8080/endpoints/AUTH_test/myCont0/file0.txt
You should see this: (note placement on expected devices):
["http://<IP_ADDRESS>:6030/sdb3/761/AUTH_test/myCont0/file0.txt", "http://<IP_ADDRESS>:6010/sdb1/761/AUTH_test/myCont0/file0.txt", "http://<IP_ADDRESS>:6020/sdb2/761/AUTH_test/myCont0/file0.txt"]
Create a container using policy ‘silver’ and put a different file in it:
curl -v -X PUT -H 'X-Auth-Token: <your auth token>' -H \ "X-Storage-Policy: silver" \ http://<IP_ADDRESS>:8080/v1/AUTH_test/myCont1 curl -X PUT -v -T file1.txt -H 'X-Auth-Token: <your auth token>' \ http://<IP_ADDRESS>:8080/v1/AUTH_test/myCont1/
Confirm placement of the object for policy ‘silver’:
curl -X GET -v http://<IP_ADDRESS>:8080/endpoints/AUTH_test/myCont1/file1.txt
You should see this: (note placement on expected devices):
["http://<IP_ADDRESS>:6010/sdb1/32/AUTH_test/myCont1/file1.txt", "http://<IP_ADDRESS>:6040/sdb4/32/AUTH_test/myCont1/file1.txt"]
Confirm account information with HEAD, make sure that your container-updater service is running and has executed once since you performed the PUTs or the account database won’t be updated yet:
curl -i -X HEAD -H 'X-Auth-Token: <your auth token>' \ http://<IP_ADDRESS>:8080/v1/AUTH_test
You should see something like this (note that total and per policy stats object sizes will vary):
HTTP/1.1 204 No Content Content-Length: 0 X-Account-Object-Count: 2 X-Account-Bytes-Used: 174 X-Account-Container-Count: 2 X-Account-Storage-Policy-Gold-Object-Count: 1 X-Account-Storage-Policy-Gold-Bytes-Used: 84 X-Account-Storage-Policy-Silver-Object-Count: 1 X-Account-Storage-Policy-Silver-Bytes-Used: 90 X-Timestamp:<PHONE_NUMBER>.71525 Content-Type: text/plain; charset=utf-8 Accept-Ranges: bytes X-Trans-Id: tx96e7496b19bb44abb55a3-0053482c75 X-Openstack-Request-Id: tx96e7496b19bb44abb55a3-0053482c75 Date: Fri, 11 Apr 2014 17:55:01 GMT


{% extends "what_should_i_eat/base.html" %} {% block title %}What should I eat? - Recipe Book{% endblock %} {% block nav %}
No recipes are available.


graph LR
A-->B
B-->C
C-->A
D-->C
%% Example diagram
graph LR
A[Square Rect] -- Link text --> B((Circle))
A --> C(Round Rect)
B --> D{Rhombus}
C --> D
%% Sequence diagram code
sequenceDiagram
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long
long time, so long
that the text does
not fit on a row.
Bob-->Alice: Checking with John...
Alice->John: Yes... John, how are you?
%% Sequence diagram code
sequenceDiagram
loop Daily query
Alice->>Bob: Hello Bob, how are you?
alt is sick
Bob->>Alice: Not so good :(
else is well
Bob->>Alice: Feeling fresh like a daisy
end
opt Extra response
Bob->>Alice: Thanks for asking
end
end
%% Code for flowchart below
graph TB
sq[Square shape] --> ci((Circle shape))
subgraph A subgraph
od>Odd shape]-- Two line
edge comment --> ro
di{Diamond with
line break} -.-> ro(Rounded
square
shape)
di==>ro2(Rounded square shape)
end
%% Notice that no text in shape are added here instead that is appended further down
e --> od3>Really long text with linebreak
in an Odd shape]
%% Comments after double percent signs
e((Inner / circle
and some odd
special characters)) --> f(,.?!+-*ز)
cyr[Cyrillic]-->cyr2((Circle shape Начало));
classDef green fill:#9f6,stroke:#333,stroke-width:2px;
classDef orange fill:#f96,stroke:#333,stroke-width:4px;
class sq,e green
class di orange


| 1 |
//
|
|
| 2 |
// RouteComposer
|
|
| 3 |
// DefaultRouter.swift
|
|
| 4 |
// https://github.com/ekazaev/route-composer
|
|
| 5 |
//
|
|
| 6 |
// Created by Eugene Kazaev in 2018-2022.
|
|
| 7 |
// Distributed under the MIT license.
|
|
| 8 |
//
|
|
| 9 |
// Become a sponsor:
|
|
| 10 |
// https://github.com/sponsors/ekazaev
|
|
| 11 |
//
|
|
| 12 |
|
|
| 13 |
import UIKit
|
|
| 14 |
|
|
| 15 |
/// Default `Router` implementation
|
|
| 16 |
public struct DefaultRouter: InterceptableRouter, MainThreadChecking {
|
|
| 17 |
|
|
| 18 |
// MARK: Properties
|
|
| 19 |
|
|
| 20 |
/// `Logger` instance to be used by `DefaultRouter`.
|
|
| 21 |
public let logger: Logger?
|
|
| 22 |
|
|
| 23 |
/// `ContainerAdapter` instance.
|
|
| 24 |
public let containerAdapterLocator: ContainerAdapterLocator
|
|
| 25 |
|
|
| 26 |
/// `StackPresentationHandler` instance
|
|
| 27 |
public let stackPresentationHandler: StackPresentationHandler
|
|
| 28 |
|
|
| 29 |
private var interceptors: [AnyRoutingInterceptor] = []
|
45x |
| 30 |
|
|
| 31 |
private var contextTasks: [AnyContextTask] = []
|
45x |
| 32 |
|
|
| 33 |
private var postTasks: [AnyPostRoutingTask] = []
|
45x |
| 34 |
|
|
| 35 |
// MARK: Methods
|
|
| 36 |
|
|
| 37 |
/// Constructor
|
|
| 38 |
///
|
|
| 39 |
/// Parameters
|
|
| 40 |
/// - logger: A `Logger` instance to be used by the `DefaultRouter`.
|
|
| 41 |
/// - stackPresentationHandler: A `StackPresentationHandler` instance to be used by the `DefaultRouter`.
|
|
| 42 |
/// - containerAdapterLocator: A `ContainerAdapterLocator` instance to be used by the `DefaultRouter`.
|
|
| 43 |
public init(logger: Logger? = RouteComposerDefaults.shared.logger,
|
|
| 44 |
stackPresentationHandler: StackPresentationHandler = DefaultStackPresentationHandler(),
|
|
| 45 |
containerAdapterLocator: ContainerAdapterLocator = RouteComposerDefaults.shared.containerAdapterLocator) {
|
45x |
| 46 |
self.logger = logger
|
45x |
| 47 |
self.stackPresentationHandler = stackPresentationHandler
|
45x |
| 48 |
self.containerAdapterLocator = containerAdapterLocator
|
45x |
| 49 |
}
|
45x |
| 50 |
|
|
| 51 |
public mutating func add<RI: RoutingInterceptor>(_ interceptor: RI) where RI.Context == Any? {
|
15x |
| 52 |
interceptors.append(RoutingInterceptorBox(interceptor))
|
15x |
| 53 |
}
|
15x |
| 54 |
|
|
| 55 |
public mutating func add<CT: ContextTask>(_ contextTask: CT) where CT.Context == Any? {
|
2x |
| 56 |
contextTasks.append(ContextTaskBox(contextTask))
|
2x |
| 57 |
}
|
2x |
| 58 |
|
|
| 59 |
public mutating func add<PT: PostRoutingTask>(_ postTask: PT) where PT.Context == Any? {
|
2x |
| 60 |
postTasks.append(PostRoutingTaskBox(postTask))
|
2x |
| 61 |
}
|
2x |
| 62 |
|
|
| 63 |
public func navigate<Context>(to step: DestinationStep<some UIViewController, Context>,
|
|
| 64 |
with context: Context,
|
|
| 65 |
animated: Bool = true,
|
|
| 66 |
completion: ((_: RoutingResult) -> Void)? = nil) throws {
|
117x |
| 67 |
assertIfNotMainThread(logger: logger)
|
117x |
| 68 |
do {
|
117x |
| 69 |
// Wrapping real context into a box.
|
117x |
| 70 |
let context: AnyContext = AnyContextBox(context)
|
117x |
| 71 |
|
117x |
| 72 |
let taskStack = try prepareTaskStack(with: context)
|
117x |
| 73 |
let navigationStack = try prepareFactoriesStack(to: step, with: context, taskStack: taskStack)
|
117x |
| 74 |
|
117x |
| 75 |
let viewController = navigationStack.rootViewController
|
117x |
| 76 |
let buildingInputStack = navigationStack.buildingInputStack
|
117x |
| 77 |
|
117x |
| 78 |
// Checks if the view controllers that are currently presented from the origin view controller, can be dismissed.
|
117x |
| 79 |
if let viewController = Array([[viewController.allParents.last ?? viewController], viewController.allPresentedViewControllers].joined()).nonDismissibleViewController {
|
117x |
| 80 |
throw RoutingError.cantBeDismissed(.init("\(String(describing: viewController)) view controller cannot " +
|
4x |
| 81 |
"be dismissed."))
|
4x |
| 82 |
}
|
113x |
| 83 |
|
113x |
| 84 |
startNavigation(from: viewController,
|
113x |
| 85 |
building: buildingInputStack,
|
113x |
| 86 |
performing: taskStack,
|
113x |
| 87 |
animated: animated,
|
113x |
| 88 |
completion: { (result: RoutingResult) in
|
113x |
| 89 |
if case let .failure(error) = result {
|
105x |
| 90 |
logger?.log(.error("\(error)"))
|
4x |
| 91 |
logger?.log(.info("Unsuccessfully finished the navigation process."))
|
4x |
| 92 |
} else {
|
105x |
| 93 |
logger?.log(.info("Successfully finished the navigation process."))
|
101x |
| 94 |
}
|
105x |
| 95 |
completion?(result)
|
105x |
| 96 |
})
|
105x |
| 97 |
} catch {
|
113x |
| 98 |
logger?.log(.error("\(error)"))
|
12x |
| 99 |
logger?.log(.info("Unsuccessfully finished the navigation process."))
|
12x |
| 100 |
throw error
|
12x |
| 101 |
}
|
117x |
| 102 |
}
|
117x |
| 103 |
|
|
| 104 |
// MARK: Private Methods
|
|
| 105 |
|
|
| 106 |
private func prepareTaskStack(with context: AnyContext) throws -> GlobalTaskRunner {
|
117x |
| 107 |
let interceptorRunner = try InterceptorRunner(interceptors: interceptors, with: context)
|
117x |
| 108 |
let contextTaskRunner = try ContextTaskRunner(contextTasks: contextTasks, with: context)
|
117x |
| 109 |
let postponedTaskRunner = PostponedTaskRunner()
|
117x |
| 110 |
let postTaskRunner = PostTaskRunner(postTasks: postTasks, postponedRunner: postponedTaskRunner)
|
117x |
| 111 |
return GlobalTaskRunner(interceptorRunner: interceptorRunner, contextTaskRunner: contextTaskRunner, postTaskRunner: postTaskRunner)
|
117x |
| 112 |
}
|
117x |
| 113 |
|
|
| 114 |
private func prepareFactoriesStack(to finalStep: RoutingStep, with context: AnyContext, taskStack: GlobalTaskRunner) throws -> (rootViewController: UIViewController,
|
|
| 115 |
buildingInputStack: [(factory: AnyFactory, context: AnyContext)]) {
|
117x |
| 116 |
logger?.log(.info("Started to search for the view controller to start the navigation process from."))
|
117x |
| 117 |
|
117x |
| 118 |
var context = context
|
117x |
| 119 |
|
117x |
| 120 |
let stepSequence = sequence(first: finalStep, next: { ($0 as? ChainableStep)?.getPreviousStep(with: context) }).compactMap { $0 as? PerformableStep }
|
714x |
| 121 |
|
117x |
| 122 |
let result = try stepSequence.reduce((rootViewController: UIViewController?, buildingInputStack: [(factory: AnyFactory, context: AnyContext)])(rootViewController: nil, buildingInputStack: [])) { result, step in
|
378x |
| 123 |
guard result.rootViewController == nil else {
|
378x |
| 124 |
return result
|
108x |
| 125 |
}
|
270x |
| 126 |
|
270x |
| 127 |
// Creates a class responsible to run the tasks for this particular step
|
270x |
| 128 |
let stepTaskRunner = try taskStack.taskRunner(for: step, with: context)
|
270x |
| 129 |
|
270x |
| 130 |
switch try step.perform(with: context) {
|
270x |
| 131 |
case let .success(viewController):
|
270x |
| 132 |
logger?.log(.info("\(String(describing: step)) found " +
|
109x |
| 133 |
"\(String(describing: viewController)) to start the navigation process from."))
|
109x |
| 134 |
|
109x |
| 135 |
try stepTaskRunner.perform(on: viewController)
|
109x |
| 136 |
|
109x |
| 137 |
return (rootViewController: viewController, result.buildingInputStack)
|
109x |
| 138 |
case let .build(originalFactory):
|
270x |
| 139 |
logger?.log(.info("\(String(describing: step)) hasn't found a corresponding view " +
|
134x |
| 140 |
"controller in the stack, so it will be built using \(String(describing: originalFactory))."))
|
134x |
| 141 |
|
134x |
| 142 |
// Wrap the `Factory` with the decorator that will
|
134x |
| 143 |
// handle the view controller and post task chain after the view controller creation.
|
134x |
| 144 |
var factory = FactoryDecorator(factory: originalFactory, stepTaskRunner: stepTaskRunner)
|
134x |
| 145 |
|
134x |
| 146 |
// Prepares the `Factory` for integration
|
134x |
| 147 |
// If a `Factory` cannot prepare itself (e.g. does not have enough data in context)
|
134x |
| 148 |
// then the view controllers stack can not be built
|
134x |
| 149 |
try factory.prepare(with: context)
|
134x |
| 150 |
|
134x |
| 151 |
// Allows to the `Factory` to change the current factory stack if needed.
|
134x |
| 152 |
var buildingInputStack = try factory.scrapeChildren(from: result.buildingInputStack)
|
134x |
| 153 |
|
134x |
| 154 |
// Adds the `Factory` to the beginning of the stack as the router is reading the configuration backwards.
|
134x |
| 155 |
buildingInputStack.insert((factory: factory, context: context), at: 0)
|
134x |
| 156 |
return (rootViewController: result.rootViewController, buildingInputStack: buildingInputStack)
|
134x |
| 157 |
case let .updateContext(newContext):
|
270x |
| 158 |
// Substitute current context with an updated one
|
11x |
| 159 |
context = newContext
|
11x |
| 160 |
return result
|
11x |
| 161 |
case .none:
|
270x |
| 162 |
logger?.log(.info("\(String(describing: step)) hasn't found a corresponding view " +
|
9x |
| 163 |
"controller in the stack, so router will continue to search."))
|
9x |
| 164 |
return result
|
9x |
| 165 |
}
|
270x |
| 166 |
}
|
269x |
| 167 |
|
117x |
| 168 |
// Throw an exception if the router hasn't found a view controller to start the stack from.
|
117x |
| 169 |
guard let rootViewController = result.rootViewController else {
|
117x |
| 170 |
throw RoutingError.initialController(.notFound, .init("Unable to start the navigation process as the view controller to start from was not found."))
|
1x |
| 171 |
}
|
116x |
| 172 |
|
116x |
| 173 |
return (rootViewController: rootViewController, buildingInputStack: result.buildingInputStack)
|
116x |
| 174 |
}
|
117x |
| 175 |
|
|
| 176 |
private func startNavigation(from viewController: UIViewController,
|
|
| 177 |
building buildingInputStack: [(factory: AnyFactory, context: AnyContext)],
|
|
| 178 |
performing taskStack: GlobalTaskRunner,
|
|
| 179 |
animated: Bool,
|
|
| 180 |
completion: @escaping (RoutingResult) -> Void) {
|
105x |
| 181 |
// Executes interceptors associated to each view in the chain. All the interceptors must succeed to
|
105x |
| 182 |
// continue navigation process. This operation is async.
|
105x |
| 183 |
let initialControllerDescription = String(describing: viewController)
|
105x |
| 184 |
taskStack.performInterceptors { [weak viewController] result in
|
105x |
| 185 |
self.assertIfNotMainThread(logger: logger)
|
105x |
| 186 |
|
105x |
| 187 |
if case let .failure(error) = result {
|
105x |
| 188 |
completion(.failure(error))
|
1x |
| 189 |
return
|
1x |
| 190 |
}
|
104x |
| 191 |
|
104x |
| 192 |
guard let viewController else {
|
104x |
| 193 |
completion(.failure(RoutingError.initialController(.deallocated, .init("A view controller \(initialControllerDescription) that has been chosen as a " +
|
1x |
| 194 |
"starting point of the navigation process was destroyed while the router was waiting for the interceptors to finish."))))
|
1x |
| 195 |
return
|
1x |
| 196 |
}
|
103x |
| 197 |
|
103x |
| 198 |
// Closes all the presented view controllers above the found view controller to be able
|
103x |
| 199 |
// to build a new stack if needed.
|
103x |
| 200 |
// This operation is async.
|
103x |
| 201 |
// It was already confirmed that they can be dismissed.
|
103x |
| 202 |
stackPresentationHandler.dismissPresented(from: viewController, animated: animated) { result in
|
103x |
| 203 |
guard result.isSuccessful else {
|
103x |
| 204 |
completion(result)
|
! |
| 205 |
return
|
! |
| 206 |
}
|
103x |
| 207 |
|
103x |
| 208 |
// Builds view controller's stack using factories.
|
103x |
| 209 |
// This operation is async.
|
103x |
| 210 |
buildViewControllerStack(starting: viewController,
|
103x |
| 211 |
using: buildingInputStack,
|
103x |
| 212 |
animated: animated) { result in
|
103x |
| 213 |
do {
|
103x |
| 214 |
if case let .failure(error) = result {
|
103x |
| 215 |
throw error
|
2x |
| 216 |
}
|
101x |
| 217 |
try taskStack.performPostTasks()
|
101x |
| 218 |
completion(result)
|
101x |
| 219 |
} catch {
|
101x |
| 220 |
completion(.failure(error))
|
2x |
| 221 |
}
|
103x |
| 222 |
}
|
103x |
| 223 |
}
|
103x |
| 224 |
}
|
103x |
| 225 |
}
|
105x |
| 226 |
|
|
| 227 |
// Loops through the list of factories and builds their view controllers in sequence.
|
|
| 228 |
// Some actions can be asynchronous, like push, modal or presentations,
|
|
| 229 |
// so it performs them asynchronously
|
|
| 230 |
private func buildViewControllerStack(starting rootViewController: UIViewController,
|
|
| 231 |
using factories: [(factory: AnyFactory, context: AnyContext)],
|
|
| 232 |
animated: Bool,
|
|
| 233 |
completion: @escaping (RoutingResult) -> Void) {
|
103x |
| 234 |
var factories = factories
|
103x |
| 235 |
let postponedIntegrationHandler = DefaultPostponedIntegrationHandler(logger: logger,
|
103x |
| 236 |
containerAdapterLocator: containerAdapterLocator)
|
103x |
| 237 |
|
103x |
| 238 |
func buildViewController(from previousViewController: UIViewController) {
|
198x |
| 239 |
stackPresentationHandler.makeVisibleInParentContainers(previousViewController, animated: animated) { result in
|
198x |
| 240 |
guard result.isSuccessful else {
|
198x |
| 241 |
logger?.log(.info("\(String(describing: previousViewController)) has stopped the navigation process " +
|
! |
| 242 |
"as it was not able to become active."))
|
! |
| 243 |
completion(result)
|
! |
| 244 |
return
|
! |
| 245 |
}
|
198x |
| 246 |
guard !factories.isEmpty else {
|
198x |
| 247 |
postponedIntegrationHandler.purge(animated: animated, completion: completion)
|
101x |
| 248 |
return
|
101x |
| 249 |
}
|
101x |
| 250 |
do {
|
97x |
| 251 |
let factory = factories.removeFirst()
|
97x |
| 252 |
let newViewController = try factory.factory.build(with: factory.context)
|
97x |
| 253 |
logger?.log(.info("\(String(describing: factory)) built a \(String(describing: newViewController))."))
|
97x |
| 254 |
|
97x |
| 255 |
let nextAction = factories.first?.factory.action
|
97x |
| 256 |
|
97x |
| 257 |
factory.factory.action.perform(with: newViewController,
|
97x |
| 258 |
on: previousViewController,
|
97x |
| 259 |
with: postponedIntegrationHandler,
|
97x |
| 260 |
nextAction: nextAction,
|
97x |
| 261 |
animated: animated) { result in
|
97x |
| 262 |
self.assertIfNotMainThread(logger: logger)
|
96x |
| 263 |
guard result.isSuccessful else {
|
96x |
| 264 |
logger?.log(.info("\(String(describing: factory.factory.action)) has stopped the navigation process " +
|
1x |
| 265 |
"as it was not able to build a view controller into a stack."))
|
1x |
| 266 |
completion(result)
|
1x |
| 267 |
return
|
1x |
| 268 |
}
|
95x |
| 269 |
logger?.log(.info("\(String(describing: factory.factory.action)) has applied to " +
|
95x |
| 270 |
"\(String(describing: previousViewController)) with \(String(describing: newViewController))."))
|
95x |
| 271 |
buildViewController(from: newViewController)
|
95x |
| 272 |
}
|
95x |
| 273 |
} catch {
|
97x |
| 274 |
completion(.failure(error))
|
1x |
| 275 |
}
|
97x |
| 276 |
}
|
97x |
| 277 |
}
|
198x |
| 278 |
|
103x |
| 279 |
logger?.log(.info(factories.isEmpty ? "No view controllers needed to be integrated into the stack." : "Started to build the view controllers stack."))
|
103x |
| 280 |
buildViewController(from: rootViewController)
|
103x |
| 281 |
}
|
103x |
| 282 |
|
|
| 283 |
}
|
|


Here is my Personal Project - Act-Mai Draw-Mai
This week I planned to learn more about higher-order and recursive functions, and objects. Specifically solving more freecodecamp problems.
I completed bits of each but not to the fullest of my ability and without my full attention. For various reasons I didn't get through most of the goals I had set myself.
I didn't attempt the stretch goal but I am aiming to complete it before bootcamp.
I didn't fill the biggest gaps, higher-order and recursive functions, and objects. I NEED to come to grips with this so I feel confident heading in to bootcamp.
I'm not happy with what I've done this week because I know I can do better. I didn't try hard enough and I lost momentum to be honest.
Blog links


Stop the dirty politics, it is awful – Health Minister slams NDC over parked ambulances
The Health Minister, Kwaku Agyemang-Manu, has advised the opposition National Democratic Congress (NDC) to stop its incessant noise over the distribution of 307 procured ambulances for healthcare delivery in the country.
Speaking in an interview on Adom FM’s morning show Dwaso Nsem on Tuesday, the Health Minister explained that, a pre-deliberate inspection of the ambulances needed to be undertaken by the suppliers of the ambulances before distribution across the country.
The Minister expressed surprise at the attitude of the Minority and accused them of engaging in dirty politics.
 I am shocked at their attitude, we need to undertake certain processes before we can take ownership of the ambulances and so we cannot rush. We are yet to do pre-deliberate inspection and that is what we are currently working on,” he clarified.
“When they (NDC) received the ‘Aayalolo’ buses, didn’t they park them because they were waiting for branding? And they want us to rush, we didn’t bring the buses to use them for funfair,” he jabbed.
In September 2019, President Nana Akufo-Addo announced the arrival of the first batch of the 307 ambulances to be distributed to all 275 constituencies in the country.
The buses, numbering 48, have since been parked at the forecourt of the State House, as government awaits the delivery of the remaining 259 ambulances.


| CGAT User Manual | ||
|---|---|---|
| <<< Previous | Next >>> |
On Windows or Mac OSX, double clicking on the "AlignmentViewer" icon invokes the program. On Unix systems, type the following command on the command line:
java -jar AlignmentViewer.jar |
However, when invoking with the above command, you will be likely to encounter a memory allocation error especially when you want to see an alignment of long sequences generated by dynamical calculation. To avoid this, we recommend you to increase the size of the memory allocation pool for the Java virtual machine with the -Xmx option.
java -Xmx512m -jar AlignmentViewer.jar |
After running the program, first you must load data by choosing File ⇒ Load from the menu.
Choose the server from which data are downloaded. By default, only the default CGAT server (running on the MBGD server) is registered. You can add more servers to this list in the Locations section of the Properties panel (File ⇒ Properties), if you or your colleagues have been setup an original new server. See the chapter " The CGAT DataServer package " for server setup and the " Configuring AlignmentViewer "section for properties setup.
Choose the alignment data to be downloaded specified by the combination of organism names and a program name. Note that choosing the server URL above reset the list of available alignment data. If you have setup the data on the local file system that the AlignmentViewer program can directly accessed, and have correctly set the CGAT_HOME variable in the Properties panel, you can also choose the data available on the local machine. These data are listed without the "(Server)" indication.
Choose the gene attribute data for coloring genes.
Choose the feature segment data to be shown on the additional annotation tracks (see the section "Alignment display panel "). By default, maximally three types of segment data can be loaded at once, but the maximum number can be increased in the Propeties panel.
| <<< Previous | Home | Next >>> |
| Install | The main window of AlignmentViewer |


- Dough preparation and shaping
- Bake the dough and decorate it
We have many prizes for those who shop from our store daily, and here are some of them:
- work hours: every day from 6:00AM-8:00PM
- Our Location :
- Seattle
- Tokyo
- Dubai
- Paris
- Lima
- Our phone number:<PHONE_NUMBER>


Module pl.stringx
Python-style string library
see 3.6.1 of the Python reference.
If you want to make these available as string methods, then say
stringx.import()
to bring them into the standard string
table.
Functions
| isalpha (s) | does s only contain alphabetic characters? |
| isdigit (s) | does s only contain digits? |
| isalnum (s) | does s only contain alphanumeric characters? |
| isspace (s) | does s only contain spaces? |
| islower (s) | does s only contain lower case characters? |
| isupper (s) | does s only contain upper case characters? |
| join (self, seq) | concatenate the strings using this string as a delimiter |
| startswith (self, s2) | does string start with the substring? |
| endswith (s, send) | does string end with the given substring? |
| expandtabs (self, n) | replace all tabs in s with n spaces |
| lfind (self, sub, i1) | find index of first instance of sub in s from the left |
| rfind (self, sub, first, last) | find index of first instance of sub in s from the right |
| replace (s, old, new, n) | replace up to n instances of old by new in the string s |
| split (self, re) | split a string into a list of strings using a pattern |
| splitv (self, re) | split a string using a pattern |
| count (self, sub) | count all instances of substring in string |
| ljust (self, w, ch) | left-justify s with width w |
| rjust (s, w, ch) | right-justify s with width w |
| center (s, w, ch) | center-justify s with width w |
| lstrip (self, chrs) | trim any whitespace on the left of s |
| rstrip (s, chrs) | trim any whitespace on the right of s |
| strip (self, chrs) | trim any whitespace on both left and right of s |
| partition (self, ch) | partition the string using first occurance of a delimiter |
| rpartition (self, ch) | partition the string p using last occurance of a delimiter |
| at (self, idx) | return the 'character' at the index |
| lines (self) | return an interator over all lines in a string |
| shorten (self, sz, tail) | return a shorted version of a string |
Functions
- isalpha (s)
-
does s only contain alphabetic characters?
Parameters:
s
: a string
- isdigit (s)
-
does s only contain digits?
Parameters:
s
: a string
- isalnum (s)
-
does s only contain alphanumeric characters?
Parameters:
s
: a string
- isspace (s)
-
does s only contain spaces?
Parameters:
s
: a string
- islower (s)
-
does s only contain lower case characters?
Parameters:
s
: a string
- isupper (s)
-
does s only contain upper case characters?
Parameters:
s
: a string
- join (self, seq)
-
concatenate the strings using this string as a delimiter
Parameters:
self
: the stringseq
: a table of strings or numbers
Usage:
(' '):join {1,2,3} == '1 2 3'
- startswith (self, s2)
-
does string start with the substring?
Parameters:
self
: the strings2
: a string
- endswith (s, send)
-
does string end with the given substring?
Parameters:
s
: a stringsend
: a substring or a table of suffixes
- expandtabs (self, n)
-
replace all tabs in s with n spaces
If not specified, n defaults to 8.
Parameters:
self
: the stringn
: number of spaces to expand each tab
- lfind (self, sub, i1)
-
find index of first instance of sub in s from the left
Parameters:
self
: the stringsub
: substringi1
: start index
- rfind (self, sub, first, last)
-
find index of first instance of sub in s from the right
Parameters:
self
: the stringsub
: substringfirst
: first indexlast
: last index
- replace (s, old, new, n)
-
replace up to n instances of old by new in the string s
if n is not present, replace all instances.
Parameters:
s
: the stringold
: the target substringnew
: the substitutionn
: optional maximum number of substitutions
Returns:
- result string
- the number of substitutions
- split (self, re)
-
split a string into a list of strings using a pattern
Parameters:
self
: the stringre
: a Lua string pattern (defaults to whitespace)
Usage:
#(('one two'):split()) == 2
- splitv (self, re)
-
split a string using a pattern
Note that at least one value will be returned!
Parameters:
self
: the stringre
: a Lua string pattern (defaults to whitespace)
Usage:
a,b = line:splitv('=')
Returns:
-
the parts of the string
- count (self, sub)
-
count all instances of substring in string
Parameters:
self
: the stringsub
: substring
- ljust (self, w, ch)
-
left-justify s with width w
Parameters:
self
: the stringw
: width of justificationch
: padding character, default ' '
- rjust (s, w, ch)
-
right-justify s with width w
Parameters:
s
: the stringw
: width of justificationch
: padding character, default ' '
- center (s, w, ch)
-
center-justify s with width w
Parameters:
s
: the stringw
: width of justificationch
: padding character, default ' '
- lstrip (self, chrs)
-
trim any whitespace on the left of s
Parameters:
self
: the stringchrs
: default space, can be a string of characters to be trimmed
- rstrip (s, chrs)
-
trim any whitespace on the right of s
Parameters:
s
: the stringchrs
: default space, can be a string of characters to be trimmed
- strip (self, chrs)
-
trim any whitespace on both left and right of s
Parameters:
self
: the stringchrs
: default space, can be a string of characters to be trimmed
- partition (self, ch)
-
partition the string using first occurance of a delimiter
Parameters:
self
: the stringch
: delimiter
Returns:
- part before ch
- ch
- part after ch
- rpartition (self, ch)
-
partition the string p using last occurance of a delimiter
Parameters:
self
: the stringch
: delimiter
Returns:
- part before ch
- ch
- part after ch
- at (self, idx)
-
return the 'character' at the index
Parameters:
self
: the stringidx
: an index (can be negative)
Returns:
-
a substring of length 1 if successful, empty string otherwise.
- lines (self)
-
return an interator over all lines in a string
Parameters:
self
: the string
Returns:
-
an iterator
- shorten (self, sz, tail)
-
return a shorted version of a string
Parameters:
self
: the stringsz
: the maxinum size allowedtail
: true if we want to show the end of the string (head otherwise)


Team Marquez as Alex joins brother Marc at Honda
by ReutersThe Repsol Honda MotoGP team will be a family affair next season after the Japanese manufacturer announced on Monday that Alex Marquez was joining as team mate to older brother Marc.
The 23-year-old Spaniard won this year's Moto2 championship, his second title after Moto3 in 2014, while Marc, 26, clinched his sixth MotoGP crown.
Honda Racing Corporation said in a statement that Alex had signed a one-year deal.
He replaces compatriot Jorge Lorenzo, a triple MotoGP champion who retired after last weekend's season-ending race in Valencia.
The announcement dashed the hopes of French rider Johann Zarco, who is looking for a seat after leaving the Austrian KTM team.
The Marquez brothers are not the only siblings lining up on the MotoGP grid, with Spaniards Pol and Aleix Espargaro also competing at KTM and Aprilia respectively, but they will be the only ones in the same team.
Formula One has seen a number of brothers competing at the same time, including Michael and Ralf Schumacher at different teams in the 1990s and 2000s.
The 2020 MotoGP season starts in Qatar on March 8.


Bolivia's socialist President Evo Morales resigns amid election fraud allegations
by Frank MilesBolivia's socialist President Evo Morales, who claimed victory in a disputed election Oct. 20, sparking outcry across the Latin American country, announced Sunday he's resigning.
“I am sending my resignation letter to the Legislative Assembly of Bolivia,” the 60-year-old socialist leader said in a statement.
He vowed to step down after the military had urged him to do so. It was not immediately clear who would succeed Morales; his vice president also resigned, as did the Senate president, who was next in line.
Three people, at least, have been killed in the subsequent protests in Bolivia and hundreds have been injured.
BOLIVIA ERUPTS IN VIOLENCE AFTER EVO MORALES' NEAR OUTRIGHT ELECTION WIN, VOTE-COUNT DELAY
After nearly 14 years in power, Morales claimed he won a fourth term last month.
The man Morales said he defeated, opposition leader and former President Carlos Mesa, argued that a preliminary report by the Organization of American States [OAS] showed “monstrous fraud,” and he added that Morales “can’t be a candidate in new elections.”
OAS on Sunday said it found a “heap of observed irregularities” in the Oct. 20 election, and said a new vote should be held.
“Mindful of the heap of observed irregularities, it’s not possible to guarantee the integrity of the numbers and give certainty of the results,” the OAS said in a statement.
BOLIVIA MAYOR DRAGGED THROUGH STREETS, HAS HAIR CUT BY PROTESTERS AS ELECTION VIOLENCE SWELLS
Morales became the first president from Bolivia’s indigenous population in 2006 and presided over a commodities-fed economic boom in South America’s poorest country. The former leader of a coca growers union, he paved roads, sent Bolivia’s first satellite into space and curbed inflation.
CLICK HERE FOR THE FOX NEWS APP
Gen. Williams Kaliman, the country’s military chief, gave an appeal Sunday before the resignation.
“After analyzing the situation of internal conflict, we ask the president to resign, allowing peace to be restored and stability to be maintained for the good of our Bolivia,” Kaliman said on national television.
The Associated Press contributed to this report.


| Name: | Pavan Bansal |
| Institution: | National Institute of Technology, Hamirpur |
| Branch: | B.Tech and M.Tech Dual Degree in CSE |
| City: | Gwalior |
| State: | Madhya Pradesh |
| Country: | India |
| Email: |<EMAIL_ADDRESS>|
| Contact No. | +919882550794 |
| LinkedIn URL: | https://www.linkedin.com/in/pavan-bansal-69a64511a |
| Github Link: | https://github.com/PAVBAN95 |
| Facebook Link: | https://www.facebook.com/pavan.bansal.374 |


|
|
|
|
Below you will find a list of our members.
Now look: some clan pages let their members write their own bios.
 And if that
doesn't happen, I'll just take all your money and dance on your grave."
 In the Justice Department's pending legal action, ChCHING
has vowed to take no prisoners. And while he's snoozing in his hot
tub filled with gold coins, with a babe on each arm, Netscape is
hemorraging cash to pay its legal expenses.
You can see how this gets irritating. Why is it that every cha-cha
with a 3DFX card thinks he's the biggest badass who ever wrapped his sausages
around a mouse? Isn't it enough that some day most of them are going
to be rich beyond my wildest dreams because they came up with a game controller
that runs on brainwaves?
So, I, Chzdanish, have decided that if I can't
be good at Quake, at least I can make the rules here. And the first
rule is, I write the bios (or at least, I get to edit them. Hee hee!).
Here goes.
|
REAL NAME: Adam Sherson
QUAKE NAME: Deslock
HEIGHT: 5'11"
WEIGHT: 130 lbs, including Palm
III and copy of Teach Yourself Access in 14 Days.
FAVORITE WEAPON: Blaster, Rocket Launcher,
Railgun, Hyperblaster,Grenade
Launcher,Machine Gun, supershotgun,
QUOTE: "Say, Chzdanish, I just went
out and spent $800 on a new motherboard, processor, and Voodoo II card,
and I gained 5 frames per second! Now I'll continue to kick all your
asses. Here, want my cast-off old video card? Only twenty five
dollars..."
ARCH ENEMY: Chzdanish (though he
doesn't know it yet...)
BIOGRAPHY: After 10 years of University
studies (which he calls his "decade of excellence", and which everyone
else calls "fucking off"), Adam has found his place at UMass Transit as
the Acting Manager of Information Systems. This, as we have found
out, is a sophisticated euphemism for "the guy who forgets to replace the
batteries in the 'uninterruptable' power supply." Oddly enough, as
Deslock, Adam shows his real prowess with information systems; when
Quake doesn't run properly for any reason, it is fixed through a combination
of native intelligence, tenacity and hard work. |
|
REAL NAME: Frank Levine
QUAKE NAME: Barclay
HEIGHT: 5'11"
FAVORITE QUOTE: "So, Lockheed called
today, and I told them that I wouldn't work for less than $1.2 million
and a company car, because that's what I'm worth."

BIOGRAPHY: Having garnered praise
for his admittedly stellar work on the UMTS payroll and employee database,
Frank continues his tradition of doing nothing, at Lockheed-Martin in his
new job. He hasn't told us what his new job is yet, since it's top
secret or something...but rest assured that you, dear reader, will suffer
for it in some way. Imagine the following scenario: You are
sitting in your favorite easy chair, reading a good book. HAH!
What a laugh; you haven't read a book in years. Anyway, your
sitting in your favorte chair playing Quake, when from out of the sky comes
an unearthly beam of green light, which touches your leg and POOF!
You disappear in a puff of pork-scented smoke. Your last thought
might be to blame the almighty for such an untimely demise, but you should
really blame Frank. Take my word for it. |
|
REAL NAME: LJ Weslowski
QUAKE NAME: Predator
HEIGHT: 6'
BASIC SUBSTANCE OF WHICH HE IS COMPRISED:
Beanie Weenie and Olean.
FAVORITE WEAPON: An aspirated screech
known to sterilize passersby.
FAVORITE ANIMAL: The cow, for some
reason.
QUOTE: "YAHOO!" (usually screamed
in some unsuspecting, and suddenly deafened, person's ear).
HOBBY: Spelunking for clean food
containers around the Superfund site known as his desk. Self abuse.
Talking about paintball.
BIOGRAPHY: Former truck driver
for the Army, at some point L.J. decided that he had a neuron or two, and
decided to come to college and become UMTS Operations Supervisor.
Now fully rehabilitated from his days as a double-clutching trained killer,
Predator has replaced aggression with paintball and Quake. He also
regularly tries to pick up his boss and coworkers, and throw them against
the wall, thus proving that you can take the boy out of the Army, but you
can't take the Army out of the boy.
MOST COMMONLY DESCRIBED AS:
A nice man, good bus driver...I never thought of him as a murderer.
I mean, who knew? He didn't talk all that much. He mostly just
kept to himself. |
|
REAL NAME: Kevin Bjork
QUAKE NAME:
Tuco
HEIGHT: 5'9"
FAVORITE WEAPON: Railgun
QUOTE: Something sensible and friendly,
probably. Sickening, isn't it?.
ARCH ENEMY: Can't think of a one.
Makes Michael Landon look like a violent schizophrenic ax-murderer.
BIOGRAPHY: As an Engineering major,
Kevin's future seems bright, but what he doesn't know is that he's destined
to become head writer at Hallmark's Greeting Card division. Tuco's
friendly demeanor and air of general competence means that the author of
this site is unable to think of anything to say that disparages him.

MISSION IN LIFE: Build a game controller
that runs on brainwaves and make millions.
CHANCES OF SUCCESS: Incalculably
submicroscopic.

BIOGRAPHY: Consumed with thoughts
of growing old, Dave has resolved to deal with the problem by working at
UMTS, where he can surround himself with eighteen-to-twenty-two-year-olds.
Recently, while the members of the MTV demographic who work at UMTS were
trying to figure out how to get Chzdanish to leave his Staff position,
he outsmarted them all by getting himself a cushy full-time staff position,
"Coordinator" of safety and training. HAH! They'll never get
him to leave, now!  Of course, he is overlooking
with a fervor bordering on religious the fact that it's just a temporary
posting until they can find someone who is actually qualified for the position.
However, Dave figures he can convince the right people to let him stay
by exhibiting his native intelligence, emphasizing his organizational skills,
and by welding his office door shut and epoxying himself to his chair. |
|
|
REAL NAME: Rob Sterner
QUAKE NAME: Spiceboy
HEIGHT: 6'2"
FAVORITE WEAPON: His mouth.
QUOTE: "Blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah..."
MISSION IN LIFE: Make the Guinness
book of records for having the highest number of keys bound to scintillating
and witty phrases like "DIE!" and "Heh!"
LIFE'S AMBITION: To be a character
in a William Gibson novel.
FAVORITE THING TO INGEST: Lithium.
BIOGRAPHY: When one looks at Rob,
one is instantly reminded of the movie Hackers. Scientists are in
their labs this very moment trying to come up with a theory that explains
why such a terrible movie could have actually influenced Rob to dress like
a William Gibson character. As well, Rob talks so fast and so much that
some have theorized that he actually is a self-aware TRS-80 that believes
it's communicating directly with humans using a T3. It is the author's
opinion that Rob is in some heavy denial about the death of cyberpunk. |
|
REAL NAME: Bob Riley
QUAKE NAME: Schizophrenic
HEIGHT: 6'
LIKES: Beer, cigarettes, more beer,
more cigarettes.
DISLIKES: Lack thereof.
FAVORITE WEAPON: His patented "hangover
fart" which can singe the nose-hairs of a person thirty feet away.
Although no one has thought of a way to include this in the game, he is
nevertheless doing a great deal of R & D.
QUOTE: "I could help you with that,
but it would interfere with my beer consumption, plus I don't like you."
MISSION IN LIFE: To get the American
Psychology Association to adopt a new diagnostic category called "compulsive
sarcasm."
BIOGRAPHY: Probably one of the most
annoying people you'll ever have the misfortune to meet, Bob is the living
embodiment of the phrase "a mind is a terrible thing to waste." Believing
their son was endowed with an incredibly high IQ, Bob's parents had incredibly
high hopes for their son. Unfortunately, it turned out that the IQ
test makers had their signs reversed on a crucial equation. After
obtaining his degree in Biology (that's where all the chicks are...unfortunately
for them), in a scant 5 and a half years, Bob has opted to stay at Transit,
stating that he needs downtime after his hectic undergrad schedule of two
classes a week. |
|
REAL NAME: Jeremy Wardwell
QUAKE NAME: Roswell
HEIGHT: 6' 1"
FAVORITE HAIRCARE PRODUCT: Tar
FAVORITE MOOD: Schmoozy.
PROBABLE OCCUPATION AFTER TRANSIT:
Used car salesman, lounge singer, senator.
QUOTE: (shouted through Mr. Microphone)
"HEY, GOOD LOOKING! BE BACK TO PICK Y'UP LATER!"
BIOGRAPHY: Exuding an oily charisma
all his own, Jeremy is by far the smoothest of the UMTS clan members.
After recently clawing his way up the ranks of Transit to pry Chzdanish's
ass from his beloved staff position, Jeremy has quickly acclimated to his
new position of power, ordering around underlings in a superior tone of
voice and abusing his new privileges left and right. When he isn't
squandering taxpayer dollars, he's playing Quake with a fair amount of
skill, leaving an oily sheen all over his mouse and keyboard. |
|
REAL NAME: Chris Walker-Ray
QUAKE NAME: Havoc
HEIGHT: 5'11"
HOBBIES: Drawing pictures of Transformers
(no, we don't know why, either).
QUOTE: "Hey, Bob, didja see this
new picture of Megatron?"
BIOGRAPHY: Chris is a 21 year old
Amherst native who still lives with his parents, which explains a few things.
One of the newest members of our clan, Chris has nonetheless showed increased
levels of skill in the area of Quake playing. Chris has the general
good attitude and above-average intlligence that assures him a safe and
sound future in whatever field he applies himself to, which is why the
author hopes he gets hit by a bus REAL soon. |
|


POST-IT
person
1. Create Account
group
2. Create Group
group_add
3. Add Members to Your Group
message
4. Start Posting Messages
New to Post-It?
Create Account
account_circle
Username
lock
Password
LOGIN
Forgot Password?


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/quot.2Eind.20in.20metatheory.20paper.html ---
In Section 2.7 of Mario's metatheory of Lean paper, I'm missing the fact that quot.ind
is a axiom in Lean. Is this an omission, or is there an implicit claim here that quot.ind
is derivable from the other constants/axioms?
I'm pretty sure that quot.ind
is only derivable if the underlying type α is empty.
That is too strong. You can at least prove it for unit
by using that x = unit.star
for every x : unit
(and therefore quot.mk x = quot.mk unit.star
). And I suspect that (classically) you might be able to do something when α
is fin n
, for example.
oh wait, maybe I'm mentally already using quot.ind
here.
Oh yes, you're right. If α
is nonempty, say z : α
, and r : α -> α -> Prop
then I can define
quot' α r := option (quot α r) quot'.mk r x := some (quot.mk r x) quot'.lift β f h (some x) := quot.lift β f h x quot'.lift β f h none := f z
and then quot'
satisfies the same rules as quot
, including the reduction rule, but excluding quot.ind
Also, the paper claims/proves that using only the inductive types empty psigma psum ulift nonempty W eq acc
we can construct all others. If we remove acc
from this list, so we only have the other 7 inductive types, do we know whether the ("ideal") definitional equality in the resulting system decidable?
@Floris van Doorn The reasoning behind only considering quot.sound
an axiom and ignoring the others is that the others taken together are conservative, because we can take quot A = A
and then all the axioms are valid except quot.sound
. quot.ind
is valid because id
is surjective
That said, I don't think this is common practice in logic, I should probably just call them all axioms
I don't know if removing acc
makes defeq decidable, but my guess is yes. Of course the counterexample in the paper uses acc
essentially
@Mario Carneiro I don't care about which of them you call constants and which you call axioms, my point is that you forgot to mention quot.ind
in the paper (in the latest release and on the master branch). You only mention quot.lift
as elimination principle.
Now I forget if quot.rec
or quot.lift
+ quot.ind
were used internally by lean
quot.rec
is defined in terms of quot.lift
+ quot.ind
.
ok, I'll update the paper
The issue with the nontransitivity of algorithmic definitional equality using quot
is only because if α : Sort u
then @quot α r : Sort u
, right? If we alternatively defined @quot α r
to be in Sort (max u 1)
(which would make more sense, compared to inductive types), then the nontransitivity using quotients goes away, right?
thanks!
yes
All of the known examples of failure of transitivity involve some kind of subsingleton elimination, where an inductive type in Prop recurses over Type. So it is reasonable to conjecture that without acc
and with quot
out of Prop
the algorithmic equality becomes transitive, and so coincides with ideal defeq which becomes decidable.
Last updated: Apr 24 2020 at 19:02 UTC


|
Naked
(Avril Lavigne) |
|
I
wake up in the morning
Put on my face The one that's gonna get me Through another day Doesn't really matter How I feel inside This life is like a game sometimes Then you came around me The walls just disappeared Nothing to surround me Keep me from my.. fears I'm unprotected See how I've opened up (Oh!) You've made me trust Cuz I've never felt like this before I'm naked around you Does it show?


Wolves v Aston Villa: match preview
by Guardian StaffThe lineups will be nothing like when they met in the Carabao Cup, and Wolves hope the result will be different, too. Because losing to Aston Villa twice in a fortnight would be tough to digest, especially as Dean Smith’s team would leapfrog them in the table. Villa arrive in good form despite recent defeats by Manchester City and Liverpool. Wolves have drawn their last three league games 1-1 and the same again would be no surprise. Paul Doyle
Sunday 2pm Sky Sports Premier League
Venue Molineux
Last season n/a
Referee Anthony Taylor
This season G10 Y42 R1 4.3 cards/game
Odds H Evens A 17-5 D 5-2
WOLVES
Subs from Ruddy, Bennett, Vinagre, Gibbs-White, Cutrone, Jordão, Sanderson, Perry, Kilman, Cundle, Neto, Vallejo, Ashley-Seal
Doubtful None
Injured Gibbs-White (back, 23 Nov), Boly (leg, unknown)
Suspended None
Discipline Y19 R2
Form DWWDDD
Leading scorer Jiménez 4
ASTON VILLA
Subs from Steer, Nyland, Kalinic, Konsa, Elmohamady, Lansbury, Taylor, Hause, Ramsey, Kodjia, Chester, Hourihane, Douglas Luiz, Jota
Doubtful Guilbert (dead leg), Jota (hernia)
Injured Davis (hamstring, unknown)
Suspended None
Discipline Y16 R1
Form LDWWLL
Leading scorer Wesley 4


An air bleed valve having a housing with hydraulic fluid therein and a first acoustic wave sensor mounted within the housing so as to be covered in the hydraulic fluid and a second acoustic wave sensor mounted within the housing so that it can detect when air is present in the housing sufficient to be vented outside upon the opening of an air vent valve and where both the first acoustic wave sensor and the second acoustic wave sensor and the air vent valve are electrically connected to a air bleed controller. In a preferred embodiment, the first and second acoustic wave sensors are of the type known as a shear horizontal surface acoustic sensor.
The exemplary hydraulic air bleed valve system relates to an air bleed valve that is activated based on signals from an acoustic wave sensor(s).
Air bleed valves are used in aircraft hydraulic systems to remove unwanted air from the hydraulic circuit prior to the operation of the high pressure hydraulic system to prevent unexpected and unwanted operational anomalies. Due to certain flight regimes, a traditional air bleed valve cannot be used in certain high performance aircraft, primarily those aircraft used in military applications. High G loads and inverted flight modes do not allow the air in the hydraulic system to be bled when experiencing these flight regimes. Therefore it is necessary to use sensors to determine when there is air in the hydraulic system and then electronically open an air vent valve to discharge the air when the aircraft is flying in a suitable flight mode. Traditional air bleed valves are usually bled when the pilot manually triggers the vent valve circuit. Sensors can be used in the air bleed valve such as a light emitting diode and a photoelectric diode to indicate that there is air in the hydraulic system and then send a signal to the pilot that the air vent in the air bleed valve needs to be activated. Pub. No. US 2010/0319791 A1 to Dirkin et al. disclose such a system. In the Dirkin system two LEDs and a phototransistor and three transparent windows are used to sense the presence of air. When air is detected by an electronic circuit which is connected to the phototransistor and the LEDs, a signal is sent to the flight deck so that the vent valve can be activated. This system is subject to several operational limitations involving clouding of the windows and failure of the phototransistor.
Other bleed air systems known in the art include those shown in U.S. Pat. Nos. 4,524,793 and 4,813,446 to Silverwater et al. These prior art devices provide for the automatic bleeding of air at the time of hydraulic pump start up only using differential pressure between the air and the hydraulic oil to move a piston to control the bleeding process. This system is self activating and is not controlled by the flight crew or an electronic control system so the air is automatically vented whenever it is present irrespective of the aircraft flight mode. This presents a problem in high performance aircraft since the air cannot be vented in certain flight regimes. Also, this type of air bleed valve is not as reliable or dependable as what is needed in the industry for use in high performance aircraft.
The exemplary electronically controlled air bleed valve system provides for a robust solution for bleeding air from a hydraulic system whenever the level of air in a plenum exceeds a set level that is measured with the use of one or more acoustic wave sensors. One sensor can be located to set the characteristic wave propagation transfer function when submerged in oil while a second sensor can be located at the minimum allowable level of air allowed within the hydraulic plenum. An electronic control system processes the signals generated by the acoustic wave sensors and uses these to determine if the vent valve should be opened to allow the air to be bled from the hydraulic system. The vent valve can be a solenoid valve or a MEMs type valve or other type of vent valve mechanism which can be activated quickly and with a relatively low electrical power requirement.
The use of acoustic wave sensors in an aircraft air bleed valve is new and offers several advantages including low cost, reliability, ease of installation, low maintenance, accuracy and expanded functionality. In addition, this type of advanced sensor can be used as an integral part of a prognostic health management system. The acoustic wave sensor(s) can be one of several different types and configurations but the preferred version is that known in the art as a Shear Horizontal Surface Acoustic Wave (SH-SAW) device. This type of device works particularly well in the present air bleed valve system to sense the presence of air in hydraulic oil based system and can result in a more compact packaging which is easier to place within the aircraft.
The exemplary air bleed valve system is particularly adaptable for use in aircraft in that the air can be accurately sensed and then vented when the aircraft is in a suitable flight regime. When connected to a flight control system, operation can be automatic instead of manual. The exemplary system is mounted at the highest point where the air in hydraulic system is collected and will bleed air effectively even during flight without manual intervention and will not allow fluid leakage from the pressurized hydraulic reservoir even when the aircraft is in a high G or inverted orientation. The use of acoustic wave sensors in the air bleed valve provides more accurate and dependable venting of the air in the hydraulic system. These acoustic wave sensors are reliable and relatively inexpensive compared to prior art sensors. The output of the acoustic wave sensors can be electrically connected to an electronic circuit such as a computer so that input and output signals can be processed and used to control when an activation signal is sent to the vent valve for discharge of the excess air in the hydraulic system. Or, the sensors can be electrically connected to a stand-alone circuit that controls the air bleed valve. This circuit can communicate with a flight computer system that signals when the aircraft is in a flight mode that is conducive to the opening of the vent valve.
figref[FIG. 1] is a perspective view of a first embodiment of an acoustic wave sensor;
figref[FIG. 2] is a perspective view of a second embodiment of an acoustic wave sensor;
figref[FIG. 3] is a perspective view of a third embodiment of an acoustic wave sensor;
figref[FIG. 4] is a cross-sectional view of a test apparatus including an acoustic wave sensor;
figref[FIG. 5] is a cross-sectional view of a test apparatus including an alternate embodiment of an acoustic wave sensor;
figref[FIG. 6] is a graph of the response of the acoustic wave sensor shown in figref[FIG. 4] ; and
figref[FIG. 7] is a cross-sectional view of the exemplary air bleed valve.
Referring now to the discussion that follows and also to the drawings, illustrative approaches to the disclosed systems and methods are shown in detail. Although the drawings represent some possible approaches, the drawings are not necessarily to scale and certain features may be exaggerated, removed, or partially sectioned to better illustrate and explain the present disclosure. Further, the descriptions set forth herein are not intended to be exhaustive or otherwise limit or restrict the claims to the precise forms and configurations shown in the drawings and disclosed in the following detailed description.
Moreover, a number of constants may be introduced in the discussion that follows. In some cases illustrative values of the constants are provided. In other cases, no specific values are given. The values of the constants will depend on characteristics of the associated hardware and the interrelationship of such characteristics with one another as well as environmental conditions and the operational conditions associated with the disclosed system.
Now referring to figref[FIG. 1] of the drawings, a perspective view of a first embodiment of an acoustic wave sensor 10 that can sense hydraulic oil characteristics and utilizes a configuration known as a Shear Horizontal Surface Acoustic Wave (SH-SAW) device. An input transducer 12 is formed on the surface of the piezoelectric substrate 14 using a suitable thin film process and in a similar fashion; an output transducer 16 is also formed on the surface of the piezoelectric substrate 14 using a thin film process such as a photolithographic technology that is well known in the art. An electrical signal is provided to the input transducer 12 that will generate acoustic wave that propagates to the output (receiving) transducer 16 which generates an electrical signal that can be used to determine the properties of a fluid, such as hydraulic oil, that surrounds the piezoelectric substrate 14. Any change in physical, chemical, biological or electrical properties of media in contact with the acoustic wave sensor will cause corresponding change in the oscillating frequency of the acoustic wave generated by the input transducer 12, the acoustic wave generated by the input transducer 12 which is sensed by the output transducer 16 which generates an output electrical signal which can be connected to an electric circuit or a computer. The same principle is used to detect the presence or absence of a liquid which can be achieved when the piezoelectric substrate contacts the liquid and/or the air that is present and surrounds the acoustic wave sensor.
Now referring to figref[FIG. 2] of the drawings, a second alternative embodiment of the acoustic wave sensor 10A is shown. The acoustic wave sensor 10A is formed into a disc shape by reconfiguration of the input transducer 12A and the output transducer 16A into a partial nested hoop shape mounted on the piezoelectric disc 14A. This configuration is particularly adaptable to tight packaging situation where the object is to determine the properties of the media. The nested input and output transducers 12A, 16A provide for a compact geometry and reduce the cost of manufacture.
Now referring to figref[FIG. 3] of the drawings, a third alternative embodiment of the acoustic wave sensor 10B is shown in a perspective view. This sensor 10B is comprised of an input transducer 12B and an output transducer 16B which are formed using thin film or micromachining technology on the surface of a membrane 18 formed on the top of a piezoelectric layer 20 which is attached to a silicon substrate 14B.
Now referring to figref[FIGS. 4-6] of the drawings, the structures and results of the testing of an acoustic wave sensor 130A, 130B are shown. figref[FIG. 4] is a cross-sectional view of a test acoustic wave sensor 130 a which consists of a fluid 200 covering a sensing film 215 which is formed on a first electrode 220 the assembly of which is bonded or formed using thin film techniques or otherwise attached to an AT quartz substrate 210. On the opposite side of the substrate 210 is a second electrode 225 which is formed or bonded or otherwise attached to the substrate 210. An o-ring 230 is used to seal a containment ring 235 to the substrate 210 and holds the test fluid 200 so that it contacts the sensing film 215.
figref[FIG. 5] is a cross-sectional view of a test acoustic wave sensor 130 b which consists of a fluid 300 covering a first electrode 320 which is attached to and AT quartz substrate 310. On the opposite side of the substrate 310 is a second electrode 325 which is formed on or bonded or otherwise attached to the substrate 310. An o-ring 330 is used to seal a containment ring 335 to the substrate 310 and holds the test fluid 300 so that it contacts the first electrode 320.
The acoustic wave sensor 130A shown in figref[FIG. 4] was tested and the test results are shown in figref[FIG. 6] in a cross-sectional view of the acoustic wave sensor 130A and of the shape of the actual acoustic wave as it exists in the sensor 130A. The first electrode 220 and the second electrode 225 are connected across a voltage source 250 which supplies an alternating signal at a frequency of approximately 25 to 500 MHz to the first and second electrodes 220, 225 to excite the acoustic wave sensor 130A to form the acoustic wave 150.
Acoustic wave sensors such as 10, 10A or 10B are typically surface acoustic wave (SAW) type devices and act as band pass filters in both the radio frequency and intermediate frequency sections of the transceiver electronics. New applications outside of the telecommunications market include uses for air pressure sensors, chemical sensors, and sensors for commercial applications such as the sensing of vapor, humidity, and temperature. Acoustic wave sensors are cost effective, rugged, sensitive and reliable when used in an air bleed valve and especially in an air bleed valve for use in an aircraft.
Acoustic wave sensors are so named because their method of detection depends on an acoustic wave that propagates through or on the surface of a supporting layer. As the acoustic wave propagates through or on the surface of the material, any changes to the characteristics of the propagation path affect the velocity and/or amplitude of the acoustic wave. Changes in velocity of the travelling acoustic wave can be monitored by measuring the frequency or phase characteristics of the wave which can then be processed by an electronic circuit or computer to output the character of the physical quantity being measured.
The acoustic wave sensors 10, 10A, 10B of the exemplary invention make use of a piezoelectric material to generate the acoustic wave. An oscillating electrical current at a frequency of approximately 25 to 500 MHz is supplied to the input transducer 12, 12A, 12B which creates a mechanical stress which propagates through the substrate and is then converted back to an electric field by the output transducer 14, 14A, 14B and then outputted to an electronic circuit or computer for processing.
The exemplary acoustic wave sensors 10, 10A or 10B can be effectively fabricated by means of a photolithographic process similar to that used to make integrated circuits. Among the various piezoelectric materials that can be used for acoustic wave sensors and devices, the most popular are quartz (SiO2), lithium tantalite (LiTaO3), and lithium niobate (LiNbO3). Each has their own unique characteristics such as cost, temperature effects, attenuation and propagation velocity.
The acoustic wave that propagates through the substrate is called a bulk wave. The most commonly used bulk acoustic wave (BAW) devices are the thickness shear mode (TSM) resonator and the shear-horizontal acoustic plate mode (SH-APM) sensor. If the wave propagates on the surface of the substrate, it is known as a surface wave. The most widely used surface wave devices are the surface acoustic wave sensor and the shear-horizontal surface acoustic wave (SH-SAW) sensor as used in the present is also known as the surface transverse wave (STW) sensor.
The acoustic wave devices can be used to sense many different physical parameters including gas but only a subset will work when in contact with liquids. The TSM, SH-APM and SH-SAW all generate waves that propagate primarily in the shear horizontal direction. The shear horizontal wave does not radiate significantly into liquids and thus, there is not significant damping of the wave by the liquid. This characteristic makes these particular acoustic wave devices suitable for use in liquids such as hydraulic oil of the exemplary air bleed system. The SH-SAW type of device is shown in the present exemplary acoustic wave sensing system (see figref[FIGS. 1-3] and figref[FIG. 7] ).
SAW type sensors have the highest sensitivity of the acoustic sensors described above and typically operate from 25 to 500 MHz. In the case of liquid sensing, a SH-SAW should be used in that the wave propagation mode changes from a vertical shear SAW sensor to a shear-horizontal SAW sensor which dramatically reduces loss when liquids, such as hydraulic oil, come into contact with the sensor. The damping effect of the liquid is significantly reduced with the SH-SAW sensor which makes it suitable for use when detecting the presence and characteristics of liquids such as hydraulic oil. The acoustic wave sensors 10, 10A, 10B are shown as a SH-SAW type device. The range of phenomena that can be detected by this device can be determined by the coating used on the device. These devices can detect the characteristics of gas or liquids by coating the device with a material that undergo changes when exposed to the gas or liquid of interest. Changes in the coating cause the propagation of the wave to be changed which can be used to calculate the characteristics of the gas or liquid. The presence or absence of a liquid can thus be easily detected. If the particular acoustic wave sensor is sensitive to temperature changes, a second acoustic wave sensor can be used, either mounted in a non-stressed area of the substrate or a physically separate device can be used to compensate for changes in temperature.
Now referring to figref[FIG. 7] of the drawings, a cross-sectional view of the present exemplary air bleed valve system 50 is shown. The air bleed valve system 50 consists of a housing 51 which is connected to hydraulic reservoir and sealed with an O-ring 52 to prevent any external leakage. The hydraulic fluid 54 and the air within the hydraulic fluid 54 from the hydraulic reservoir will come in passage 53 and the air will be separated from the oil to form a volume 55. Two acoustic wave sensors 56 and 57 similar to either those shown in figref[FIGS. 1-3] are mounted in the housing 51. The sensor 57 will be mounted in such a way that it will always be immersed in the hydraulic fluid 54 and acts as a temperature compensator. The sensor 56 is mounted at a predetermined height inside the housing 51 and works as a liquid sensing SH-SAW acoustic wave sensor. When it is submerged in oil, a vent valve 59 remains closed and when the sensor 56 signals that air is present in the volume 55, then the vent valve 59 is opened to vent the air out of the volume 55. Oil then replaces the air that is vented.
The output signals from sensors 56 and 57 are sent to an air bleed controller 65 which processes and then compares the two signals from sensors 56 and 57 respectively and uses the result to determine whether to close or open the vent valve 59. The controller 65 can be a separate circuit or part of a larger multi-functional processing circuit or it can be connected to a flight computer system 67. The vent valve 59 can be a solenoid valve or a piezo actuator type valve or a voice coil based actuator or any other type of open and closing valve device. The valve 59 closes or opens the passage 60 to allow the air to travel from the volume 55 into passage 60 from where the air can be bleed outside the system through bleed port 62. The vent valve 59 can be configured to be normally closed when no activation signal is present. The air bleed controller 65 is an electronic circuit that can include a microprocessor that is programmed to process the electrical signals from the acoustic wave sensors 56, 57. The bleed controller 65 then can send a signal to activate the vent valve 59 if air is present in volume 55 instead of hydraulic oil. The air is then released from the volume 55 and is replaced by hydraulic fluid. At this time the sensors 56 and 57 should generate approximately equivalent output signals and the controller 65 would remove the activation signal from the vent valve 59 and it would close. Optionally, a flight computer system 67 is connected to the bleed controller 65 to signal when the aircraft is operating in a mode which is conducive to the venting of air from the hydraulic system.
The present disclosure has been particularly shown and described with reference to the foregoing illustrations, which are merely illustrative of the best modes for carrying out the disclosure. It should be understood by those skilled in the art that various alternatives to the illustrations of the disclosure described herein may be employed in practicing the disclosure without departing from the spirit and scope of the disclosure as defined in the following claims. It is intended that the following claims define the scope of the disclosure and that the method and apparatus within the scope of these claims and their equivalents be covered thereby. This description of the disclosure should be understood to include all novel and non-obvious combinations of elements described herein, and claims may be presented in this or a later application to any novel and non-obvious combination of these elements. Moreover, the foregoing illustrations are illustrative, and no single feature or element is essential to all possible combinations that may be claimed in this or a later application.


🐸
- 🐸FrogOS🐸 is a POC Gentoo-based operating system with an electron userspace, its on alpha 1.2.2
- source code components are separated into two different repositories
- It's a project made together with Rph.
- // Userspace
- // Skeleton+buildfiles
- // Rph website


Things are allmost ready for release...
Only a few minor things left and we ready.
We are planning on making weeklies, but please dont cry if someone of our devs skips a week...
Also we welcome Jason Surprenant as our new Nexus 5 (hammerhead) maintainer and fellow core developer, I qoute:
"Happy to be a part of the team guys, hope that I can help make this a stand out ROM, I bring a lot of experience to the table so I hope I can live up to ur expectations.."


This puzzling affair is mentioned in passing in Chapter Two of Unspeakable Desolation Pouring Down From The Stars. See Monday 21 June for an introductory note on this exciting serial, or click on the postage stamp to read it…


{% extends 'templates/nhs_transaction_layout.html' %}
{% import 'includes/ui_element_macros.html' as ui_element_macros %}
{% block afterHeader %}
{% include "includes/service-headers/cancel-or-change-an-appointment.html" %}
{% endblock %}
{% block content %}
Appointment confirmed
{{
ui_element_macros.appointment_summary({
appointment_date: 'Monday 28th January 2016',
appointment_time: '11:00',
appointment_days_away: '10',
avatar_img_path: '/public/images/icon-avatar-malcolm-branch.png',
name: 'Dr Malcolm Branch',
position: 'GP',
gender: 'male',
appointment_length: '10',
appointment_type: 'face to face',
appointment_type_class: 'face-to-face',
tools: 'true'
})
}}
{% endblock %}


//
Welcome to my website! Feel free to learn more about me in the Artist's Statement or contact me directly. Check back soon for updates!


Police: Armed Teaneck man barricaded self in home, set it on fire
by Eyewitness NewsTEANECK, New Jersey (WABC) -- A man in New Jersey is facing a long list of charges after police say he barricaded himself inside his home and set it on fire.
William Caraway was arrested Monday after police were called to his home in Teaneck.
When they arrived, they say Caraway was armed with several knives.
That's when they say he barricaded himself inside, running out a short time later after setting the apartment on fire.
When he refused to stop, officers used a Taser to subdue him.
Several officers had to be treated for smoke inhalation.


Vardy takes Leicester to 3rd in Premier League
LONDON (AP) - Former champion Leicester continued its strong showing in the Premier League this season with a 2-0 win at Crystal Palace on Sunday.
Leicester moved third after Turkey defender Caglar Söyüncü opened the scoring with his first goal for the club in the 57th minute, when he was left free to head in after a deflected corner.
Jamie Vardy sealed the result in the 88th after a fine combination with Demarai Gray.
Palace failed to register an effort on target in the first half. Leicester goalkeeper Kasper Schmeichel tipped away former teammate Jeffrey Schlupp’s deflected effort before Jonny Evans blocked Luka Milivojevic’s low effort in the second.
Schmeichel was forced to kick away several objects thrown onto the field from fans in the first half.
Leicester, the 2016 champion, moved ahead of Chelsea on goal difference. It’s two points behind Manchester City and eight behind league leader Liverpool after 11 games.
Palace dropped to ninth.
More AP soccer: https://apnews.com/Soccer and https://twitter.com/AP_Sports
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.