Downloading, Parsing & Converting
We support downloading data from given urls. The data is downloaded by using Python' requests library as a stream. After this is done, depending on the extension of data, we support both CSV and WOD files (including CTD, OSD and MBT), the data is either converted to CSV file first then to Json file or it is directly converted to Json.
If the extension is CSV, then the data are simply converted into JSON objects. The download stream is firstly written into a CSV file. Then by using the mmap library supported by Python, the CSV file is opened in memory. Using this library to read each line from the CSV file, decoding them to utf-8 by Python byte.decode() and filter off any empty strings in the fle. Using json.dumps() to format each line into json objects.
In the case of WOD(World Ocean Database), the files contain ocean data measured at standard and observed depth level for different regions organised in squares of 10 degrees latitude and longitude.
In the region containing Saint Lucia, 7 dataset types are found such as OSD (containing bottle, low-resolution CTD and XCTD, and plankton data) and XBT (containing expendable bathythermograph data). For more details, please check https://www.ncei.noaa.gov/access/world-ocean-database/bin/getgeodata.pl?Depth=O&WorldOcean.x=612&WorldOcean.y=264.
The files are downloaded in .gz formats, decompressed inside Python using the gzip Python library and parsed into CSV by running the C script provided by the WOD site. From CSV, the file is converted to JSON as previously stated.
Because the C script can filter the data based on the information read from standard input, we modified the program to read the commands from a text file, which can be automatically or manually changed. In this way, a user can simply update the .txt file, without knowing how the Python or C programs work.
Optionally Enhancing the Dataset
Before converting the CSV files to JSON, they can optionally be restricted to a specific region and/or enhanced with predicted weather data.
For our project, we only needed information specific to Saint Lucia. Thus, we implemented a point in polygon algorithm similar to the one presented in https://www.geeksforgeeks.org/how-to-check-if-a-given-point-lies-inside-a-polygon/. Given a CSV file, the program (SaintLuciaDataset/createSaintLuciaCSV.py) checks for each row if the location it represents is inside a specific polygon region. The polygon region is read from a text file, which contains on each line the latitude and longitude coordinates of the vertices. An example can be found at SaintLuciaDataset/StLuciaCoords.
To provide an example of how the data can be enhanced, we implemented a simple SVM prediction model which adds wind speed and average rain.
Uploading the Data to Blob Storage
After the deployment is finished, the code first uses load_dotenv() from Python dotenv library to get the environment variables set by users in the .env file.
The code uses the azure.storage.blob library to connect to the blob service client by the connection string provided in the .env file. It creates a container client that creates a container in azure service with the specified container name in .env file. Then it creates a blob client which creates a blob file inside the container with the name as the filename. Using upload_blob() API to push the processed json objects to the created blob.
Storing in Azure Table Storage
We found out there were various types of datasets that could be used to store our data in Azure datasets, for instance: SQL, Table and Queue. The team decided to use Table Storage as the dataset because there was no need to query and analyze data from the datasets. The only feature we acquired was to filter off data, which can be simply done with Table Storage.
After deployment is set, once there is any creation of blobs inside the specified container, the azure function would automatically convert the blob to a table storage.
The azure function we use, is detecting any events happening to the storage account. At deployment, we set the event to be only BlobCreated. The azure.function library Python supports parsing event's event_type (this case we want the type of event to be Microsoft.Storage.BlobCreated) and event_subject (which contains the name of the container where event happens and the name of the blob created). Meantime, the code connects to the TableService using the connection string. Thereafter, the service creates a Table using the blob name as the table name.
In order to push the contents from the json object to the table, we need to create entities. Each entity, specified in azure.cosmosdb.table library, must have PartitionKey and RowKey. We use the table name as the PartitionKey for most of the data, except the data has 'Cruise_ID' in it. By giving each content from the json object with its according PartitionKey and RowKey, the entities are therefore added to a batch list.
TableBatch() is used to send at most 100 table operations to the table service at one time. Because of this limit, we separate the entities in the list into children lists with maximum size 100. Then use the API TableService.commit_batch() to send the batched operations (at most 100 at once) to the table; therefore, the data (entities) in the table are added.
Progressive Web App
Our Progressive Web App takes data from Azure Storage using our Flask API and displays it using maps, tables or charts.
By following the tutorial in https://docs.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/get-started, we started with creating a simple Node Express app. To make the app a PWA, three main requirements need to be satisfied: it must be served over HTTPS, have a web app manifest and register a service worker with a fetch event handler.
The web app manifest is a JSON file containing metadata about the app. We added app name, description, theme colour and an icon, which will appear on users' screen if installed.
The service worker was implemented starting from the Cache-first service worker provided by PWA Builder https://www.pwabuilder.com/serviceworker. The code uses the pwa-update component to register the service worker, tell the user when there is an update available and when the PWA can be used offline. It uses WorkBox https://developers.google.com/web/tools/workbox/modules/workbox-strategies to pre-cache all the content so that it's available offline. On top of it, we added push notifications, error handling and cache versioning.
The service worker was implemented starting from the Cache-first service worker provided by PWA Builder https://www.pwabuilder.com/serviceworker. The code uses the pwa-update component to register the service worker, tell the user when there is an update available and when the PWA can be used offline. It uses WorkBox https://developers.google.com/web/tools/workbox/modules/workbox-strategies to pre-cache all the content so that it's available offline. On top of it, we added push notifications, error handling and cache versioning. Using push and notificationClick events, push notifications sent from the server are displayed on users' screens.
The error handling ensures that when a fetch event is unsuccessful, an appropriate message is shown to the user. For example, if an offline user tries to access a resource that is not cached, depending on the resource type, either an HTML fallback page will be displayed or a simple error image.
We used cache versioning to ensure that when the app content is updated, the cache is updated and changes are reflected. More specifically, when content is changed and the service worker is activated, the modified data is added to the new cache. For efficiency, all previous caches are then deleted.
Additionally, we added authentication with Microsoft accounts using the pwa-auth component provided by pwabuilder. To get authentication tokens, we created an Azure App Registration resource and set the main page of our app as the URL which will return the authentication response.The app listens for the "signin-completed" event, which will redirect users to their logged-in page.
Once logged-in, the user can search for data specific to a FAD id, view a map with the locations of the existing FADs, as well as tables and charts.
Elements in the PWA
Lots of elements of our PWA use Bootstrap, an open-source JavaScript and CSS file provider, with tons of available themes and components.
On the top of the app there is a search bar to type in the ID of the FAD you want to search. Then it will show the information of the specific FAD. We used “Button addons” of “input groups” from Bootstrap library. In general, it combines a “input” tag and a “button” tag to form the search bar. When you input the ID and click search, a JavaScript function will then call search by ID result page, with “?” added in the end followed by the ID you typed in. The things after “?” in a URL will not affect the call of a certain page, however it can pass values. Then, in the search by ID result page, we use ( window.location.href.split("?")[1] ) to get the values behind “?”, and use it to search the specific FAD. For this part’s searching result, we use table view, the details of implementation will follow.
Below the search bar there are two blocks, where you can see all the current existing data by Azure Maps or Table.
The maps visualization has a search bar, a list of nearby FADs, and markers on the map for the FADs' locations. When the page is initialised, the Azure map is loaded with additional components such as layers and a datasource. Then, using the API, the javascript file will fetch the FAD JSON dataset, parse it, store the necessary information, and add the unique point locations to the map's datasource. In addition, an invisible pop-up window is created. Concretely, when a user enters a location in the search bar, for example, "Saint Lucia", a search will be performed and the map will re-centre to the found location. Additionally, the FADs visible on the map will be displayed in the menu panel sorted increasingly by the distance to the centre. If a user clicks on the icon of a FAD, the pop-up window will be displayed with details about the FAD, a link for additional information, and a checkbox. If a user clicks on the checkbox, the previous locations of that FAD will be displayed as blue markers, linked together by a dashed line. The past locations are retrieved using an API call for data, given the id of the particular FAD. If the checkbox is unchecked, the line will be set to invisible. Thus, a subsequent check on the box will simply set the line to visible again, instead of reconstructing it. For efficiency, rather than creating a pop-up for each FAD, the same object will be updated and reused. Because the HTML is dynamically modified, a dictionary is used to keep track of the states of FAD's checkboxes. For better visualization, when the zoom level of the map is below a chosen value, the FAD icons will be grouped in clusters, and only a marker with the number of FADs around that location will be shown.
At the bottom of the page, you can select the particular searching elements like locations and countries of the FADs. Then you can choose to display the data by table or graphs. We used “Checkbox” button groups in Bootstrap library. It combines button-like checkboxes into a seamless looking button group. We use a list to pass required searching elements to the searching result page. Everytime the user selects an element, the corresponding keyword will be pushed to the list (A second click will remove it of course). Then when the user clicks the view button, the list will be assigned to the result page URL after a “?”. We use the URL ( html file name + ? + the list ) to call the corresponding data views page and tell it which part of data should be displayed. We then use ( window.location.href.split("?")[1].split(",") ) to get the list behind the actual URL. After that, we use ( arr.includes(itemInList) ) to see whether a particular searching element is in the list or not. If it is in the list, we will include it in the result table.
For table view we use the content “Tables” in Bootstrap library. We have a "table" HTML elements that are static in the table view page. Then according to the user's need, the app will figure out the number of columns needed. (e.g. for location we need at least FAD_ID, Latitude and Longitude etc., which means 3 columns, however we may also include other useful info such as data and time) Then we will get data from our database, add the received data to the table by creating new rows. More information of how we get and process incoming data will follow.
For Graph view, we use “plotly.js”, which is another open-source JavaScript library that focuses on generating graphs. Basically, we pass our data into one or two keys in a dictionary, with other keys stating the type of graph (e.g. bar chart or pie chart etc.). Then using existing functions in plotly.js, it will be displayed via graphs.
API for getting Data
Using the express-http-proxy npm module, web calls to /API/ will be redirected to the Flask application, which is implemented in app.py. Using the app.route annotation, all calls to API/StLuciaBorder will call the index() function, which returns a set of pairs of latitude and longitude corresponding to the St.Lucia border polygon. Using the FAD class, which inherits Resource from flask_restful, all get and put requests to '/API/FAD/index' will call the corresponding methods. For instance, GET requests to '/API/FAD/index' will return a JSON object with all information found for the FAD with id index. If no FAD was found, the 404 error will be sent with an appropriate message. Likewise, PUT requests to /API/FAD/index will add the information sent as arguments to the local data corresponding to the FAD with id index. If the provided data is invalid or incomplete, the 400 error will be sent.
The flask application was designed to decouple the logic of internal storage from the data retrieval process. For instance, using Azure Table Storage instead of file storage would require minor changes to app.py, such that users can switch between database and local file storage at any time. The file storage version, implemented in getFADs.py, uses pandas to read and update the dataset in CSV format. The other version, implemented in getFADsTableStorage.py, performs reads and writes to our database using the Azure Cosmos DB Python client library.


A biomedical/biotechnology company focused on developing low-cost affordable medical devices for the biggest healthcare problems in the developing world.
Why Choose Us?
Affordability,Trust and Committment are such things not available easily ,and here we are with


2 Samuel 19:34
And Barzillai said unto the king, How long have I to live, that I should go up with the king unto Jerusalem?


This happened when I was 22 years old. Id say that it was the most intense mind expanding experience of my life.
My buddies and I lived together in a house and every weekend we d have big parties. I had read and been deeply influenced by the shamanistic description of the world described by Carlos Casteneda. I was experienced with mushrooms, acid, weed and drunkeness and was eager to try more. One day one of my buddies told me that some young drug dealer he knew had peyote buttons for sale so we bought three.
I didnt find out until recently that what we took was not peyote but actually Datura.
The party had started and I was relatively drunk. My buddy showed up with these three little green vegetable things. Definately the large buds of flowers with little bumps on them that used to be spines. Three of us pop them into our mouths and they taste really bitter but juicy like a rotten green pepper or something.
Very quickly like 45 minutes later or so I was expereincing strong visual distortions that were similar to mushrooms or acid. Melting walls, intense colors, patterns. And I though wow this is going to be cool!
But then I was downstairs and there were bottles all around and everyone was gone. I asked my buddy where is everyone. And then he told me that the party was over and it was the next day. My memory was extremely messed up. Over the next little while I peiced together what had happened from my own mind and the veiwpoint of witnesses.
Here goes:
After everything starting melting like a strong acid trip me and my two freinds passed out for about half an hour. When we woke up we were sleep walking. Half in the reality of the party, half in an illusionary reality. It was impossible to differentiate between the two. When we spoke it would come out as complete gibberish. But to us we were speaking very clearly. We were all very happy throughout the whole trip.
At one point I was talking gibberish to some people at the top of a staircase when I decided to just fall over. Witnesses said it seemed like I did it purposefully. I just leaned over and fell all the way down to the bottom of the staricase and got up without injury, and just continued wandering around.
It really seemed to witnesses as if we were retarded. Speaking and looking just like mentally handicapped people do. We really were in a dream.
I kept telling everyone about this huge tower that was 1000 feet high and 1000 years old and I was pointing to it. Also I talked about a tropical beach and a harbour. At one point I had a long discussion with a girl about special ways to hold your hands to prevent yourself from being harmed from psychic attacks. These details I gathered from witnesses.
The interesting thing about our hallucinations is that sometimes it seems like the three of us could hallucinate about the same thing. One time I had this sort of puking fit and couphed and couphed and then puked all over the floor. My tripping buddies came over and we looked at the puke. But I actually didnt puke. We were hallucinating it together.
For a period my buddies thought they were at work and were working together in the kitchen thinking it was the kitchen of their actual job. They seemed to have a great time as they cooked up invisible meals and washed invisible dishes.
All of us really wanted to climb and we were climbing the staircase and bookshelves etc. All of this I have no memory of.
My memory comes back towards the end of the trip. At this point I would be partly dreaming and then be shifting between the two realities.  And Id be smoking really enjoying watching the smoke and talking. And then Bang! Id suddenly realize that I was talking to the wall and I was just waving my fingers around thinking I was smoking. This weird effect lasted for a long time but I was entertained by it rather than frightened. Id think someone was there and start talking to them and then they d just disapear. The crazy thing is that at this point I got in my car and drove to another house and was alone there talking to invisible people for some time before returning to the party. (or was that a total hallucination)
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!]
Although it seems like it would be disturbing, for some reason I was always happy and it seemed like I was in control. I really cant emphasize more that it was a dreaming expereince. I had a good time because I had good dreams. I reckon that If I was stressed and had nightmares, it could have been disasterous. My confidence might have been a result of the achohol, so might have been the forgetfullness.
Our pupils stay dilated for a few days afterwards and my vision was distorted. Also severe cottonmouth throughout. We kept drinking cup after cup of water but our thirst could not be satisfied
This event was a turning point in my life. I had been shown how reality is all relative. Everybodys mind can generate reailties that are perfectly real. So you realize that nothing is truly real. Everything is relative. The bhudist concept of Maya is illustrated. Its not just a metaphor any more. The occult implications of this are profound.
There s no way of knowing whether the entities and realities I experienced were actual living things and places or simply figments of my imagination. But it made me question the reality of everything around me.
I would definately experience with Datura again if I could find it. Especially exciting was the fact that many of us could expereince the same dream together. With practice I feel this plant could really teach you a lot! But its hardcore. Definately not for those prone to bad trips. Extensive experience with other hallucanegens like acid or mushrooms are reccomended. Also the party scene was not really the best I feel. This plant needs to be respected.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


My Friends
Name
Degree
Profession
Gary
Btech
Full Stach Developer
Steve
Btech
Front End Developer
Crank
Btech
Bank Employee
Sonam
Btech
Manager
Tanu
CA
Audit Manager
Mark
BCA
Manager
Swat
Btech
Front End Developer


Home
Location and Hours
About Us
Merchandise
Our Official Salmon Cookie Merchendise
Cookie Cutters $9.99
Fish Magnets $5.99
Frosted Salmon Cookies $9.99
T-shirts $19.99


No more quests available to join. Go toMy Quests to embark or continue on a quest!
{{quest.description}}


TABLE OF CONTENT
A. GS1 Related B. GS2 Related Polity 1. Bihar Governor Ram Nath Kovind is NDA’s presidential candidate 2. GST: Anti-profiteering panel to levy penalty, to have sunset date of two years B. GS2 Related International Relations 1. India becomes 71st country to ratify United Nations TIR Convention C. GS3 Related Economy 1. Fuel price revisions: Burying the administered price mechanism ghost 2. Nitty-gritty of bankruptcy code Internal Security/Disaster Management 1. Scorpene submarines to join Navy without AIP modules 2. Issue over poor man’s food jowar: House panel questions need to develop GM Sorghum D. GS4 Related E. Concepts-in-News: Related Concepts to Revise/Learn F. Bills/Acts/Schemes/Orgs in News G. Practice Questions for UPSC Prelims Exam
UPSC Current Affairs 2017: News Analysis
A. GS1 Related
Nothing here for today!!!
B. GS2 Related
1. Bihar Governor Ram Nath Kovind is NDA’s presidential candidate
Context: The NDA government at the Centre has named Dalit politician Ram Nath Kovind as its Presidential candidate
Who is Mr. Kovind?
- Presently the governor of Bihar
- He is a two-time Rajya Sabha member
- BJP’s former national spokesperson
- He headed the BJP’s Scheduled Caste Morcha between 1999 and 2002
- Hailing from the Koli community, which is classified as a Scheduled Caste in Uttar Pradesh
- Kovind was an advocate by profession before entering politics full-time
Basic Information:
President election
- The President of the Republic of India is the Head of State of India and the Commander-in-chief of the Indian Armed Forces
- The President is indirectly elected by the people through elected members of both the houses of the Parliament of India, the Legislative Assemblies of all the states of India and the Legislative Assembly of the Union Territory of Puducherry, as well as, the Legislative Assembly of the National Capital Territory of Delhi
- The election is held in accordance to the system of Proportional representation by means of the Single transferable vote method
- The voting takes place by secret ballot system
- The manner of election of President is provided by Article 55 of the Constitution
- Each elector casts a different number of votes
- The general principle is that the total number of votes cast by Members of Parliament equals the total number of votes cast by State Legislators
- Legislators from larger states cast more votes than those from smaller states
- The actual calculation for votes cast by a particular state is calculated by dividing the state’s population by 1000, which is divided again by the number of legislators from the State voting in the electoral college
- This number is the number of votes per legislator in a given state
- Every elected member of the parliament enjoys the same number of votes, which may be obtained by dividing the total number of votes assigned to the members of legislative assemblies by the total number of elected representatives of the parliament
2. GST: Anti-profiteering panel to levy penalty, to have sunset date of two years
In News:
- The National Anti-Profiteering Authority, to be set up under the Goods and Services Tax (GST) regime, will have wide-ranging powers
- It will be able to issue notices to anybody that it feels warrants a “fair enquiry,” as per the rules finalised by the GST Council
Powers given to authority:
- Order a reduction in prices
- Impose a penalty
- Cancel the registration of a company deemed to have not passed on a tax rate reduction to consumers
Structure of proposed authority:
- Authority is to be chaired by either a retired High Court judge OR a member of the Indian Legal Service who has at least three years of experience at the level of Additional Secretary or higher.
Process:
- Step 1: There will be a Standing Committee, which would receive complaints from anyone about profiteering practices
- Step 2: The Standing Committee, after reviewing the prima facie evidence, will refer the matter to the Director-General of Safeguards (DGS) for a detailed investigation
- Step 3: The DGS must complete its investigation within three months of receiving the reference from the Standing Committee OR furnish in writing reasons for a delay, which itself cannot exceed three months more
Total time to be taken: The Authority will have three months to issue its verdict following the investigation by the DGS, which means the entire procedure, from investigation to verdict, cannot exceed nine months
Basic Information:
Anti Profiteering:
- Since goods and services are taxed at multiple stages of supply chain, any changes in tax structure or tax rates create an opportunity for improved profit margin at each stage of supply chain.
- Clause 171 has been inserted in the GST bill which provides that it is mandatory to pass on the benefit due to reduction in rate of tax or from input tax credit to the consumer by way of commensurate reduction in prices.
Category: INTERNATIONAL RELATIONS
1. India becomes 71st country to ratify United Nations TIR Convention
Context
- India has become the 71st country to ratify the United Nations TIR Convention
- This will boost trade and regional integration across South Asia and beyond
- The step will also fast-track the region’s potential to become a strategic trade hub
What is TIR?
- TIR is the global standard for goods customs transit managed and developed by IRU
- IRU is the world road transport organization
- China was the last TIR contracting party who acceded to the Convention on July 6, 2016
- The TIR system has been facilitating trade and international road transport for over 60 years
- It allows customs-sealed vehicles and freight containers to transit countries, without border checks
Advantages of joining TIR
- Accession to the TIR Convention is part of India’s multi-modal transport strategy
- It aims to integrate the economy with global and regional production networks through better connectivity
- TIR will help India to integrate with Myanmar and Thailand as well as Bangladesh, Bhutan and Nepal
- It will also enable India to move cargo along the International North-South Transport Corridor via Chabahar port in Iran
- This will make it easier to access land-locked Afghanistan and the energy-rich Eurasian region
Financial benefits
- According to a study in the UNESCAP region, it is estimated that implementing TIR could generate economic benefits ranging from 0.14 to 1.31% of national GDP
- Adopting TIR in selected UNESCAP (United Nations Economic and Social Commission for Asia and the Pacific) countries including India will save USD 35 billion in transit costs over five years
Basic Information
UN TIR Convention:
- The Convention on International Transport of Goods Under Cover of TIR Carnets (TIR Convention) is a multilateral treaty that was concluded at Geneva on 14 November 1975
- It was to simplify and harmonise the administrative formalities of international road transport
- TIR stands for ‘Transports Internationaux Routiers’ or ‘International Road Transports’
- The conventions were adopted under the auspices of the United Nations Economic Commission for Europe (UNECE)
- The TIR Convention establishes an international customs transit system with maximum facility to move goods:
- In sealed vehicles or containers;
- From a customs office of departure in one country to a customs office of destination in another country;
- Without requiring extensive and time-consuming border checks at intermediate borders;
- Providing customs authorities with the required security and guarantee
- The TIR system not only covers customs transit by road but a combination is possible with other modes of transport (e.g., rail, inland waterway, and even maritime transport), as long as at least one part of the total transport is made by road
C. GS3 Related
1. Fuel price revisions: Burying the administered price mechanism ghost
In News:
- India has formally dismantled the administered price mechanism or APM for petrol and diesel
- In India, like in the US and Australia, domestic diesel and petrol prices have now been globalized
Effects on Indian Economy Structure:
- India is now a step closer to become a competitive market economy defined by rules as opposed to the existing exception-based regime
Drawbacks of earlier system:
- Prior to this decision, petroleum prices were administered (read subsidized)
- It lead to inefficient allocation of a scarce resource
- It also became a fiscal problem, as the subsidies were buried in what was known as the oil pool account, details of which were all but opaque
Challenges:
- At present, crude oil prices are hovering around the $50 mark.
But if price increases then it can create political problems for government
2. Nitty-gritty of bankruptcy code
In News:
- Reserve Bank of India said its internal advisory committee (IAC) had identified 12 accounts, which account for 25% of non-performing assets of the Indian banking system for immediate resolution under the Insolvency and Bankruptcy Code (IBC)
- The gross bad debt in the banking system as on March was Rs. 7.11 lakh crore, which means the 12 accounts contribute to about Rs. 1.78 lakh crore
Meaning of bankruptcy
A company is bankrupt if it is unable to repay debts to its creditors (banks, suppliers etc).
Bankruptcy out come:
- The inability to repay debts by some of the Indian firms has resulted in a huge pile of non-performing assets for the banking system
- RBI had earlier hinted that stress was coming from sectors such as power, telecom, steel, textiles and aviation
RBI and IBC role:
- The government had recently amended the RBI Act
- It gave powers to the central bank to direct banks to take punitive action against individual accounts under IBC
IBC Process:
A mechanism to free up the money stuck as bad loans is one of the key for the banking system. IBC is seen as one such
- Step 1: Any creditor including banks can start bankruptcy proceedings against defaulters by filing a petition with the National Company Law Tribunal
- Step 2: After that, an insolvency professional with significant powers is appointed to take control of the defaulting company and assist the process
- Step 3: A creditors committee is formed to represent the interest of lenders and any other party that have been affected due to the default by the company
Committee task:
- The committee should come up with a resolution plan (which may include selling off defaulted loans or liquidate the company outright)
- The resolution would require a nod from 75% of the creditors on the committee
Timeline:
- The insolvency professional gets 180 days to come up with a feasible solution on the default issue. The timeline can be extended by another 90 days
After Deadline:
- If no solution is found within 270 days, a liquidator is appointed
- The company can also opt for voluntary liquidation by a special resolution in a general meeting
Basic Information:
The National Company Law Tribunal (NCLT):
- The National Company Law Tribunal (NCLT) is a quasi-judicial body in India that adjudicates issues relating to companies in India. The NCLT was established under the Companies Act 2013 and was constituted on 1 June 2016
- The NCLT has the power under the Companies Act to adjudicate proceedings:
- Initiated before the Company Law Board under the previous act (the Companies Act 1956);
- Pending before the Board for Industrial and Financial Reconstruction (BIFR), including those pending under the Sick Industrial Companies (Special Provisions) Act, 1985;
- Pending before the Appellate Authority for Industrial and Financial Reconstruction; and
- Pertaining to claims of oppression and mismanagement of a company, winding up of companies and all other powers prescribed under the Companies Act.
- Decisions of the NCLT may be appealed to the National Company Law Appellate Tribunal.
1. Scorpene submarines to join Navy without AIP modules
Context
- The last two Scorpene submarines to be rolled out of the manufacturing line without the Air Independent Propulsion (AIP) system
- Air Independent Propulsion (AIP) system: This system is meant to extend the reach of the conventional diesel-electric submarines
Manufacturers: Two of the six Scorpene submarines are being manufactured by Mazgaon Docks Limited (MDL) in Mumbai
What is AIP module?
- The AIP module is being developed by Defence Research and Development Organisation (DRDO)
- The module enables conventional submarines to stay remain underwater for a longer duration
- It greatly increases the submarines stealth characteristics
Option available:
- The only option of installing the AIP system is during the refit of the submarine. This is six years after induction
Basic Information:
Scorpene submarine
- The Scorpène-class submarines are a class of diesel-electric attack submarines
- They are jointly developed by the French Direction des Constructions Navales (DCN) and the Spanish company Navantia, and now by DCNS
- It features diesel propulsion and additional air-independent propulsion (AIP).
2. Issue over poor man’s food jowar: House panel questions need to develop GM Sorghum
Context
- The controversy over GM Mustard rages on
- Another row is over GM crop version of jowar – or sorghum
- Sorghum is said to be the poor man’s food in India
Parliamentary Committee to study GM:
- The Parliamentary Standing Committee on Science and Technology, Environment and Forests has decided to seek clarifications from Union Agriculture Ministry, and also ask the National Institute of Nutrition (NIN) to do a comparative analysis of the nutritional values of GM and non-GM sorghum
- The panel is examining the issue of GM crops and its impact on environment
- It has called for samples of the crop developed by the Hyderabad-based Indian Institute of Millets Research (IIMR)
Questions of this committee
- To know the need to develop a genetically modified version of sorghum, which is the poor man’s food
- Sorghum yield was already not fetching a good market price and was more than enough to meet the demand
- So why was GM Sorghum required?
- The committee wants to know whether there is a plan to introduce GM Sorghum in ration shops under the PDS
Finances for GM Sorghum
- The panel will look into issues such as expenditure incurred on research for GM Sorghum
- The money from the public exchequer was spent on GM Sorghum research even before any forward-backward linkage planning was done
Advantage of Bt Sorghum
- IIMR had begun research on transgenic jowar around four years ago
- It has now developed Bt Sorghum
- This is bigger in size
- It also has greater pest resistance
Activist opinion:
- Activists contend that the Central government should not allow consumption of genetically modified jowar by either humans or animals
- They argue that since jowar is largely consumed by the poor, any ill-effect of the GM variety will impact more people
- It will affect those without much access to preventive medicare
Basic Information:
- Clearance giving Committee: Genetic Engineering Appraisal Committee (GEAC)
History of Bt crops in India
- The only genetically modified crop that is under cultivation in India is Bt Cotton
- There was a proposal to allow cultivation of Bt Brinjal, a transgenic variety of brinjal, which did not receive approval
D. GS4 Related
Nothing here for Today!!!
PIB Articles Editorials Roundup
E. Concepts-in-News: Related Concepts to Revise/Learn
F. Bills/Acts/Schemes/Orgs in News
|
Scheme in News |
About the Scheme |
|
Zero Defect Zero Effect Scheme |
Benefits of ZED:
|
|
Article in News |
About the Article |
|
Article 55. Manner of election of President |
(1) As far as practicable, there shall be uniformity in the scale of representation of the d different States at the election of the President (2) For the purpose of securing such uniformity among the States inter se as well as parity between the States as a whole and the Union, the number of votes which each elected member of Parliament and of the Legislative Assembly of each State is entitled to cast at such election shall be determined in the following manner: (a) every elected member of the Legislative Assembly of a State shall have as many votes as there are multiples of one thousand in the quotient obtained by dividing the population of the State by the total number of the elected members of the Assembly; (b) if, after taking the said multiples of one thousand, the remainder is not less than five hundred, then the vote of each member referred to in sub clause (a) shall be further increased by one; (c) each elected member of either House of Parliament shall have such number of votes as may be obtained by dividing the total number of votes assigned to the members of the Legislative Assemblies of the States under sub clause (a) and (b) by the total number of the elected members of both Houses of Parliament, fractions exceeding one half being counted as one and other fractions being disregarded (3) The election of the President shall be held in accordance with the system of proportional representation by means of the single transferable vote and the voting at such election shall be by secret ballot Explanation n this article, the expression population means the population ascertained at the last preceding census of which the relevant figures have been published: Provided that the reference in this Explanation to the last preceding census of which the relevant figures have been published shall, until the relevant figures for the first census taken after the year 2000 have been published, be construed as a reference to the 1971 census |
G. Practice Questions for UPSC Prelims Exam
Question 1: Zero defect zero effect scheme is associated with which sector
- Agriculture
- MSME (Micro, Small and Medium Enterprises)
- Heavy Industries
- Service sector
Question 2: President of India is elected by
- Members of Parliament
- Elected members of Parliament
- Elected members of parliament along with the elected members of State legislative councils.
- None of the above
Question 3: Consider the following statements with reference to The National Company
Law Tribunal:
- NCLT is a quasi judicial body
- NCLT is a constitutional organization
- NCLT is a statutory organization.
- The NCLT was established under the Companies Act 2013.
Choose the correct statement.
- 1 only
- 1,3 and 4 only
- 1,2 and 4 only
- None of the above
Question 4: Often we see “Air Independent Propulsion” term in news, it is associated with
- Submarines
- Cruise missiles
- Helicopters
- Aircrafts
“Proper Current Affairs preparation is the key to success in the UPSC- Civil Services Examination. We have now launched a comprehensive ‘Online Current Affairs Crash Course’. Limited seats available. Click here to Know More.”
Practice More: Enroll for India’s Largest All-India Test Series


You can now keep track of all the weekly and monthly activities for your customers. Track individual goals on yearly basis.
Visit the the weekly and monthly task items to update the status of each activity
| Customer Name | {{task.title}} |
|---|---|
| {{customer.key}} |


{% extends "modeladmin/delete.html" %} {% load i18n modeladmin_tags %} {% block content_main %}
{% blocktrans with instance as instance_name %}'{{ instance_name }}' is currently referenced by other objects, and cannot be deleted without jeopardising data integrity. To delete it successfully, first remove references from the following objects, then try again:{% endblocktrans %}
{% trans 'Go back to listing' %}
{% elif cannot_delete_page_variants_error %}{% blocktrans %}You need to have permissions to delete the page variants associated with this segment.{% endblocktrans %} {% else %} {% with page_variants=view.get_affected_page_objects %} {% if page_variants %}
{% blocktrans %}Deleting the segment will also mean deleting all the page variants associated with it. Do you want to continue?{% endblocktrans %}
{% blocktrans %}The page objects that will be deleted are:{% endblocktrans %}
{% blocktrans %}Do you want to continue deleting this segment?{% endblocktrans %}
{% trans 'Yes, delete the segment' as submit_button_value %} {% endif %} {% endwith %} {% endif %}


{% extends "base.html" %}
{% block pagecss %}
{% endblock %}
{% block pagehead %}
Lunar 400 and Mezza-Luna 200
Eugene — Forest Grove — Eugene
May 27, 2023 (evening start)
{% endblock %}
{% block subhead %}{% endblock %}
{% block content %}
Please fill the form by 8pm Thursday. Bring $5 cash ride fee to the start.
This is an evening start brevet. All riders (200k and 400k) will begin Saturday at 8pm and reach Forest Grove Sunday morning. Forest Grove is the finish for 200k riders, and the turn-around point for 400k riders, who will return to Eugene by Sunday evening. Plan to sleep Sunday night and enjoy an outdoor brunch together before driving home Monday (Memorial day holiday).
Most riders do not sleep on a 400k brevet, and there are no sleeping facilities on route. This is good practice in particular if you are considering an evening start on Paris-Brest-Paris, although PBP is much hillier than this route.
We will start at Falling Sky brew-pub, 1334 Oak Alley (just off 13th street between Willamette and Oak). We proceed north through Coburg, Brownsville, and Jefferson and through Salem to Dayton and Forest Grove. Fast riders may need to control at Plaid Pantry in Forest Grove (open 24 hours). Those making Forest Grove after 5:30am can find breakfast at Starbucks. The return leg retraces part of the outbound, to Dayton, but then stays on the west side of I-5 through Independence and Albany to Harrisburg and Coburg. We finish again at Falling Sky brew-pub, which has good bike parking. Cyndi will have U-locks to secure bicycles to a rack visible from within so that you can enjoy your food and beer.
There are lots of convenience stores on this route, but no staffed controls aside from start and finish. The return leg could be hot, but convenience stores are spaced closely enough that two bottles should be sufficient. Summer winds in the Willamette Valley are typically from the north.
There are roughly 7 miles of gravel on this route, starting around mile 163. It's not particularly deep or coarse, but it is loose and on a couple of small hills it takes some skill to maintain traction. There is some mild washboard, and a mile or two of more severe washboard. If you have a choice of bicycles or a choice of wheels, I would favor one with 32mm or fatter tires, even though the gravel section is a small portion of the overall route. Skinny tire riders can put enough time in the bank overnight to afford walking a portion of the gravel.
Map and downloadable track:
https://ridewithgps.com/routes/27932473
;
Cue sheet (pdf)
(xls).
Contact for more information:
<EMAIL_ADDRESS>This brevet is sanctioned by Audax Club Parisien and Randonneurs
USA, and is subject to RUSA Rules for
Riders. If you are not familiar with these rules, please
read them well in advance so that you can be prepared. They are
Your bicycle must be equipped with front and rear lights, which must be attached to the bicycle (not the rider). You will be riding through the night, so be sure you have adequate batteries or a generator. After dusk, you must use your lights. You must carry adequate reflective garments, preferably conforming to RUSA reflectivity guidelines. If you are observed riding in low light conditions with inadequate lights or reflectivity, you will be disqualified. If you do not own appropriate reflective gear, contact the organizer; I may be able to lend you some.
We will accept electronic proof of passage, but if you are training for PBP you may want to practice using a traditional brevet card. Familiarize yourself with procedures for riding a brevet, incuding collection of times and signatures on the control card. If you use a control card, the card must be signed and turned in at the finish.
This is a self-supported ride. There are many convenience stores on route, including an adequate number of markets open 24 hours, so there are no staffed controls. There is no SAG; if you abandon, you must make your own arrangements for getting home. Randonneuring rules prohibit personal support vehicles or other personal support except at the controles, which are marked on the route.
A 400k (250 mile) brevet is the longest route that most randonneurs do without sleep. It can be a challenge even for very experienced riders. It is considerably harder than a supported double century like STP. At distances of 400km and up, the mental challenges are as great as the physical. Riding with someone else, or with a group, can help you deal with the mental challenge, and you may find that riding through the night with others is a particularly strong bonding experience.
Ride steadily and remember to keep eating and drinking.  Your stomach may turn against sugar, so bring something salty and savory as an alternative. Particularly on the return (southbound) leg, top up your bottles when you have an opportunity.
This is an all-conditions ride. There will be some kind of weather. Maybe it will be wonderful, and maybe it won't. Come prepared. Unless you feel your life or health are at risk, ride through.
Although we will be entirely in the Willamette Valley, you are likely to encounter a range of temperatures because you will be riding through the coldest part of the night (typically 3 to 5 am) and the hottest part of the day (typically 2 to 4 pm). Bring layers. A light wool layer can be particularly good at working over a wide range of temperatures.
You need not be a fast rider, but it takes some discipline to move efficiently through a long night and day of riding. The clock doesn't stop, even when you do, so don't dawdle away your time at the convenience store! The slower you ride, the more important is your “controle discipline.”
On the other hand, at some point in the ride you may feel defeated and exhausted. Don't despair.  Stretch or lay down. Then get back on your bike, and even if the remainder of the ride seems daunting, just make it another ten miles down the road. Repeat as needed.
Falling asleep on the bicycle is a very bad way to end a ride. The night start makes this less likely. If you rest well the night before, and take a nap sometime on Friday, you will probably find that the riding keeps you awake through the night and then the sun keeps you awake the next day. But if you become very drowsy, regardless of time of day or night, you must take steps to regain wakefulness. The following approach works for many people: Find a safe place to pull off the road, with a surface where you can lie down and be safely separated from traffic. Take some caffeine (a caffeinated gel, caffeinated mints, or whatever works for you) before you lie down. Set your phone to wake you in 20 minutes. Lie down and close your eyes; sleep if you can. The caffeine will be taking effect just about the time you wake.
Be safe, and enjoy the ride.
With notes for 2022.
I pre-rode the route starting July 14, 2018. The forecast all along the route was for a low of around 57 and a high of 95, with little or no chance of rain, but actual temperatures dipped into the low 50s.
The trickiest bit of this is along Coburg Road, just after crossing the river, where the bike lane/path is variously sidewalk, paved lane, and underpasses until you cross left onto Oakway Road. To avoid missing the underpasses, which keep you clear of conflicts with cars exiting to larger roads, you might choose to just stay on the sidewalk rather than using the bike lane bits. At Oakway Road you should use the crosswalk (there is a button to push) rather than trying to turn left across several lanes of traffic.
The town of Coburg is about 10 miles along. You are unlikely to need to stop at the Dari Mart, but if you need a restroom you will find one in a park just one block right (east). The next 10 miles are flat and mostly straight and frankly rather boring. It will be a good time to swap stories with other riders.
The terrain becomes a little more interesting as you turn off North Coburg Road onto Diamond Hill Road, crossing above the I-5 freeway. Diamond Hill becomes Gap Road and bends left (north), and then starts a modest climb. The descent from the top of Gap Road toward Brownsville is just steep enough to be fun, with a sweeping turn but nothing tight. Then there is just a bit of flat and straight into Brownsville, where Gap Road becomes Washburn Street.
At the T where Washburn Street meets W Bishop Way (also signed as Hwy 228), there is a Chevron station with a mini-mart on your left. They are open until 11pm, so most riders should have time. They have restrooms and fast food, and the staff is friendly. The Dari Mart one block farther on the route closes earlier and does not offer a restroom, but if you are after 11pm you can find a restroom in a small park half a block right on Spaulding Ave (right on Spaulding, park on your left).
There are a couple rises as you continue north from Brownsville, but mostly this is a flat, easy section with very light traffic. I found it easy to keep a good pace and put some time in the bank. I got Cup 'o Noodle at the Center Market in Jefferson, which was surprisingly busy for late night.
The night will be cooling down. There are a couple of short stretches on busier roads, but mostly it is low traffic and pleasant. The Jacksons at mile 75.3 is a good food stop with restrooms, and probably a good place to layer up if you haven't already. I arrived around 2am. The coffee dispensers were empty, so I didn't get anything, but I refilled a water bottle in the bathroom sink.
More fast, flat, easy riding, with a few connections on busier roads. Just a pleasant spin through the night.
In 2018 and 2019 I stopped at Center Market in Dayton, which had an abundance of prepared foods, and it is usually possible to use the restroom in the back, on the right. In recent years Center Market has not been open 24 hours, and even moderately slow riders can reach Dayton before it opens, so don't count on it.
This is likely to be the coldest part of the night. Just as you think you're getting out to the countryside again beyond Dayton, you pass through Lafayette, another town of around the same size. You'll pass an espresso stand, but it won't be open yet. Bill's Market at 293 Bridge Street opens at 5am.
Then you're on some rolling terrain through wine country, and the sun is likely to be rising. The ponds along the the road as you approach Forest Grove are lovely in the morning light.
Before 6am you will not find a restroom in Forest Grove. You may be able to use the restroom at Wetlands Park, mile 123, just before you reach Forest Grove or on your return. The park is open dawn to dusk.
Early fast food options in Forest Grove are limited, and through the pandemic have largely been absent. Your best early option is probably Plaid Pantry (which does not have a restroom). Continue a couple blocks on Pacific Ave past the Safeway, turn left on Elm, and go one block farther to 19th. 19th is a one-way street running contrary to Pacific. Return to the route by following 19th to Maple Street, where you will be back on route by turning right.
Starbucks, opposite direction from Safeway on Pacific, opens at 5:30am. It has a good restroom.
The Safeway, which does have a restroom and a Starbucks, opens at 6am.
It is time to put on your sunscreen. (Yeah, I didn't, but I should have.)
The segment from Forest Grove to Dayton is the reverse of the way out, but it's ok because it's really pretty and worth seeing twice in changing light. At Dayton you bear a little farther west on the Dayton-Amity highway, which is pretty dull, so be sure you get your fill of nice views before Dayton. Also it's warming up.
I stopped at The Common Cup, which shares a building with a taco shop in Amity. In fact I had planned to get a taco and a cup of coffee, but Tacos Burros was closed, so I had a savory waffle (topped with an egg) at Common Cup. What a pleasant surprise! My caffe latte was first rate (and I'm pretty picky about coffee) and the waffle and egg made a good late breakfast. Also the restroom was clean and well-appointed ... I even brushed my teeth, which felt incredibly civilized and luxurious. Taking time to eat the waffle and chat with the proprietor about Italy and coffee and waffles ate into my banked time, but I was far enough ahead of schedule not to worry about that. If you're trying to make a fast time, you might want to have just a coffee (or a taco next door), but if you feel like a more extended break, Common Cup is a good place to take it.
Fast and flat, fast and flat, nice pavement ... you were getting tired of the repetition, weren't you? Time for a little change-up.
You hit the gravel section just a few miles after Amity. Actually there are two, around 3.5 miles each, with a short paved respite between. The gravel is not too coarse, and not too thick, and it looks like there might once have been some pavement underneath. There is some washboard, and there are a couple hills that would not be difficult but for the gravel, which makes it more challenging to maintain traction. I was glad to be on 42mm tubeless tires at 50psi. If you bring your skinny tire bike, you should be ok, but this will not be your favorite section. (In 2018, some riders had difficulty staying upright on the gravel climb. Some walked and at least one fell over.)
Oak Grove Road ends at Hwy 22, which is busy and has a lot of trash in the shoulder. There is what appears to be a sidewalk along Hwy 22; take a right on that sidewalk, and just a half mile along there is a ramp onto a bike/ped bridge across the highway, then a transition onto Rickreal Road. (Thanks to Susan for helping me route this part and avoid riding Hwy 22.)
 My preference is Mootharts, a little market on the right, across from Mecanico bar. You can find some pre-cooked Mexican food in a deli case, and there are inside tables to sit down at. Across the street (next to Mecanico) is a park with public bathrooms. In the park, just outside the restrooms, there is a fill station for water bottles.
This is flat or rolling terrain, quite rural. Recommended stops are Little Wuesten Cafe, 115 SW Ellsworth, (as you turn from Ellsworth onto 3rd) or a few blocks away at Margin Coffee, 206 W 2nd Ave. Hydrate well in Albany and leave with at least two full bottles, because there are no water opportunities from there to Harrisburg.
There is some suburban riding south of Albany. Then you cross Highway 34 onto White Oak road, merging into Peoria road. The best thing I can say about this section is that you'll probably have a tailwind. It is flat and straight and, unless you have a thing for wheat fields and berry farms, pretty boring. There are vault toilets at Peoria Park, mile 217, but no running water.
There are several convenience stores in Harrisburg, and a Subway. The convenience stores don't offer restrooms, but there are public restrooms one block east on Smith Street, at the Harrisburg Area Museum.
This is a short, level, easy segment. It has always been miserable for me regardless of direction of travel, because it comes (always, I think) late in the ride and in the hot part of the day. In Coburg, a block east of the Dari Mart (to your left now), is a small park with a public restroom with running water.
Revived by the break in Coburg, the rest of the ride in was easy and pleasant. The turn from Dale to Riverbend leads into a cul de sac. But look on your left as you turn, and you'll find a cut-through path that leads to another cul de sac on the other side, which in turn leads out to Honeywood Street.
At mile 247.5 you transition off of streets and onto the River Bank path system. This path system is still a treat after many, many years of riding it, and by this time I know I'm about 30 minutes from the finish. The path leads all the way back to the bike bridge you took on the outbound leg. We take 4th street to Pearl, then Pearl south all the way to 14th street, right (west) to the alley after Oak and before Willamette street, and right up the alley to Falling Sky brew-pub.
The pub has good food (not cheap) and good beer. The bike parking is visible from inside. Cyndi will be there with a couple U-locks so that you can secure your bike sufficiently if you want to take some time to drink, eat, and tell your tall tales of riding through night and day and in and out of weeks and almost over a year to where the good beer is.


Package GUI.Cell.CellTypes
Class RecCellUI
- java.lang.Object
-
- GUI.Cell.CellTypes.CellUI
-
- GUI.Cell.CellTypes.RecCellUI
-
- Direct Known Subclasses:
RecFireCellUI
,RecGameOfLifeCellUI
,RecPercolationCellUI
,RecSegregationCellUI
,RecWatorCellUI
public abstract class RecCellUI extends CellUI
- Author:
- riley This class is the base of the rectangle shape CellUI classes, responsible for representing a rectangle cell on the grid. it depends on the cellUI class. Use this class as an extension in a specific shape and type of cell combination. Cell UI class.
-
-
Constructor Summary
Constructors Constructor Description RecCellUI(double width, double height, double x_position, double y_position, int ui_position_x, int ui_position_y)
Initialzies the rectangle Cell
-
Method Summary
-
Methods inherited from class GUI.Cell.CellTypes.CellUI
attachMyShapeTo, getUI_POSITION_X, getUI_POSITION_Y, initiateMyShape, setState, updateShapeColor
-
-


NgxDatatable
A feature-rich yet lightweight data-table crafted for Angular4 and beyond!
Client-side Search and Filtering
Horizontal and Vertical Scrolling
Expand Row Detail
{{row.$$index}}
{{row.$$expanded === 1}}
{{value}}
and {{value}}
Selections
-
{{sel.name}}
- No Selections


4.14 psb_gemlt — Entrywise Product
This function computes the entrywise product between two vectors x and
y
psb_gemlt(x, y, desc_a, info)
|
|
| dot, x, y | Function |
|
|
| Short Precision Real | psb_gemlt |
| Long Precision Real | psb_gemlt |
| Short Precision Complex | psb_gemlt |
| Long Precision Complex | psb_gemlt |
|
|
| |
Table 14: Data types
-
Type:
- Synchronous.
-
On Entry
-
-
x
- the local portion of global dense vector x.
Scope: local
Type: required
Intent: in.
Specified as: an object of type psb_T_vect_type containing numbers of
type specified in Table 2.
-
y
- the local portion of global dense vector y.
Scope: local
Type: required
Intent: in.
Specified as: an object of type psb_T_vect_type containing numbers of
type specified in Table 2.
-
desc_a
- contains data structures for communications.
Scope: local
Type: required
Intent: in.
Specified as: an object of type psb_desc_type.
-
On Return
-
-
y
- the local portion of result submatrix y.
Scope: local
Type: required
Intent: inout.
Specified as: an object of type psb_T_vect_type containing numbers of
the type indicated in Table 14.
-
info
- Error code.
Scope: local
Type: required
Intent: out.
An integer value; 0 means no error has been detected.


This is an unofficial web application for translating text using DeepL
Translator API. The API documentation is reachable under:
https://www.deepl.com/docs-api.html
Ridvan Chasan
<EMAIL_ADDRESS>https://github.com/rich-info/deepl-pro-translator-client
Apache License 2.0


A few months back, I was curious about the effects of alcohol. A couple of nights before the night in question, I had tried three shots of brandy and a bowl of pot, and it felt like a pretty good combination, but I didn't feel very much alcohol effect, so I decided to try some more in the near future. So in the night in question, I decided to drink six shots of Jack Daniel's Whiskey. Not knowing much about how much alcohol that contains or BAC levels, I just drank them all in a short period of time (~10-15 mins.) Afterwards, I felt pretty damn wasted. I had a really hard time walking. I went outside to smoke a bowl and afterwards I knew I was feeling really good. Afterwards, I made a really stupid mistake: taken from my experience with pot, I decided that 'more can always make it even better,' so I got another shot of whiskey and after that I went to smoke another bowl. That's the very last thing I remember.
The next thing I know, I'm dreaming and then I see the hospital. What I can't really explain is that my thoughts were at the time 'Oh no, not the hospital dream again!' As I awaken, a nurse tells me that I drank too much and that's why I was there. My dad was right in front of me. They checked to make sure I understood where I was and everything. They told me they had made me drink charcoal and had pumped my stomach. They removed an IV from my arm (for fluids) and gave me my clothes. I got dressed and went to a nearby bathroom to take a piss; urination was extremely painful (apparently they stuck a catheter in my urethra), so it took me a while. The nurse knocked and made sure I was alright... When I got out, I was greeted with a wheelchair. I sat down and was quickly rushed out of the hospital into my dad's car. I had a friendly conversation with the nurse along the way.
My dad told me he had found me in my room around 3:30am; I had started drinking at 1am. He told me I was completely passed out next to a puddle of vomit and there was a pile of clothes on me. I was in some strange position under a chair and it appeared I had trouble breathing. He had thought I was dying of some drug overdose or something, as he
knew I smoked pot, so he assumed I had gotten into hard drugs or something.  It was 9:30am when I got back home; I had been in the hospital for nearly 6 hours! Fortunately, I wasn't awake for any of the painful procedures. I went to sleep immediately when I got home and woke up around 2pm. I tried to eat some cereal, but I had absolutely no appetite, so I went back to sleep. I woke up again at 6pm, and after finding that there was absolutely nothing to do, I went back to sleep. Finally, at 9pm I woke up to converse with some people, watch some TV, and eat some food. I didn't eat much and shortly afterwards went to sleep.
My next day was still completely hungover. My dad took a day off work to take me to San Francisco and have a 'father-son' day with me. It was a pretty enjoyable day, but sometime in the early afternoon I began experiencing what seemed to be seizures. Earlier in the day, I had experienced some pretty annoying jaw clenching, but I disregarded it. What I later experienced was loss of muscle control; my muscles began completely tensing up and I couldn't keep my head straight, it would just start turning tothe left and I couldn't keep it in any other position. My body was shaking. We phoned a doctor friend who told me to take some Benadryl, which fixed everything. He told me I was experiencing this due to a severe alcohol intoxication. My BAC was .3%! I still had urination pain, but after I smoked my last bowl of pot the pain subsided and was pretty much gone after that.
I learned later that I didn't immediately pass out. Apparently, I had also vomited outside and then for some reason I got a piece of cheese out of the kitchen and brought it into my room. I remember absolutely none of this, though. I also found som
packaging material for electrodes and such lying around from the paramedics who came and rescued me. I think I lost my favourite glass pot pipe in the ambulance as it was in my jacket and I couldn't find it after the whole incident. I don't know if I'm ever going to try alcohol again, but if I am, it will be amongst friends and I will have to excercise extreme caution, especially since I have a pretty low body mass. I found that the extreme state of depression I had after alcohol wore off after about a week and I was in much better spirits, despite the horror of what had happened.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


--- layout: article category: meetups title: The Natural History Museums Mars and Meteorites Night image: https://farm6.staticflickr.com/5568/14652640709_13e9a2393c_b.jpg description: The Natural History Museum’s first ever space-themed Night Safari. ---
Yesterday I attended a Night Safari on Mars and Meteorites at the Natural History Museum where we heard talks by thee planetary scientists and were given some time to explore the museum afar hours.
Meteorites from the birth of our solar system
Epifanio Vaccaro started off the talks giving an absolute beginners guide to meteorites; explaining what they are and where they come from.
Mars at the Museum – exploring from afar
Natasha Stephen gave her talk on how the Natural History Museum work on researching meteorites and going into depth on the history of missions to Mars.
Does water on Mars mean life on Mars?
Joe Michalski gave the final talk of the evening on water and why we are so desperately trying to find it in space and in particular Mars.


Summary
Pages
Resources
JavaScript
Console
Links
Validator
Help
JavaScript runtime exceptions
Occurrences
- How many times this exception occurred on all visited pages
Click exception count to open list of example pages on which the error occurred
--
exceptions
Exceptions
Message
Occurrences
JavaScript exceptions
Appeared on page


Search
Course Id
Course Name
Credits
Current capacity
Max Capacity
Enroll by
Start date
Details
Id
Course name
Credits
Current Capacity
Max Capacity
Enroll by
Enroll by
Details


{% extends "layout.html" %} {% block content %}
WE BEGAN WITH THE QUESTION:
Especially in Machine Learning, the problem mainly doesn’t lie in the accuracy of the algorithms but rather in the quality of the training data that developers take in to develop the system. In fact, the data these algorithms rely on reflect underlying biases around race, gender, age, and other factors. When trained on biased data, ML algorithms reflect and perpetuate these biases. “Garbage in, Garbage out”.
With our tool, you would be able to see the distribution of your metadata’s available demographic attributes, for example age, race, education, income, etc. We would also help you uncover several common issues such as the most and least dominant feature values, missing values for a large number of observations.


Dear {{name}},
We are writing to let you know someone has attempted to update your Out In Science account email. If you made the this change intentionally then ignore this email and please verify your new email.
If you did not make this change or you need to revert this change for any reason, click the link below.
(Or copy and paste into your browser {{url}})
Cheers,
The {{appName}} Dev Team


| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|---|---|---|---|---|---|
| F6 /5 | IMUL r/m8* | M | Valid | Valid | AX← AL ∗ r/m byte. |
| F7 /5 | IMUL r/m16 | M | Valid | Valid | DX:AX ← AX ∗ r/m word. |
| F7 /5 | IMUL r/m32 | M | Valid | Valid | EDX:EAX ← EAX ∗ r/m32. |
| REX.W + F7 /5 | IMUL r/m64 | M | Valid | N.E. | RDX:RAX ← RAX ∗ r/m64. |
| 0F AF /r | IMUL r16, r/m16 | RM | Valid | Valid | word register ← word register ∗ r/m16. |
| 0F AF /r | IMUL r32, r/m32 | RM | Valid | Valid | doubleword register ← doubleword register ∗ r/m32. |
| REX.W + 0F AF /r | IMUL r64, r/m64 | RM | Valid | N.E. | Quadword register ← Quadword register ∗ r/m64. |
| 6B /r ib | IMUL r16, r/m16, imm8 | RMI | Valid | Valid | word register ← r/m16 ∗ sign-extended immediate byte. |
| 6B /r ib | IMUL r32, r/m32, imm8 | RMI | Valid | Valid | doubleword register ← r/m32 ∗ sign-extended immediate byte. |
| REX.W + 6B /r ib | IMUL r64, r/m64, imm8 | RMI | Valid | N.E. | Quadword register ← r/m64 ∗ sign-extended immediate byte. |
| 69 /r iw | IMUL r16, r/m16, imm16 | RMI | Valid | Valid | word register ← r/m16 ∗ immediate word. |
| 69 /r id | IMUL r32, r/m32, imm32 | RMI | Valid | Valid | doubleword register ← r/m32 ∗ immediate doubleword. |
| REX.W + 69 /r id | IMUL r64, r/m64, imm32 | RMI | Valid | N.E. | Quadword register ← r/m64 ∗ immediate doubleword. |
NOTES:
*
In 64-bit mode, r/m8 can not be encoded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH.
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| M | ModRM:r/m (r, w) | NA | NA | NA |
| RM | ModRM:reg (r, w) | ModRM:r/m (r) | NA | NA |
| RMI | ModRM:reg (r, w) | ModRM:r/m (r) | imm8/16/32 | NA |
Performs a signed multiplication of two operands. This instruction has three forms, depending on the number of operands.
When an immediate value is used as an operand, it is sign-extended to the length of the destination operand format.
The CF and OF flags are set when the signed integer value of the intermediate product differs from the sign extended operand-size-truncated product, otherwise the CF and OF flags are cleared.
The three forms of the IMUL instruction are similar in that the length of the product is calculated to twice the length of the operands. With the one-operand form, the product is stored exactly in the destination. With the two- and three- operand forms, however, the result is truncated to the length of the destination before it is stored in the destination register. Because of this truncation, the CF or OF flag should be tested to ensure that no significant bits are lost.
The two- and three-operand forms may also be used with unsigned operands because the lower half of the product is the same regardless if the operands are signed or unsigned. The CF and OF flags, however, cannot be used to determine if the upper half of the result is non-zero.
In 64-bit mode, the instruction’s default operation size is 32 bits. Use of the REX.R prefix permits access to addi-tional registers (R8-R15). Use of the REX.W prefix promotes operation to 64 bits. Use of REX.W modifies the three forms of the instruction as follows.
IF (NumberOfOperands = 1) THEN IF (OperandSize = 8) THEN TMP_XP ← AL ∗ SRC (* Signed multiplication; TMP_XP is a signed integer at twice the width of the SRC *); AX ← TMP_XP[15:0]; IF SignExtend(TMP_XP[7:0]) = TMP_XP THEN CF ← 0; OF ← 0; ELSE CF ← 1; OF ← 1; FI; ELSE IF OperandSize = 16 THEN TMP_XP ← AX ∗ SRC (* Signed multiplication; TMP_XP is a signed integer at twice the width of the SRC *) DX:AX ← TMP_XP[31:0]; IF SignExtend(TMP_XP[15:0]) = TMP_XP THEN CF ← 0; OF ← 0; ELSE CF ← 1; OF ← 1; FI; ELSE IF OperandSize = 32 THEN TMP_XP ← EAX ∗ SRC (* Signed multiplication; TMP_XP is a signed integer at twice the width of the SRC*) EDX:EAX ← TMP_XP[63:0]; IF SignExtend(TMP_XP[31:0]) = TMP_XP THEN CF ← 0; OF ← 0; ELSE CF ← 1; OF ← 1; FI; ELSE (* OperandSize = 64 *) TMP_XP ← RAX ∗ SRC (* Signed multiplication; TMP_XP is a signed integer at twice the width of the SRC *) EDX:EAX ← TMP_XP[127:0]; IF SignExtend(TMP_XP[63:0]) = TMP_XP THEN CF ← 0; OF ← 0; ELSE CF ← 1; OF ← 1; FI; FI; FI; ELSE IF (NumberOfOperands = 2) THEN TMP_XP ← DEST ∗ SRC (* Signed multiplication; TMP_XP is a signed integer at twice the width of the SRC *) DEST ← TruncateToOperandSize(TMP_XP); IF SignExtend(DEST) ≠ TMP_XP THEN CF ← 1; OF ← 1; ELSE CF ← 0; OF ← 0; FI; ELSE (* NumberOfOperands = 3 *) TMP_XP ← SRC1 ∗ SRC2 (* Signed multiplication; TMP_XP is a signed integer at twice the width of the SRC1 *) DEST ← TruncateToOperandSize(TMP_XP); IF SignExtend(DEST) ≠ TMP_XP THEN CF ← 1; OF ← 1; ELSE CF ← 0; OF ← 0; FI; FI; FI;
For the one operand form of the instruction, the CF and OF flags are set when significant bits are carried into the upper half of the result and cleared when the result fits exactly in the lower half of the result. For the two- and three-operand forms of the instruction, the CF and OF flags are set when the result must be truncated to fit in the destination operand size and cleared when the result fits exactly in the destination operand size. The SF, ZF, AF, and PF flags are undefined.
| #GP(0) |
If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. If the DS, ES, FS, or GS register is used to access memory and it contains a NULL NULL segment selector. |
| #SS(0) | If a memory operand effective address is outside the SS segment limit. |
| #PF(fault-code) | If a page fault occurs. |
| #AC(0) | If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3. |
| #UD | If the LOCK prefix is used. |
| #GP | If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. |
| #SS | If a memory operand effective address is outside the SS segment limit. |
| #UD | If the LOCK prefix is used. |
| #GP(0) | If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. |
| #SS(0) | If a memory operand effective address is outside the SS segment limit. |
| #PF(fault-code) | If a page fault occurs. |
| #AC(0) | If alignment checking is enabled and an unaligned memory reference is made. |
| #UD | If the LOCK prefix is used. |
Same exceptions as in protected mode.
| #SS(0) | If a memory address referencing the SS segment is in a non-canonical form. |
| #GP(0) | If the memory address is in a non-canonical form. |
| #PF(fault-code) | If a page fault occurs. |
| #AC(0) | If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3. |
| #UD | If the LOCK prefix is used. |


Please, read before posting:
*****************************
How To: Ask Questions The Smart Way
*****************************
Original post at http://www.cplusplus.com/forum/articles/1295/
Abridged version of the work of Eric Steven Raymond
Introduction
In the world of programming, the kind of answers you get to your technical questions depends as much on the way you ask the questions as on the difficulty of developing the answer.
The first thing to understand is that programmers actually like hard problems and good, thought-provoking questions about them. If we didn't, we wouldn't be here
Programmers have a reputation for meeting simple questions with what looks like hostility or arrogance. It sometimes looks like we're reflexively rude to newbies and the ignorant. But this isn't really true.
Before You Ask
Before asking a question a, do the following:
1.Try to find an answer by searching the archives of the forum you plan to post to.
2.Try to find an answer by searching the Web.
3.Try to find an answer by reading the manual.
4.Try to find an answer by reading a FAQ.
5.Try to find an answer by inspection or experimentation.
6.Try to find an answer by asking a skilled friend.
Prepare your question. Think it through. Hasty-sounding questions get hasty answers or none at all.
When You Ask
Choose your forum carefully
Be sensitive in choosing where you ask your question. You are likely to be ignored if you:
•post your question to a forum where it's off topic
•post a very elementary question to a forum where advanced technical questions are expected, or vice-versa
Use meaningful, specific subject headers
The subject header is your golden opportunity to attract qualified experts' attention. Don't waste it on babble like 'Please help me' Don't try to impress us with the depth of your anguish; use the space for a super-concise problem description instead.
More generally, imagine looking at the index of an archive of questions, with just the subject lines showing. Make your subject line reflect your question well enough that the next guy searching the archive with a question similar to yours will be able to follow the thread to an answer rather than posting the question again.
Write in clear, grammatical, correctly-spelled language
Expressing your question clearly and well is important. Spend the extra effort to polish your language. It doesn't have to be stiff or formal. But it has to be precise.
Don't TYPE IN ALL CAPS; this is read as shouting and considered rude.
If you write like a semi-literate boob you will very likely be ignored. So don't use instant-messaging shortcuts.
Be precise and informative about your problem
•Describe the symptoms of your problem carefully and clearly.
•Describe the environment in which it occurs (machine, OS, application, whatever).
•Describe the research you did to try and understand the problem before you asked the question.
•Describe the diagnostic steps you took to try and pin down the problem yourself before you asked the question.
Do the best you can to anticipate the questions a respondent will ask, and answer them in advance in your request for help.
Volume is not precision
You need to be precise and informative. This end is not served by simply dumping huge volumes of code or data into a help request. If you have a large, complicated test case that is breaking a program, try to trim it and make it as small as possible.
This is useful for at least three reasons. One: being seen to invest effort in simplifying the question makes it more likely you'll get an answer, Two: simplifying the question makes it more likely you'll get a useful answer. Three: In the process of refining your bug report, you may develop a fix or workaround yourself.
Describe the problem's symptoms, not your guesses
It's not useful to tell programmers what you think is causing your problem. So, make sure you're telling them the raw symptoms of what goes wrong, rather than your interpretations and theories. Let them do the interpretation and diagnosis. If you feel it's important to state your guess, clearly label it as such and describe why that answer isn't working for you.
Describe the goal, not the step
If you are trying to find out how to do something, begin by describing the goal. Only then describe the particular step towards it that you are blocked on.
Often, people who need technical help have a high-level goal in mind and get stuck on what they think is one particular path towards the goal. They come for help with the step, but don't realize that the path is wrong. It can take substantial effort to get past this.
Be explicit about your question
Open-ended questions tend to be perceived as open-ended time sinks. Those people most likely to be able to give you a useful answer are also the busiest people (if only because they take on the most work themselves). People like that are allergic to open-ended time sinks, thus they tend to be allergic to open-ended questions.
You are more likely to get a useful response if you are explicit about what you want respondents to do (provide pointers, send code,..). This will focus their effort and implicitly put an upper bound on the time and energy a respondent must allocate to helping you.
When asking about code
Don't ask others to debug your broken code without giving a hint what sort of problem they should be searching for. Posting a few hundred lines of code, saying "it doesn't work", will get you ignored. Posting a dozen lines of code, saying "after line 7 I was expecting to see <x>, but <y> occurred instead" is much more likely to get you a response.
If you simply want a code review, say as much up front, and be sure to mention what areas you think might particularly need review and why.
Don't post homework questions
Programmers are good at spotting homework questions; most of us have done them ourselves. Those questions are for you to work out, so that you will learn from the experience. It is OK to ask for hints, but not for entire solutions.
Follow up with a brief note on the solution
Send a note after the problem has been solved to all who helped you; let them know how it came out and thank them again for their help
Your followup doesn't have to be long and involved; a simple "Howdy ' it was a failed network cable! Thanks, everyone. - Bill" would be better than nothing.
In fact, a short and sweet summary is better than a long dissertation unless the solution has real technical depth. Say what action solved the problem, but you need not replay the whole troubleshooting sequence.
Besides being courteous and informative, this sort of followup will help others searching the archive of the mailing-list/newsgroup/forum to know exactly which solution helped you and thus may also help them.
Last, and not least, this sort of followup helps everybody who assisted feel a satisfying sense of closure about the problem. Problem narratives that trail off into unresolved nothingness are frustrating things; programmers itch to see them resolved. The goodwill that scratching that itch earns you will be very, very helpful to you next time you need to pose a question.
How To Interpret Answers
If you don't understand...
If you don't understand the answer, do not immediately bounce back a demand for clarification. Use the same tools that you used to try and answer your original question (manuals, FAQs, the Web, skilled friends) to understand the answer. Then, if you still need to ask for clarification, exhibit what you have learned.
If You Can't Get An Answer
If you can't get an answer, please don't take it personally that we don't feel we can help you. Sometimes the members of the asked group may simply not know the answer. No response is not the same as being ignored, though admittedly it's hard to spot the difference from outside.
In general, simply re-posting your question is a bad idea. This will be seen as pointlessly annoying. Have patience: the person with your answer may be in a different time-zone and asleep. Or it may be that your question wasn't well-formed to begin with.


abstract fun onNewMember(member: Member): Unit
Called when a new member joins a room
member - : the member object data class
member


\
Generate RFC822 formatted e-mail messages that can be streamed to SMTP or file.
mailcomposer is exposed as a submodule of Nodemailer
npm install nodemailer --save
const MailComposer = require("nodemailer/lib/mail-composer");
var mail = new MailComposer(mailOptions);
Where mailOptions
is an object that defines the components of the message, see below
To create a stream that outputs a raw rfc822 message from the defined input, use createReadStream()
var mail = new MailComposer({from: '...', ...});
var stream = mail.compile().createReadStream();
stream.pipe(process.stdout);
To generate the message and return it with a callback use build()
var mail = new MailComposer({from: '...', ...});
mail.compile().build(function(err, message){
process.stdout.write(message);
});
The following are the possible fields of an e-mail message:
<EMAIL_ADDRESS>or formatted 'Sender Name<EMAIL_ADDRESS>, see here for detailstext
and html
. Latest watches have no problems rendering text/html content so watchHtml is most probably never seen by the recipienttext
and html
. Make sure it is a full and valid AMP4EMAIL document, otherwise the displaying email client falls back to html
and ignores the amp
part. See this blogpost for sending and renderingtext
and html
. Event method
attribute defaults to ‘PUBLISH’ or define it yourself: {method: 'REQUEST', content: iCalString}
. This value is added as an additional alternative to html or text. Only utf-8 content is allowed\r\n
for windows/network newlines, \n
for unix newlines or do not set to keep as isAll text fields (e-mail addresses, plaintext body, html body) use UTF-8 as the encoding. Attachments are streamed as binary.
Attachment object consists of the following properties:
false
, otherwise a filename is generated automaticallycid
sets the default contentDisposition
to 'inline'
and moves the attachment into a multipart/related mime node, so use it only if you actually want to use this attachment as an embedded imagecontent
is string, then encodes the content to a Buffer using the specified encoding. Example values: base64
, hex
, binary
etc. Useful if you want to use binary attachments in a JSON formatted e-mail objectfilename
propertycontentType
property. Example values: quoted-printable
, base64
{'X-My-Header': 'value'}
path
or content
)Attachments can be added as many as you want.
var mailOptions = {
...
attachments: [
{ // utf-8 string as an attachment
filename: 'text1.txt',
content: 'hello world!'
},
{ // binary buffer as an attachment
filename: 'text2.txt',
content: new Buffer('hello world!','utf-8')
},
{ // file on disk as an attachment
filename: 'text3.txt',
path: '/path/to/file.txt' // stream this file
},
{ // filename and content type is derived from path
path: '/path/to/file.txt'
},
{ // stream as an attachment
filename: 'text4.txt',
content: fs.createReadStream('file.txt')
},
{ // define custom content type for the attachment
filename: 'text.bin',
content: 'hello world!',
contentType: 'text/plain'
},
{ // use URL as an attachment
filename: 'license.txt',
path: 'https://raw.github.com/andris9/Nodemailer/master/LICENSE'
},
{ // encoded string as an attachment
filename: 'text1.txt',
content: 'aGVsbG8gd29ybGQh',
encoding: 'base64'
},
{ // data uri as an attachment
path: 'data:text/plain;base64,aGVsbG8gd29ybGQ='
}
]
}
In addition to text and HTML, any kind of data can be inserted as an alternative content of the main body - for example a word processing document with the same text as in the HTML field. It is the job of the e-mail client to select and show the best fitting alternative to the reader. Usually this field is used for calendar events and such.
Alternative objects use the same options as attachment objects. The difference between an attachment and an alternative is the fact that attachments are placed into multipart/mixed or multipart/related parts of the message white alternatives are placed into multipart/alternative part.
Usage example:
var mailOptions = {
...
html: '<b>Hello world!</b>',
alternatives: [
{
contentType: 'text/x-web-markdown',
content: '**Hello world!**'
}
]
}
Alternatives can be added as many as you want.
All the e-mail addresses can be plain e-mail addresses
<EMAIL_ADDRESS>or with formatted name (includes unicode support)
"Ноде Майлер"<EMAIL_ADDRESS>Notice that all address fields (even
from
) are comma separated lists, so if you want to use a comma in the name part, make sure you enclose the name in double quotes:"Майлер, Ноде"<EMAIL_ADDRESS>or as an address object (in this case you do not need to worry about the formatting, no need to use quotes etc.)
{
name: 'Майлер, Ноде',
address<EMAIL_ADDRESS>}
All address fields accept comma separated list of e-mails or an array of e-mails or an array of comma separated list of e-mails or address objects - use it as you like. Formatting can be mixed.
...,
to<EMAIL_ADDRESS>"Ноде Майлер"<EMAIL_ADDRESS>"Name, User"<EMAIL_ADDRESS>cc<EMAIL_ADDRESS>'"Ноде Майлер"<EMAIL_ADDRESS>"Name, User"<EMAIL_ADDRESS>bcc<EMAIL_ADDRESS>{name: 'Майлер, Ноде', address<EMAIL_ADDRESS>...
You can even use unicode domains, these are automatically converted to punycode
'"Unicode Domain"<EMAIL_ADDRESS>SMTP envelope is usually auto generated from from
, to
, cc
and bcc
fields but
if for some reason you want to specify it yourself, you can do it with envelope
property.
envelope
is an object with the following params: from
, to
, cc
and bcc
just like
with regular mail options. You can also use the regular address format, unicode domains etc.
mailOptions = {
...,
from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>envelope: {
from: 'Daemon<EMAIL_ADDRESS>to<EMAIL_ADDRESS>Mailer<EMAIL_ADDRESS>}
}
Not all transports can use the
envelope
object, for example SES ignores it and uses the data from the From:, To: etc. headers.
Attachments can be used as embedded images in the HTML body. To use this feature, you need to set additional property of the attachment - cid
(unique identifier of the file) which is a reference to the attachment file. The same cid
value must be used as the image URL in HTML (using cid:
as the URL protocol, see example below).
NB! the cid value should be as unique as possible!
var mailOptions = {
...
html: 'Embedded image: <img<EMAIL_ADDRESS>attachments: [{
filename: 'image.png',
path: '/path/to/file',
cid<EMAIL_ADDRESS>//same cid value as in the html img src
}]
}
By default, MailComposer drops the BCC header when built. If you need to BCC header to be shown when built, you’ll need to include the keepBcc
option like so.
var mailOptions = {
...
bcc<EMAIL_ADDRESS>}
var mail = new MailComposer(mailOptions).compile()
mail.keepBcc = true
mail.build(function(err, message){
process.stdout.write(message);
});
MIT


Not-So-Secret Santa Assignments For Christmas
(table goes here)
See assignments for:
Last Year
This Year
Next Year


Markov Playground
Train
Generate
About
INPUT
Markov Playground
×
Markov Playground is for experimenting with markov chain


Class: JSUtils.BinaryTree
| Defined in: | tree/BinaryTree.coffee |
| Inherits: | JSUtils.Tree |
Overview
This class implements a binary tree. Therefore, there is a function that compares nodes and decides which one of them is "smaller". Upon insert, the smaller node will be placed into the left subtree (recursively - when compared the current node in the tree).
Class Method Summary
- . (Object) _newOptions(CLASS) Private This method creates the default options used when calling {JSUtils.Tree.new}.
-
.
(JSUtils.Tree)
_newByChildRef(node, options)
Private
This is just like JSUtils.Tree._newByChildRef except it passes the
compareNodes
function to theinstantiate
callback.
Instance Method Summary
- # (JSUtils.BinaryTree) balance() This method can be used to balance the tree (in place).
- # (JSUtils.BinaryTree) addChild(node, adjustLevels = true) This method inserts a node into this subtree.
- # (JSUtils.BinaryTree) addChildren(nodes, adjustLevels) Add multiple nodes to this subtree.
- # (void) setChildren() Children can't be directly set on BinaryTree nodes.
- # (void) moveTo() Nodes can't be moved that way because the node relations might break.
- # (void) appendTo() Nodes can't be moved that way because the node relations might break.
- # (JSUtils.BinaryTree) remove(adjustLevels = true) Removes this node from the tree.
- # (JSUtils.Tree) deserialize(data) Just like JSUtils.Tree#deserialize.
- # (JSUtils.BinaryTree) inorder(callback, level = 0, index, info) Just like JSUtils.Tree#inorder.
Inherited Method Summary
Methods inherited from
JSUtils.Tree
.isTree ._newOptions ._new ._newByChildRef ._newByParentRef .init #_cacheDescendants #_adjustLevels #hasNode #findNode #findDescendant #findNodes #findDescendants #getDepth #getSize #getLevel #getRoot #getLeaves #isLeaf #serialize #toObject #deserialize #getSiblings #getLevelSiblings #getParent #getChildren #getDescendants #pathToRoot #pathFromRoot #closest #addChild #appendChild #addChildren #appendChildren #setChildren #moveTo #appendTo #remove #removeChild #traverse #each #postorder #preorder #inorder #levelorder
Class Method Details
.
(Object)
_newOptions(CLASS)
Private
This method creates the default options used when calling {JSUtils.Tree.new}.
.
(JSUtils.Tree)
_newByChildRef(node, options)
Private
This is just like JSUtils.Tree._newByChildRef except it passes the compareNodes
function to the instantiate
callback.
Constructor Details
#
(JSUtils.BinaryTree)
constructor(node, compareNodes)
The first parameter can have different types just like in {JSUtils.Tree.constructor}.
New is the second parameter which is the compare function (to decide how to insert nodes).
Each JSUtils.BinaryTree instance has the following read-only properties (in addition to what JSUtils.Tree provides): left
the "smaller" child right
the "greater or equal" child
Instance Method Details
#
(JSUtils.BinaryTree)
balance()
This method can be used to balance the tree (in place). If possible the nodes will be rearranged to make the tree less deep. All node relations will still be intact meaning that the left child is still "smaller" and the right on "greater or equal".
#
(JSUtils.BinaryTree)
addChild(node, adjustLevels = true)
This method inserts a node into this subtree. Due to how an binary tree works it is possible that the new node will not be a child of the this node but a descendant instead.
#
(JSUtils.BinaryTree)
addChildren(nodes, adjustLevels)
Add multiple nodes to this subtree.
This is just a shortcut for calling addChild()
multiple times.
#
(void)
setChildren()
Children can't be directly set on BinaryTree nodes.
#
(void)
moveTo()
Nodes can't be moved that way because the node relations might break.
#
(void)
appendTo()
Nodes can't be moved that way because the node relations might break.
#
(JSUtils.BinaryTree)
remove(adjustLevels = true)
Removes this node from the tree.
#
(JSUtils.Tree)
deserialize(data)
Just like JSUtils.Tree#deserialize.
#
(JSUtils.BinaryTree)
inorder(callback, level = 0, index, info)
Just like JSUtils.Tree#inorder.


A number of experiments have been performed and appropriate results have been indicated. Absence of Result indicates experiment is yet to be performed. Feel free to navigate through the tabs.
To synthesize accurate solid silica nanoparticles required for making the Biosensor container.
Monodisperse particles of silica are formed by Stober's process. The process consist of addition of silicate ester in excess of water containing a lower molar-mass of alcohol and ammonia. Size of silica nanoparticle formed depends upon the type of silicate ester used, alcohol and volume ratio. Tetraethyl orthosilicate(TEOS) is used as silicate ester and alcohol is ethanol. TEOS is hydrolysed by slightly basic solution to give silicon tetra hydroxide which on polycondensation give silica. LaMer and Dinegar model explains the nucleation and growth of nanoparticles. Particle diameter is also dependent on the temperature.
Fig 1. In the above figure, uniform dSiO2 particles are clearly visible
To coat mesoporous silica layer on the top of our already formed solid silica nanoparticles:
TEOS, Cetrimonium Bromide (CTAB) and TriEthanolAmine (TEA) are used for preparation of mesoporous silica layer over these solid silica nanoparticle (dSiO2). TEOS is the silica source, CTAB (a cationic surfactant) is the structure directing agent , and TEA is co-structure directing agent. This procedure will lead to the formation of dSiO2(@CTAB/MSN).
We found that 25 °C and 20 hours reaction condition gave us the best results. Following are the TEM images showing the prepared SiO2@MSN/CTAB (solid silica nanoparticles with mesoporous layer and CTAB in the pores).
Fig 2. In the above figure, the mesoporous layer is clearly visible over the solid silica nanoparticle. The particles are of 220nm size
To etch out the solid silica nanoparticle from SiO2@MSN/CTAB to create a hollow space for our sensing substance (MSN@CTAB).
We need to etch out the solid silica core template from dSiO2(@CTAB/MSN) to make hollow mesoporous silica nanoparticles (HMSNs). The silica core dissolves in alkaline conditions (pH 10.7). Na2CO3 is used to maintain the pH. The anionic silicates dissolve out of the solid core and are adsorbed at the CTA+ surface present on the mesoporous silica layer. The electrostatic interaction between CTA+ and silicate removes the latter from the solution as they continue to dissolve out and drives the reaction forward.
Multiple experiments failed to give us the desired results. We are working to successfully etch the MSNs
Fig 3. In the above figure, a failed attempt at making HMSNs by etching
To block the nanoparticle surface using GOPS.
HMSN pores are blocked by CTAB and are the surface for gate attachment. However, to prevent the gate modules from binding to the surface, the surface is blocked before attaching gates.
Following are the FTIR results
Fig 1. FTIR absorption spectra of GOPS (refernce)
Fig 3. Negative control - HMSN surface without GOPS
Fig 2. FTIR absorption spectra of washed GOPS after surface blocking
Figure 1 is the reference and shows the FTIR absorption spectra of GOPS. Figure 2 is the FTIR absorption of HMSN surface blocked with GOPS. Figure 3 is the negative control of HMSN surface without GOPS blocking. Results for figure 2 and 3 can be drawn compared to figure 1 as characterstic dips are present in figure 2 and absent in figure 3.
To remove CTAB from the pores of HMSN so that the sensing material can be entrapped in the particles
The pores are blocked by CTAB after the formation Mesoporous silica layer. Pores need to be unblocked to fill the nanoparticles with signalling molecules and gate them.
To synthesize DNA origami particles containing Cy3 and Cy5 dyes.
Instead of using conventional M13mp18 scaffold, our team's design uses a much smaller scaffold, M1.3, which is only 704 nt. long. This modified scaffold would lead to a much smaller origami more suitable for our use.
Software used for origami design is CaDNAno and sever used for simulation is Cando.
The following are the two origamis designed.
Red donor dye tagged DNA origami
Strands
Green donor dye tagged DNA origami
Strands
Cando server simulations For further details on staple strand sequences please contact by mail.
Synthesize arsenic sensitive gating modules and test their function
Aptamers specific to the element to be sensed base pairs with linker DNA molecules. The linker molecules are functionalized with GOPS. To demonstrate the functionality of the gates, our team designed gates sensitive to arsenic and also demonstrated their disintegration upon binding to arsenic.
Annealing Buffer:10 mM Tris, pH 7.5–8.0, 50 mM NaCl, 1 mM EDTA
We have to first attach the two linker DNAs functionalized with GOPS to our aptamer to make the gates.
We need to anneal the linker DNA with the aptamer.
Following are the gel electrophoresis images for the result.
Hence we successfully demonstrated synthesis of aptamer based gates and disintegration upon binding with respective ligand. However, the overall effeciency of the process and its universality (use with a variety of ligands) still needs to be improved and its universality needs to be confirmed by testing with multiple ligand.
Attach the gates to the pore to block it
The gating modules synthesized in (7) is already functionalized with GOPS. These gates can bind with silica surface by silane(GOPS) and silanol(HMSN) interaction.
Now, we have to attach the pre-formed gates to our pore of the HMSN. For this, we will incubate the solution of HMSN with GOPS functionalized gates.