Observations on using LLMs for checking grammar, etc.
Preamble
Across several recent posts I’ve been putting LLMs to the test as writing assistants. I’m doing this by coding add-ins and a shiny app for R Studio, where I do most of my writing. I’m still in the “trying-stuff-out” mode, and this post is another outlet for experimentation. So far I’ve been equally underwhelmed and impressed by LLMs as writing assistants.
One real-world task that I’d like to accomplish this summer is to copy edit and generally revise/update my intro to cognitive psychology textbook. I know there are lots of typos, missing words, and bad phrasing that can be improved in there, and someone needs to make it better. All of the problems are also my fault because I wrote it.
I authored the textbook in RStudio as a plain text quarto document. RStudio has an OK spell-checker, but I find it not great (mainly because I haven’t taken the time to cultivate my own dictionary). RStudio does not have a grammar checker. I’ve tried some grammar checking solutions, but did not find them suitable for my problems.
I have several writing problems that are hard for me to detect, especially when the writing is fresh. I find the subjective experience of not-seeing-my-mistakes to be similar to the phenomena of repetition blindness. For example, what does the sentence in this picture say?
If you read this and didn’t notice the grammatical mistake, then you just experienced repetition blindness. For example, the above sentence says, “the” twice: it should say “A bird in the hand”, but it says, “A bird in the the hand”. When I write and look at what I write, I get blindness for days. I won’t notice words that are missing, repeated words, or typos, etc. The writer’s blindness can continue even after I painstakingly re-read and revise my writing. Aaaagghh. I feel the pain.
So, I’ve been testing the waters with LLMs as writing assistants. I want something that is fast and easy to use. Perhaps, similar to the spelling and grammar checker in Word. And, I want the suggested edits to fix the basic problems (at a minimum), and if it can do more than that (e.g., suggest better phrasing), great.
My experience so far
Yesterday I went all the way through the first chapter of my textbook and used LLMs as a part of my editing process. After noticing a few major issues and fixing them, I’m now getting decent results with a shiny UI to mediate the process for me.
Basic spelling and grammar
Here’s a screenshot of the Shiny app in action editing a paragraph from this post.
The prompt in this case is very simple:
“You are an editorial writing assistant. Edit the text for spelling and grammar. Don’t change the meaning of the words.”
The model returns a new version of the text, and I use the diffobj
library to compare the original text with the suggested text. This provides a quick visual tool to help me see what has been changed. If I like the changes, then I can copy it into my document. The gpt-3.5-turbo and davinci models give pretty good results, but the other ones frequently go off the rails.
Here’s the same text run through a different model. This time it is slightly more heavy-handed, but the suggestions are fine to me. The suggestions will also change slightly each time, even if the input text is the same. This isn’t necessarily a problem, as there are lots of ways to fix my bad writing.
I want to stress the importance of accurate visual highlighting. Before I used a reliable function to compare differences with visual highlighting, I tried using prompts to get the LLM to assess the original text and modified text and report whether or not it made any changes, or to have it highlight the changes using HTML. This is something it may be able to do well (e.g., GPT-4), but the models I have access to were totally unreliable. I’d get edits back that said no changes were made, but there would be several small changes throughout that were hard to spot. The solution was to properly diff the original and modified text.
Rephrasing
I added a couple prompts that offer rephrasing, rather than basic spelling and grammar. The prompts are:
Reduced word count: “You are an editorial writing assistant. Edit the text to reduce word count without changing the meaning.”
 Edit the text to improve clarity and flow.”
Here’s a screenshot of the same paragraph run through an “improved clarity” prompt.
Now there are many more words changed, and not all for the better. I would not wholesale copy paste this into my document, but I might crib a few of the suggested changes.
Especially with text that contains a lot of domain-specific detail, like the content in my cognitive psych textbook, it is necessary to be hyper-vigilant and look closely at all of the changes to see if they preserve original writing intentions.
Is it working?
I’m leaning into the “stochastic spell-checker” label for what is happening here. The text I send to the LLM is tokenized into a high-dimensional semantic space, it is somehow filtered through the prompt, and then reconstructed back into a textual response. The middle part is a black box, but it produces a response that probabilistically approximates the style of the original (plus something like a proportion of the semantic style of the prompt…ish?).
In any case, just because the prompt is to fix spelling and grammar, does not guarantee that it will! I haven’t tried to determine how many mistakes it misses, so I don’t know how well the process is working. However, the visual highlighting of differences makes it easy for me to see if any proposed change is worth making. And, at least for basic spell-checking and grammar it is finding problems that I am correcting. So, the hit rate seems good, and the miss rate is missing.
I haven’t tried this yet, but I’ve been wondering what happens to text without any instructions or prompts. For example, I’m interested in sending a paragraph, having the system put it through the tokenization process, and then requesting it to reconstruct the original text verbatim. I may try this with a prompt that says “take the input, process it, and then return it without modifications”. However, there is one issue; this sends text with the prompt, and I’m not sure whether having the prompt would introduce any artifacts into the quality of the reconstruction. At the same time, if I send text without instructions, the system seems programmed to do things like sentence completion, and not just take the input, tokenize it, then spit it back out based on its token representation. I’m raising this because I’m curious whether spell-checking behavior comes for free by virtue of the reconstruction process. Idle thoughts, I need to get back to work…
Chapter 2
I’m about to spend the afternoon editing another chapter, and I may update this post with lessons learned as I do that.
I started listenting to the new Aphex Twin album while editing. I’m not sure I’ll say much more, but I may copy in screen shots to note some behavior.
I used the basic spell check prompt, and got back a whole whack of suggestions. This feels like the kind of thing I see with an “improved clarity” prompt, even though I was asking for minimal changes.
Another point of caution is inline citations. Sometimes the LLM will respect citation keys inside square brackets, sometimes it will completely remove them, and sometimes it will fill in a reference. Another reason to stay vigilant.
I’m getting a noticeably high frequency of suggestions to write sentences with a colon in them.
The screenshot shows an example of chatty behavior. The suggested edits contain the phrase: “Here’s the edited text:”. It’s hard to fully suppress the chatbot flair from popping through. This happens occasionally using the gpt-3.5-turbo model. I haven’t seen this with davinci, which isn’t set up to be a chat bot.
I finished editing the second chapter. I found the LLM-assisted-stochastic-and-sometimes-totally-wacky spell-checker to be useful. I’ll use it again for chapter 3. 9/10 stars.


United States Educational Data
Percentage of adults age 25 and older with a bachelor's degree or higher (2010-2014)


arrow_back
Help ?
1. Get Facebook Page username
2. Enter that username in text
3. Sit back and eat popcorn
About
Hey there,
This web app fetches random post from given Facebook page and then fetch trending comments from it. And then it shows all the replies in order as if they are chatting. So in short it's like a story going on.
Technologies Used
Python 3.6
Django 1.11 - Web Framework
Materialize - CSS Framework
Facebook-sdk module (Facebook Graph API)


Want to take a trip?
Add a trip
×
Add a Trip
Name
Category
Choose a Continent
Africa
America
Antartica
Asia
Australasia
Europe
Cost
Weeks
About
Trips
Name
Category
Continent
Cost
Number of Weeks
Reserve


Toggle navigation
AB Cosultancies
Welcome HR :)
Enter salary details of employee
Employee : {{id}} , Month:{{month}}
Basic pay : {{basicpay}}
DA:
HRA:
Transport allowance:
City allowance:
Income tax:
Prof tax:
EMI:


“Permaculture is a philosophy of working with, rather than against nature; of protracted and thoughtful observation rather than protracted and thoughtless labour; and of looking at plants and animals in all their functions, rather than treating any area as a single product system.”
Here at Beorn Wilde, we are well aware of the many benefits and solutions that permaculture can provide. It’s something we incorporate into our personal lives and it’s also something that we utilise in our work.
To gain a general overview of permaculture you can watch this video, or click here to read about it in more detail.
We hope it inspires you just as much as it inspires us!
Mental health support and awareness is an issue very close to my heart. I worked for Mind for over three years leading a horticultural therapy service in Solihull. It was one of the toughest, yet most rewarding periods of my life. I learned first hand just how beneficial nature and a sense of community can be for us all.
Filled ButtonKingstanding Food Community is another charity that I have previously worked with. They are based in the heart of Birmingham and they do a fantastic job of supporting people from the local community. The food from the community-run cafe is delicious and there's always something exciting to do down at their community allotments.
Filled Button


{{lookup (lookup blood_potency data.data.blood.potency) "surge"}}
{{lookup (lookup blood_potency data.data.blood.potency) "mend"}}
{{lookup (lookup blood_potency data.data.blood.potency) "power"}}
{{lookup (lookup blood_potency data.data.blood.potency) "rouse"}}
{{lookup (lookup blood_potency data.data.blood.potency) "feeding"}}
{{lookup (lookup blood_potency data.data.blood.potency) "bane"}}


TRUE Simulations
Through the MoSDeF integrated framework, the exact procedures used to set up and perform simulation workflows and associated metadata (i.e. the provenance) can be scripted, encapsulated, version-controlled, preserved, and later reproduced by other researchers. This allows molecular simulation studies to be conducted and published in a manner that is TRUE : “Transparent, Reproducible, Usable by others, and Extensible .” The following paper highlights these principles in details.
Flexibility
System construction and initialization are performed in a simulation engine agnostic fashion,
allowing users to use a single set of scripts to generate inputs for a variety of different
simulation engines.
Because systems are constructed in a hierarchical, scriptable fashion, modifications to system
chemistry can be easily made, allowing for screening over chemical space.
Community
MoSDeF is designed to allow system construction scripts to be easily made into easy to distribute libraries; similarly, forcefield files contain parameters and their usage rules that can be easily shared and version controlled.
Join the mailing list
Mosdef Gitter
Github Organization
Quick Start
| Details | GitHub | Binder |
|---|---|---|
| MosDeF Tutorials: Curated tutorials for the MosDeF Framework | ||
| mBuild Tutorials: Curated tutorials for mBuild | ||
| Foyer Tutorials: Curated tutorials for Foyer |
Quick Peek
Foundational MoSDeF Repositories
Other MoSDeF Projects
Projects Using MoSDeF
Also, checkout projects from our collaborators: Boise State | Michigan | Notre Dame | Wayne State.
Collaborators
MoSDeF is supported by a Cyberinfrastructure for Sustained Scientific
Innovation (CSSI) grant funded by the National Science Foundation Office of Advanced
Cyberinfrastructure.
Get Involved
Chat
ChatCheck out our recent news
AnnouncementsContribute
Contribute


Weekend to settle dispute
by The Canadian PressPremier John Horgan is urging all sides in Metro Vancouver's transit dispute to resume bargaining and negotiate a new contract over the next few days before union threats of a complete system shut down come true.
His advice comes as another transit union representing 900 SkyTrain workers announced a 96.8 per cent vote in favour of job action if a contract isn't reached.
Horgan says he won't take measures to step into the transit operators dispute, noting both sides have this weekend to reach a settlement before Wednesday's deadline that would shut down bus and SeaBus service across Metro Vancouver.
Unifor, the union that represents the 5,000 workers, says unless it reaches a settlement with TransLink's Coast Mountain Bus Company in the coming days, it will stage the three-day walk out.
Coast Mountain says in a statement more than 350,000 people take the bus daily in Metro Vancouver and they should not be caught in the middle of this dispute.
Michel Ladrak, the president of BC Rapid Transit Company, which oversees SkyTrain workers, says eight sessions of mediated talks are planned over the next month and the union hasn't given any indication that it will serve strike notice.


These terms and conditions govern your use of the Data Experts Integration Hub, referred henceforth as "The Platform". The platform consists of this website and the downloadable Remote Agent application. By using the platform, you accept these terms and conditions in full. If you disagree with these terms and conditions or any part of these terms and conditions, you must not use the platform.
Unless otherwise stated, Data Experts Group (c) and/or its licensors own the intellectual property rights in the website and material on the website. Subject to the license below, all these intellectual property rights are reserved.
You may view, download for caching purposes only, and print pages from the website for your own personal use, subject to the restrictions set out below and elsewhere in these terms and conditions.
You must not:
Where content is specifically made available for redistribution, it may only be redistributed within your organisation.
You must not use the platform in any way that causes, or may cause, damage to the website or impairment of the availability or accessibility of the website; or in any way which is unlawful, illegal, fraudulent or harmful, or in connection with any unlawful, illegal, fraudulent or harmful purpose or activity.
You must not use the platform to copy, store, host, transmit, send, use, publish or distribute any material which consists of (or is linked to) any spyware, computer virus, Trojan horse, worm, keystroke logger, rootkit or other malicious computer software.
You must not use the platform conduct any systematic or automated data collection activities (including without limitation scraping, data mining, data extraction and data harvesting) without Data Experts Group express written consent.
You must not use the platform to transmit or send unsolicited commercial communications.
You must not use the platform for any purposes related to marketing without Data Experts Group express written consent.
Access to certain areas of the platform is restricted. Data Experts Group reserves the right to restrict access to [other] areas of the platform, or indeed this entire website, at Data Experts Group discretion.
If Data Experts Group provides you with a user ID and password to enable you to access restricted areas of the platform or other content or services, you must ensure that the user ID and password are kept confidential.
Data Experts Group may disable your user ID and password in Data Experts Group sole discretion without notice or explanation.
In these terms and conditions, “your user content” means material (including without limitation any data, text, images, audio material, video material and audio-visual material) that you submit or process through the platform, for whatever purpose.
Your user content must not be illegal or unlawful, must not infringe any third party's legal rights, and must not be capable of giving rise to legal action whether against you or Data Experts Group or a third party (in each case under any applicable law).
You must not submit any user content to the website that is or has ever been the subject of any threatened or actual legal proceedings or other similar complaint.
Data Experts Group reserves the right to edit or remove any material submitted to the platform, or stored on Data Experts Group servers, or hosted or published upon the platform.
Notwithstanding Data Experts Group rights under these terms and conditions in relation to user content, Data Experts Group does not undertake to monitor the submission of such content to, or the publication of such content on, the platform.
The platform is provided “as is” without any representations or warranties, express or implied. Data Experts Group makes no representations or warranties in relation to the platform or the information and materials provided on the platform.
Without prejudice to the generality of the foregoing paragraph, Data Experts Group does not warrant that:
Nothing on the platform constitutes, or is meant to constitute, advice of any kind. If you require advice in relation to any legal, financial or medical matter you should consult an appropriate professional.
Data Experts Group will not be liable to you (whether under the law of contact, the law of torts or otherwise) in relation to the contents of, or use of, or otherwise in connection with, the platform:
These limitations of liability apply even if Data Experts Group has been expressly advised of the potential loss.
Nothing in the platform disclaimer will exclude or limit any warranty implied by law that it would be unlawful to exclude or limit; and nothing in the platform disclaimer will exclude or limit Data Experts Group liability in respect of any:
By using the platform, you agree that the exclusions and limitations of liability set out in the platform disclaimer are reasonable.
If you do not think they are reasonable, you must not use the platform.
[You accept that, as a limited liability entity, Data Experts Group has an interest in limiting the personal liability of its officers and employees. You agree that you will not bring any claim personally against Data Experts Group officers or employees in respect of any losses you suffer in connection with the website.]
[Without prejudice to the foregoing paragraph,] you agree that the limitations of warranties and liability set out in the platform disclaimer will protect Data Experts Group officers, employees, agents, subsidiaries, successors, assigns and sub-contractors as well as Data Experts Group.
If any provision of the platform disclaimer is, or is found to be, unenforceable under applicable law, that will not affect the enforceability of the other provisions of the platform disclaimer.
You hereby indemnify Data Experts Group and undertake to keep Data Experts Group indemnified against any losses, damages, costs, liabilities and expenses (including without limitation legal expenses and any amounts paid by Data Experts Group to a third party in settlement of a claim or dispute on the advice of Data Experts Group legal advisers) incurred or suffered by Data Experts Group arising out of any breach by you of any provision of these terms and conditions[, or arising out of any claim that you have breached any provision of these terms and conditions].
Without prejudice to Data Experts Group other rights under these terms and conditions, if you breach these terms and conditions in any way, Data Experts Group may take such action as Data Experts Group deems appropriate to deal with the breach, including suspending your access to the website, prohibiting you from accessing the website, blocking computers using your IP address from accessing the website, contacting your internet service provider to request that they block your access to the website and/or bringing court proceedings against you.
Data Experts Group may revise these terms and conditions from time-to-time. Revised terms and conditions will apply to the use of the platform from the date of the publication of the revised terms and conditions on the platform. Please check this page regularly to ensure you are familiar with the current version.
Data Experts Group may transfer, sub-contract or otherwise deal with Data Experts Group rights and/or obligations under these terms and conditions without notifying you or obtaining your consent.
You may not transfer, sub-contract or otherwise deal with your rights and/or obligations under these terms and conditions.
If a provision of these terms and conditions is determined by any court or other competent authority to be unlawful and/or unenforceable, the other provisions will continue in effect. If any unlawful and/or unenforceable provision would be lawful or enforceable if part of it were deleted, that part will be deemed to be deleted, and the rest of the provision will continue in effect.
These terms and conditions [, together with [DOCUMENTS],] constitute the entire agreement between you and Data Experts Group in relation to your use of the platform, and supersede all previous agreements in respect of your use of the platform.
These terms and conditions will be governed by and construed in accordance with Australian law, and any disputes relating to these terms and conditions will be subject to the jurisdiction of the courts of Australia.
Data Experts Group is registered with the Australian Securities & Investments Commission. You can find the online version of the register at ASIC registry search. Data Experts Group company number is 138 270 658.
The full name of Data Experts Group is "DATA EXPERTS GROUP PTY LTD".
You can contact Data Experts Group by email to enquiry@dataexpertsgroup.com.


Please send your resume to<EMAIL_ADDRESS>to apply to any of the positions posted on this page.
This includes working as Web Services Developer, Front End Developer, Web Developer and Mobile Developer.
This includes working closely with Software Engineers and Embedded Engineers in the PitStop team.
This includes designing/implementing PitStop's OBD Firmware.


litelist v0.0.1 Litelist.Factory
The home for all factories.
Link to this section Summary
Functions
Admin factory
Business factory Businesses use the Post Schema
How to
build(:business) build(:business, %{title: ‘block party’}) insert(:business)
Comments factory
How to
build(:comments) build(:comments, %{post_id: post.id}) insert(:comments)
Discussion factory
How to
build(:discussion) build(:discussion, %{description: ‘funding for new park’}) insert(:discussion)
EmergencyInformation factory EmergencyInformation uses the Post Schema
How to
build(:business) build(:business, %{title: ‘block party’}) insert(:business)
Event factory Events use the Post Schema
How to
build(:event) build(:event, %{title: ‘block party’}) insert(:event)
Raises a helpful error if no factory is defined
Flag factory
How to
build(:flag) build(:flag, %{description: ‘not cool’}) insert(:business)
ForSale factory ForSales use the Post Schema
How to
build(:for_sale) build(:for_sale, %{title: ‘1984 Mazda’}) insert(:for_sale)
Job factory Jobs use the Post Schema
How to
build(:job) build(:job, %{title: ‘summer job’}) insert(:job)
Neighbor factory
Link to this section Functions
Admin factory
How to
build(:admin) build(:admin, %{username: ‘doe’}) insert(:admin)
Business factory Businesses use the Post Schema
How to
build(:business) build(:business, %{title: ‘block party’}) insert(:business)
Comments factory
How to
build(:comments) build(:comments, %{post_id: post.id}) insert(:comments)
Discussion factory
How to
build(:discussion) build(:discussion, %{description: ‘funding for new park’}) insert(:discussion)
EmergencyInformation factory EmergencyInformation uses the Post Schema
How to
build(:business) build(:business, %{title: ‘block party’}) insert(:business)
Event factory Events use the Post Schema
How to
build(:event) build(:event, %{title: ‘block party’}) insert(:event)
Raises a helpful error if no factory is defined.
Flag factory
How to
build(:flag) build(:flag, %{description: ‘not cool’}) insert(:business)
ForSale factory ForSales use the Post Schema
How to
build(:for_sale) build(:for_sale, %{title: ‘1984 Mazda’}) insert(:for_sale)
Job factory Jobs use the Post Schema
How to
build(:job) build(:job, %{title: ‘summer job’}) insert(:job)
Neighbor factory
How to
build(:neighbor) build(:neighbor, %{username: ‘doe’}) insert(:neighbor)


Table Name: tabStock Entry
| Sr | Fieldname | Type | Label | Options |
|---|---|---|---|---|
| 1 | items_section |
Section Break | ||
| 2 | title |
Data | Title | |
| 3 | naming_series |
Select | Series |
STE- |
| 4 | purpose |
Select | Purpose |
Material Issue Material Receipt Material Transfer Material Transfer for Manufacture Manufacture Repack Subcontract |
| 5 | company |
Link | Company | Company |
| 6 | production_order |
Link | Production Order | Production Order |
| 7 | purchase_order |
Link | Purchase Order | Purchase Order |
| 8 | delivery_note_no |
Link | Delivery Note No | Delivery Note |
| 9 | sales_invoice_no |
Link | Sales Invoice No | Sales Invoice |
| 10 | purchase_receipt_no |
Link | Purchase Receipt No | Purchase Receipt |
| 11 | from_bom |
Check | From BOM | |
| 12 | col2 |
Column Break | ||
| 13 | posting_date |
Date | Posting Date | |
| 14 | posting_time |
Time | Posting Time | |
| 15 | set_posting_time |
Check | Edit Posting Date and Time | |
| 16 | sb1 |
Section Break | ||
| 17 | bom_no |
Link | BOM No | BOM |
| 18 | fg_completed_qty |
Float |
For Quantity
As per Stock UOM |
|
| 19 | cb1 |
Column Break | ||
| 20 | use_multi_level_bom |
Check |
Use Multi-Level BOM
Including items for sub assemblies |
|
| 21 | get_items |
Button | Get Items | |
| 22 | section_break_12 |
Section Break | ||
| 23 | from_warehouse |
Link | Default Source Warehouse | Warehouse |
| 24 | cb0 |
Column Break | ||
| 25 | to_warehouse |
Link | Default Target Warehouse | Warehouse |
| 26 | sb0 |
Section Break |
Simple |
|
| 27 | items |
Table | Items | Stock Entry Detail |
| 28 | get_stock_and_rate |
Button | Update Rate and Availability |
get_stock_and_rate |
| 29 | section_break_19 |
Section Break | ||
| 30 | total_incoming_value |
Currency | Total Incoming Value |
Company:company:default_currency |
| 31 | column_break_22 |
Column Break | ||
| 32 | total_outgoing_value |
Currency | Total Outgoing Value |
Company:company:default_currency |
| 33 | value_difference |
Currency | Total Value Difference (Out - In) |
Company:company:default_currency |
| 34 | additional_costs_section |
Section Break | Additional Costs | |
| 35 | additional_costs |
Table | Additional Costs | Landed Cost Taxes and Charges |
| 36 | total_additional_costs |
Currency | Total Additional Costs |
Company:company:default_currency |
| 37 | contact_section |
Section Break | Customer or Supplier Details | |
| 38 | supplier |
Link | Supplier | Supplier |
| 39 | supplier_name |
Data | Supplier Name | |
| 40 | supplier_address |
Link | Supplier Address | Address |
| 41 | address_display |
Small Text | Address | |
| 42 | column_break_39 |
Column Break | ||
| 43 | customer |
Link | Customer | Customer |
| 44 | customer_name |
Data | Customer Name | |
| 45 | customer_address |
Small Text | Customer Address | |
| 46 | printing_settings |
Section Break | Printing Settings | |
| 47 | select_print_heading |
Link | Print Heading | Print Heading |
| 48 | letter_head |
Link | Letter Head | Letter Head |
| 49 | more_info |
Section Break | More Information | |
| 50 | project |
Link | Project | Project |
| 51 | remarks |
Text | Remarks | |
| 52 | col5 |
Column Break | ||
| 53 | total_amount |
Currency | Total Amount |
Company:company:default_currency |
| 54 | amended_from |
Link | Amended From | Stock Entry |
| 55 | credit_note |
Link | Credit Note | Journal Entry |
Inherits from frappe.exceptions.ValidationError
Inherits from frappe.exceptions.ValidationError
Inherits from frappe.exceptions.ValidationError
Inherits from erpnext.controllers.stock_controller.StockController
add_to_stock_entry_detail (self, item_dict, bom_no=None)
No docs
calculate_rate_and_amount (self, force=False, update_finished_item_rate=True)
No docs
check_duplicate_entry_for_production_order (self)
No docs
check_if_operations_completed (self)
Check if Time Sheets are completed against before manufacturing to capture operating costs.
distribute_additional_costs (self)
No docs
get_bom_raw_materials (self, qty)
No docs
get_bom_scrap_material (self, qty)
No docs
No docs
get_gl_entries (self, warehouse_account)
No docs
get_item_details (self, args=None, for_update=False)
No docs
No docs
get_pending_raw_materials (self)
issue (item quantity) that is pending to issue or desire to transfer,
whichever is less
get_pro_order_required_items (self)
No docs
No docs
get_transfered_raw_materials (self)
No docs
No docs
No docs
No docs
No docs
No docs
set_basic_rate (self, force=False, update_finished_item_rate=True)
get stock and incoming rate on posting date
set_basic_rate_for_finished_goods (self, raw_material_cost, scrap_material_cost)
No docs
set_production_order_details (self)
No docs
set_serial_nos (self, production_order)
No docs
No docs
set_total_incoming_outgoing_value (self)
No docs
No docs
update_production_order (self)
No docs
No docs
No docs
No docs
No docs
No docs
validate_finished_goods (self)
validation: finished good quantity should be same as manufacturing quantity
No docs
validate_production_order (self)
No docs
validate_purchase_order (self)
Throw exception if more raw material is transferred against Purchase Order than in the raw materials supplied table
No docs
perform various (sometimes conditional) validations on warehouse
validate_with_material_request (self)
No docs
erpnext.stock.doctype.stock_entry.stock_entry.get_additional_costs (production_order=None, bom_no=None, fg_qty=None)
No docs
erpnext.stock.doctype.stock_entry.stock_entry.get_operating_cost_per_unit (production_order=None, bom_no=None)
No docs
Public API
/api/method/erpnext.stock.doctype.stock_entry.stock_entry.get_production_order_details
erpnext.stock.doctype.stock_entry.stock_entry.get_production_order_details (production_order)
No docs
Public API
/api/method/erpnext.stock.doctype.stock_entry.stock_entry.get_uom_details
erpnext.stock.doctype.stock_entry.stock_entry.get_uom_details (item_code, uom, qty)
Returns dict {"conversion_factor": [value], "transfer_qty": qty * [value]}
Parameters:
args
- dict with item_code
, uom
and qty
Public API
/api/method/erpnext.stock.doctype.stock_entry.stock_entry.get_warehouse_details
erpnext.stock.doctype.stock_entry.stock_entry.get_warehouse_details (args)
No docs


SP REST JSON
Use in this tab
Don't use in this tab
Global matched URL:
Change accept header only in this Tab
Global Accept header:
Tab Accept header:
Global Options


A draft Housing Action Plan is available for review online. The draft includes recommendations that offer eight strategies to address the challenges the City of Gainesville faces with affordable housing development including the financing and ensuring long-term affordability of units.
To schedule a neighborhood or group meeting, or to provide feedback, please contact Phimetto Lewis at 393-8862. A telephone town hall is also being scheduled.
This survey is to help us understand your experience with the City of Gainesville website. It should take approximately 5-10 minutes. We will be incorporating your feedback into the website redesign.
We want to hear your voice. The City of Gainesville is redesigning local government through neighbor-centered design and innovation. As we tackle tough problems in our city, we invite those who live, work, and study here to participate and collaborate on new solutions. Sign up to be notified of surveys and design testing you can complete for the City of Gainesville.
Sign Up HereNo Upcoming Events
This website is meant to help new residents and students get settled into Gainesville. Explore the site and submit feedback by clicking on the blue bar at the top of the page.
statGNV lets you explore the City of Gainesville's data through interactive charts, graphs, and maps. You can now easily understand complex city data and track important trends in areas such as public safety, basic city services, human services, economic development, and others.
Click Here


Frequently Asked Questions Regarding COVID-19
1. Why has visitation for family, friends and volunteers been suspended?
Out of an abundance of caution and to protect what we consider a vulnerable population, the TDOC made the decision to suspend visitation until further notice. This decision is being re-evaluated daily and based on current updates of the COVID-19 impact in Tennessee.
2. How can family and friends maintain contact with their loved ones while visitation is suspended?
Telephone calls through the inmate phone system will continue uninterrupted. TDOC offenders with phone accounts through GTL will receive two free five-minute phone calls per week through April 30th.
3. Are prisons on lockdown due to COVID-19?
No. Many regular activities such as educational programs and inmate jobs are continuing. Occasionally, movement is temporarily restricted in order to complete temperature checks and the necessary cleaning measures.
4. Do inmates have access to soap and hand sanitizers?
Yes. Soap, water and hand sanitizers are readily available to the entire population. In accordance with the Tennessee Department of Health recommendations, soap and water is the best option for protection.
5. What activities can inmates participate in during this time?
All facilities are maintaining as many services as possible, including most educational and work programs.
6. Are inmates allowed to go out on work crews?
Currently, a limited number of inmate work crews are supporting state and local partners without contact with the public. Anyone who works outside is being screened when they return.
7. Can inmates' family members send them gloves, masks, or hand sanitizer?
TDOC facilities do not accept packaged mail deliveries for inmates. Letters and correspondence are accepted.
8. Will mail and laundry services continue inside the facilities?
Yes. Mail and laundry operations are continuing.
9. If an inmate is eligible for release, will they remain in custody?
All scheduled releases will occur as planned.
10. Are victims and families still allowed to attend parole hearings?
Effective immediately, the Board of Parole will begin conducting parole hearings to the extent possible through electronic means. Victims and offenders' family members may submit statements to the Board of Parole by mail or email.
11. Are inmates allowed to meet with their attorneys?
Legal visits have been suspended until further notice. Any special request for a legal visit should be addressed to the warden of the facility.
12. Are any offenders being released from TDOC prisons early due to the coronavirus?
There are no plans for early release from TDOC prisons at this time because of the coronavirus.
13. Will people on probation/parole be required to report in?
Probationers and parolees continue to be supervised according to risk, with officer contact through electronic platforms. There is limited in-office reporting which incorporates a non-invasive screening process for symptoms. Probationers and parolees with questions about their reporting schedule should contact their supervising officer.
14. Are the Day Reporting Centers (DRC's) still operational?
Programming is being delivered by electronic means for DRC participants.
15. How is the TDOC ensuring the health and welfare of the inmate population?
The TDOC is conducting non-invasive screenings of everyone entering our facilities for symptoms such as fever (over 100.4F) and difficulty breathing prior to entry to maximize prevention efforts. Facilities are evaluating all inmates upon intake and returns from court, medical, and all outside work locations. Additionally, medical co-pays for inmates are being waived at this time.
We have formalized a schedule to ensure cleaning and disinfection of high touch areas multiple times per day:
- Include the use of a 10:1 bleach solution or other coronavirus effective germicide.
- Focus on high touch areas and shared workspaces at shift change.
- High touch areas include common workspaces, toilet seats, light switches, door handles, handrails, phones, elevator buttons, handheld radios, security keys/chits, ID badges, and pens/pencils.
16. What happens in the event of a confirmed case of COVID- 19 in a TDOC facility?
The TDOC has extensive protocols in place to address those who present with symptoms, which will include immediate isolation. Protocols are in place to address scenarios where illness is presented. This includes treatment at facility infirmaries or outside hospitals, as necessary.
17. Are masks available to staff and inmates in TDOC?
Masks have been distributed to all staff and inmates as they are being produced, including those donated by Reform Alliance. We continue to encourage constant handwashing as the best defense against COVID-19.
18. Which TDOC facility is going to be used to house coronavirus-positive inmates?
The TDOC has infirmaries at each facility to treat patients.
19. Have there been additional tests for inmates or staff connected to a TDOC facility?
In conjunction with the Department of Health and the Department of Military, mass testing of staff was conducted at the Northwest Correctional Complex and the Bledsoe County Correctional Complex. The department is evaluating further testing for the inmate population. Consistent with CDC guidelines and in consultation with the Tennessee Department of Health, appropriate monitoring and or testing has been implemented in the event an inmate or staff member has signs or symptoms of infection. Presently, 211 inmates have tested positive for COVID-19. Click here for a breakdown of current inmate testing.
20. Why is there a correctional officer taking temperatures instead of trained medical staff at the facilities? Is this a HIPPA violation?
Temperature checks are part of the CDC recommended screening. Staff members are not providing medical care nor are they offering medical advice. Staff are utilizing a tool that is common in every household. If there is a concern, medical staff are alerted to perform an assessment.
21. Are Core Civic facilities following the same policy and guidelines as TDOC facilities to stop the spread of COVID-19 ?
We have issued guidance to CoreCivic based on CDC and Department of Health recommendations.
22. What are inmates doing to assist in the fight against COVID-19?
Inmate workers are assisting in the manufacturing of PPE for TEMA distribution at two facilities in partnership with TRICOR. Surgical masks are being produced at the Morgan County Correctional Complex. Masks and tyvek gowns are being made at the West Tennessee State Penitentiary.
23. Is there a phone number available for the family of incarcerated offenders to call if we have COVID-19 questions?
Beginning Wednesday, April 22nd, the Tennessee Department of Correction launched a 24-hour COVID-19 Information Line (1-866-858-0380) for family members of incarcerated individuals. The Information Line will be answered by a live analyst who will respond to questions related to COVID-19 testing updates, TDOC’s response to the virus, and the protective measures that have been taken as this fluid situation continues to unfold.
*This is an unfolding and fluid situation. Please check back frequently for updates.
If you have additional questions or concerns in regards to COVID-19, complete the form provided below. If you have questions/concerns that are not COVID-19 related, send them to TDOC.Webmaster@tn.gov.


Working
Go
| Name | Zip Code | Class | Climate | Floor Area | Heating | Lighting | Lighting |
|---|---|---|---|---|---|---|---|
| {{building.Name}} | {{building.zip_code__c}} | {{building.classification_type__c}} | {{building.Climate_Zone__c}} | {{building.floor_area__c}} | {{building.Heating__c}} | {{building.Cooling__c}} | {{building.Lighting__c}} |
| {{building.Name}}, {{building.zip_code__c}}
{{building.Climate_Zone__c}} |


© 2019
| bulbifer bulbifera bulbiferum | bulb producing | |||
| bulbus | bulb | noun/m | βολβοϛ bulbous root, bulb; onion (also bulbos) | |
| i | i | cnct | connective vowel used by botanical Latin | |
| fer | fer | apar | fero to bear, carry, bring | |
| Amorphophallus bulbifer (Schott) Blume Cystopteris bulbifera (L.) Bernh. Lilium bulbiferum L. | ||||
| bulbiformis bulbiformis bulbiforme | bulb shaped | |||
| bulbus | bulb | noun/m | βολβοϛ bulbous root, bulb; onion (also bulbos) | |
| i | i | cnct | connective vowel used by botanical Latin | |
| formis | form | adj | in botanical Latin a substantive suffix for nouns derived from 'forma': to be in the form or shape of... | |
| bulbillifer bulbillifera bulbilliferum | bearing little bulbs | |||
| bulbus | bulb | noun/m | βολβοϛ bulbous root, bulb; onion (also bulbos) | |
| illus | ill | noun/m | substantive suffix for 1st & 2nd declension nouns: diminutive | |
| i | i | cnct | connective vowel used by botanical Latin | |
| fer | fer | apar | fero to bear, carry, bring | |
| Watsonia bulbillifera Matthews & L.Bolus | ||||
| bulbispermus bulbisperma bulbispermum | bulbous seeds | |||
| bulbus | bulb | noun/m | βολβοϛ bulbous root, bulb; onion (also bulbos) | |
| i | i | cnct | connective vowel used by botanical Latin | |
| sperma | sperm | noun/n | σπερμα seed, germ | |
| us | adj | Latinizing suffix | ||
| Crinum bulbispermum (Burm. f.) Milne-Redhead & Schweickerdt | ||||
| bulbocodioides bulbocodioides bulbocodioides | Bulbocodium like | |||
| bulbos | bulb | noun/m | βολβοϛ bulbous root, bulb; onion | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| codion | codi | noun/n | κωδιον fleece, sheep skin (diminutive) | |
| oides | oid | adj | -οειδεϛ adjective suffix for nouns: like, resemble | |
| bulbocodium bulbocodia | wooly bulb | |||
| bulbos | bulb | noun/m | βολβοϛ bulbous root, bulb; onion | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| codion | codi | noun/n | κωδιον fleece, sheep skin (diminutive) | |
| um | noun/n | Latinizing nounal suffix | ||
| Narcissus bulbocodium L. | ||||
| bulbostylis bulbostyles | swollen style | |||
| bulbos | bulb | noun/m | βολβοϛ bulbous root, bulb; onion | |
| o | o | cnct | connective vowel in botanical Latin, usually for Greek words but in some cases, such as color tingeing, for Latin words | |
| stylis | styl | noun/m | stylos στυλοϛ pillar, pole, prop (confused with L. stilus) | |
| is -ιϛ substantive suffix for nouns: a connection to a noun | ||||
| Carex bulbostylis Mackenzie | ||||
| bulbosus bulbosa bulbosum | bulbous | |||
| bulbus | bulb | noun/m | βολβοϛ bulbous root, bulb; onion (also bulbos) | |
| osus | os | adj | adjective suffix for nouns: plenitude or notable development | |
| Arethusa bulbosa L. Panicum bulbosum Kunth Ranunculus bulbosus L. | ||||
| bullatus bullata bullatum | inflated, knobby | |||
| bullatus | bullat | adj | inflated, bombastic; wearing baubles around the neck | |
| Helonias bullata L. Rhododendron bullatum Franch. Cotoneaster bullatus Boiss. | ||||
| bulliformis bulliformis bulliforme | bubble shaped | |||
| bulla | bull | noun/f | a bubble | |
| i | i | cnct | connective vowel used by botanical Latin | |
| formis | form | adj | in botanical Latin a substantive suffix for nouns derived from 'forma': to be in the form or shape of... | |
| bullulatus bullulata bullulatum | blistered | |||
| bulla | bull | noun/f | a bubble | |
| ula | ul | noun/f | ulus dimutive substantive suffix for 1st & 2nd declension nouns | |
| atus | at | adj | adjectival suffix for nouns: possessive of or likeness of something (with, shaped, made)/ for verb participles: a completed action, -ed | |
| buphthalmiflorus buphthalmiflora buphthalmiflorum | flowers like the genus Buphthamum | |||
| buphthalmon | buphthalm | noun/n | bupthalmon βουφθαλμον from bous (ox) + opthamos (eye): ox-eye daisy (Chrysanthemum leucanthemum or C. coronarium); a houseleek (perhaps Sempervivum arboreum) | |
| i | i | cnct | connective vowel used by botanical Latin | |
| florus | flor | ppar | floreo to bloom, to flower | |
| Wedelia buphthalmiflora Lorentz | ||||
| buphthalmoides buphthalmoides buphthalmoides | like the genus Buphthamum | |||
| buphthalmon | buphthalm | noun/n | bupthalmon βουφθαλμον from bous (ox) + opthamos (eye): ox-eye daisy (Chrysanthemum leucanthemum or C. coronarium); a houseleek (perhaps Sempervivum arboreum) | |
| oides | oid | adj | -οειδεϛ adjective suffix for nouns: like, resemble | |
| Grindelia buphthalmoides DC. | ||||
| bupleurifolius bupleurifolia bupleurifolium | leaves like the genus bupleurum | |||
| bupleuron | bupleur | noun/n | βουπλευρον from bous (ox) + pleuron (rib): a plant, hare's-ear, variously ascribed to Bupeurum falcatum, B. baldense or B. rigidum) | |
| i | i | cnct | connective vowel used by botanical Latin | |
| folius | foli | adj | folium leaf | |
| Oxalis bupleurifolia A. St.-Hil. Hedysarum bupleurifolium L. Alysicarpus bupleurifolius (L.) DC. | ||||
| bupleuroides bupleuroides bupleuroides | like the genus bupleurum | |||
| bupleuron | bupleur | noun/n | βουπλευρον from bous (ox) + pleuron (rib): a plant, hare's-ear, variously ascribed to Bupeurum falcatum, B. baldense or B. rigidum) | |
| oides | oid | adj | -οειδεϛ adjective suffix for nouns: like, resemble | |
| Silene bupleuroides L. | ||||
| bursa-pastoris bursae-pastorum | sheperd's purse | |||
| bursa | burs | noun/f | βυρσα Late L purse | |
| - | - | cnct | ||
| generative of pastor | pastor | noun/m | a herdsman, shepard | |
| Bursa bursa-pastoris (L.) Britt. | ||||
| butyraceus butyracea butyraceum | yellow in color and oily in texture | |||
| butyrum | butyr | noun/n | βουτυρον butter | |
| aceus | ace | adj | adjective suffix for nouns: resembles, of..., ...like, mixture using, fragrance of; borrowed from nouns declined like ...ax, ...acis + eus | |
| Aesandra butyracea (Roxb.) Baehni | ||||
| buxifolius buxifolia buxifolium | leaves like the genus Buxus | |||
| buxus | bux | noun/f | πυξοϛ box tree, boxwood | |
| i | i | cnct | connective vowel used by botanical Latin | |
| folius | foli | adj | folium leaf | |
| Atriplex buxifolia Rydb. Leiophyllum buxifolium (Berg.) Ell. Cotoneaster buxifolius f. vellaeus Franch. | ||||
| buxiformis buxiformis buxiforme | shape like the genus Buxus | |||
| buxus | bux | noun/f | πυξοϛ box tree, boxwood | |
| i | i | cnct | connective vowel used by botanical Latin | |
| formis | form | adj | in botanical Latin a substantive suffix for nouns derived from 'forma': to be in the form or shape of... | |
| Polygonum buxiforme Small | ||||
| byssinus byssina byssinum | filamentous, cottony | |||
| byssinus | byssin | adj | βυσσινοϛ made of cotton or a very fine flax | |
| Leptogium byssinum (Hoffm.) Zwackh ex Nyl. | ||||
| byzantinus byzantina byzantinum | of Byzantium (Istanbul) | |||
| byzantinus | byzantin | adj | Byzantium Byzantium, Constantinople (Istanbul, Turkey) | |
| Stachys byzantina K.Koch ex Scheele Colchicum byzantinum Ker Gawl. Gladiolus byzantinus P.Mill. |


{% load i18n horizon humanize %} {% block help_message %}
{% blocktrans %}Specify the details for creating a job.{% endblocktrans %}
{% blocktrans %}A job defines an ordered list of actions to be executed in a client with scheduling information.{% endblocktrans %}
{% endblock %}


About Me
During the advent of blockchain, I became absolutely obsessed with the idea of decentralized currency, as well as blockchain's implications regarding the tokenization of music, art, real estate, etc. Because of my love for assembling and optimizing computers, I began building mining rigs to contribute to and support various digital asset networks. Around that time, I became increasingly fascinated with the software that giant tech companies and startups alike were utilizing - and they all seemed to have the most interesting and dynamic websites. On a whim, I started teaching myself Python 2 (honestly, I just thought it had a cool name so I went for it) and absolutely fell in love, just like I had with the hardware side of computers as a child.
I'm currently attending the full-stack web development program at Georgia Tech to continue honing my skills - not just to become employer ready, but to be employer competitive. I'm ecstatic to continue learning and to leverage my technical experience and artistic nature into a fulfilling career as a fully fledged web developer!


| as_labeller {ggplot2} | R Documentation |
This transforms objects to labeller functions. Used internally by
labeller()
.
as_labeller(x, default = label_value, multi_line = TRUE)
x |
Object to coerce to a labeller function. If a named
character vector, it is used as a lookup table before being
passed on to |
default |
Default labeller to process the labels produced by lookup tables or modified by non-labeller functions. |
multi_line |
Whether to display the labels of multiple factors on separate lines. This is passed to the labeller function. |
p <- ggplot(mtcars, aes(disp, drat)) + geom_point() p + facet_wrap(~am) # Rename labels on the fly with a lookup character vector to_string <- as_labeller(c(`0` = "Zero", `1` = "One")) p + facet_wrap(~am, labeller = to_string) # Quickly transform a function operating on character vectors to a # labeller function: appender <- function(string, suffix = "-foo") paste0(string, suffix) p + facet_wrap(~am, labeller = as_labeller(appender)) # If you have more than one faceting variable, be sure to dispatch # your labeller to the right variable with labeller() p + facet_grid(cyl ~ am, labeller = labeller(am = to_string))


CGI Environment - / Internet Server variables
Below is the content (values) of the CGI environment (resp. Internet Server) variables which were fetched with a Magic Xpa program when this page was loaded. Note that you need to add a variable name to HttpVars in the mgreq.ini before the requester will copy that to global parameters before it actually executes your Magic program.
| Name | Value |
|---|---|
| Name | Value |


Is speech accommodation linked to the alignment of mental representations as accounted for through observable brain activity?
The tendency of a speaker to adjust their production of speech sounds in relation to the person (or persons) that they are speaking to
Perception of the intentions and behaviours of an interlocutor influence the levels and types of accommodation
| Convergence | |||
| Divergence | |||
| Complimentarity | |||
| Maintenance |
However, findings are complex and do not seem to follow a simple pattern
There are many approaches to measuring accommodation and they all offer insight into how accommodation operates and what its underlying mechanisms are
However, most rely on carry over effects and cannot evaluate accommodation 'in situ'
The results for the phonetic analysis were mostly non-significant
Of the significant results that were present, they suggested the following:
Markov chains
Hidden Markov Models
In this way, HMMs are able to characterise the general form of a continuous signal
3 types of speaker recognition models:
Can an HMM based approach detect accommodation patterns in a continuous interaction?
| Model Type | No. Significant Cases | p |
|---|---|---|
| GMM | 57 | <10-7 |
| Left-Right | 50 | <10-7 |
| Word Dependent | 42 | <10-7 |
Do the results of the HMM based approach mirror those of the phonetic analyses?
The cognitive mechanisms underlying accommodation
All assume a non-trivial link between production and perception
| Neural entrainment | Neural entrainment to speech |
|---|---|
Neural entrainment to the speech of another speaker could produce a degree of inter-speaker entrainment
This would be especially true in situations that require high levels of coordination
The same as for the behavioural experiment, except for the application of EEG caps and collection of EEG data
Can the findings of the HMM based approach to accommodation detection presented in the behavioural experiment be replicated?
| Behavioural Exp. (speech) | Neural Exp. (speech) |
|---|---|
| Neural Exp. (speech) | Neural Exp. (EEG) |
|---|---|
Maybe
Maybe
Is speech accommodation linked to the alignment of mental representations as accounted for through observable brain activity?
Three acoustic-phonetic features were chosen for analysis:
Markov chains
Pre-processing
| Speaking | Not Speaking | Both | ||
|---|---|---|---|---|


Project path: src\powershell-win-core\powershell-win-core.csproj Files: 3 Lines of code: 542 Bytes: 22,160 Declared symbols: 2 Declared types: 1 Public types: 1 Indexed on: September 06


Before Change
assert isinstance(spec.build, BuildConfig)
assert isinstance(spec.run, RunConfig)
assert isinstance(spec.environment, EnvironmentConfig)
assert [r.to_light_dict() for r in spec.artifact_refs] == [{"name": "outputs1"}]
assert [r.to_light_dict() for r in spec.data_refs] == [{"name": "data1"}, {"name": "data2"}]
assert [r.to_light_dict() for r in spec.secret_refs] == [{"name": "secret1"},
{"name": "secret2"}]
assert [r.to_light_dict() for r in spec.config_map_refs] == [{"name": "config_map1"},
After Change
assert isinstance(spec.build, BuildConfig)
assert isinstance(spec.run, RunConfig)
assert isinstance(spec.environment, EnvironmentConfig)
artifact_refs = [r.to_light_dict()["name"] for r in spec.artifact_refs]
assert len(artifact_refs) == 3
assert set(artifact_refs) == {"data1", "data2", "outputs1"}
assert [r.to_light_dict() for r in spec.secret_refs] == [{"name": "secret1"},
{"name": "secret2"}]


General
ctrl + q
.
The structure you are working on won't be lost as long as you stay on this page and don't refresh.
svg
by clicking 'transfer' (Actions/transfer) or ctrl + t
(note: this shortcut is not working under Chrome, since Chrome's default binding for ctrl + t
(tab opening) cannot be overriden).
Close the editor to see that the result is shown on the webpage.
Bond drawing
quick menu
or from Structures
. 'Single', 'double', 'triple', 'wedge', 'dash' and 'undefined' bonds are available.drawing area
.
Alternatively, keep left mouse button pushed on the
drawing area
and move cursor around to see where new bond will appear.
If you keep ctrl
key pressed while moving the cursor, a bond of custom length will be formed.
Cyclic structures
quick menu
or from Structures
. Currently, structures from three- to nine-membered rings are available.drawing area
.
You may keep left mouse button pushed on the drawing area
and move cursor around to see where the cyclic structure will appear (the rotation is by 15 degrees).
If you keep ctrl
key pressed while moving the cursor, the structure will be rotated by custom angle.
Currently, drawing of fused rings is not well-supported, but it will be soon :-).
Atom labelling and text areas
Structure editing
Exercises


Aiken scores 32 to lead Harvard past Holy Cross 82-74
by EndPlayWORCESTER, Mass. (AP) - Bryce Aiken had 32 points as Harvard defeated Holy Cross 82-74 on Friday night.
Aiken hit 5 of 7 3-pointers.
Noah Kirkwood had 15 points, eight rebounds and six assists for Harvard (4-2). Danilo Djuricic added 15 points and seven rebounds. Chris Ledlum had seven rebounds for the Crimson.
Harvard led 66-65 with 6:38 remaining, then went on a 10-1 run to lead 76-66 with 4:08 to go. Holy Cross drew no closer than six points after that.
After several ties and lead changes early in the second half, the game was last tied at 60 with 10 minutes remaining.
Marlon Hargis had 19 points, seven rebounds and three blocks for the Crusaders (0-5). Drew Lowder added 18 points and six assists. Matt Faw had eight rebounds.
Harvard plays Texas A&M in the Orlando Invitational on Thursday. Holy Cross looks for its first win against Florida Atlantic on the road next Friday.
___
For more AP college basketball coverage: https://apnews.com/Collegebasketball and http://twitter.com/AP_Top25
___
Elements of this story were generated by Automated Insights, http://www.automatedinsights.com/ap, using data from STATS LLC, https://www.stats.com


--- layout: post title: What happens when Windows Defender Quarantines Stuff... date: 2015-11-02 23:34:30.000000000 -05:00 categories: blog ---
Recently a colleague of mine asked me what happens in the file system when a malicious file is "quarantined". The answer varies widely and as this is the "secret sauce" for many antivirus vendors, most of the time it is not overly documented how they do the voodoo they do. Seems like something that might make for a good blog or two so I sat down and did a few tests.
This post is going to cover what happened on my Windows 8 VM when I turned Windows Defender against a vicious EICAR.TXT file!
Windows Defender is a software product that attempts to detect and remove malware. Initially released as an antispyware program, it was first released as a free download for Windows XP, shipped with Windows Vista by default, and currently ships with antivirus capabilities as part of Windows 10. --Wikipedia
I chose to beat up on Windows Defender mostly because it is free and has a huge market share. Nothing personal.
So first things first: I grabbed the EICAR file and saved it to C:\temp.
Then I grabbed a copy of the $MFT to take a look at the this file's record. Looks like this:
There is a lot going on in there but I just wanted to focus on a few things. If you are lost, read this.
NEXT, I turned on Windows Defender real-time protection. It was recommended.
Then a whole bunch of stuff happened.
Let's start with $MFT record number 27152. So I quickly dumped the $MFT again and here's what I got:
So what changed? Pretty much everything accept the $MFT record number.
The sequence number is increment by 4, indicating that there were numerous changes to the file. Specifically the rename and move to a new parent folder.
Lets take a closer look at the USNJrnl-$J to get an idea what happened:
{% highlight raw %}
###When I created the EICAR File and Added the EICAR string to it.###
2015-11-03 03:03:23.186 ref_num = 27152-96 eicar.txt File_Create,Close
2015-11-03 03:03:23.231 ref_num = 27152-97 eicar.txt File_Create,Data_Extend,Close
2015-11-03 03:06:48.274 ref_num = 27152-97 eicar.txt Data_Extend,Data_Truncation,Close
### This is Windows Defender Deleting the File. ###
2015-11-03 03:07:20.379 ref_num = 27152-97 eicar.txt Object_ID_Change,Close
2015-11-03 03:09:43.529 ref_num = 27152-97 eicar.txt Basic_Info_Change,Data_Overwrite,File_Delete,Close
###Since this Record Number is up for grabs, it is reused for a different file ###
2015-11-03 03:09:43.534 ref_num = 27152-98 5A7D7B64F11FF203E09434276A974A97 File_Create,Data_Extend,Close
{% endhighlight %}
So in short Windows Defender deleted the original file. The MFT record number was up for grabs so it was picked up by a newly created file C:\ProgramData\Microsoft\Windows Defender\Scans\History\RemCheck\5A7D7B64F11FF203E09434276A974A97
So where did my EICAR file go? Windows Defender puts quarantined files C:\ProgramData\Microsoft\Windows Defender\Quarantine\ResourceData\. Mine was saved C:\ProgramData\Microsoft\Windows Defender\Quarantine\ResourceData\50\50761523FA79FDF68E04707959836D1F6DBA9969.
Let's take a look at that:
For those that don't know, Windows Defender and Microsoft Security Essentials Quarantine files have a magic number of 0B AD 00. Clever.
Looking at the histogram of the data, it is pretty obvious that it was stored using some kind of encryption.
After doing a bit more digging, it turns out that Windows Defender uses a hard coded RC4 key to encrypt quarantine files.
A colleague of my pointed me at the this cool script from Cuckoo
Here is the relevant chuck of their code that I bastardized for this blog post:
{% highlight python %}
# Copyright (C) 2015 KillerInstinct, Optiv, Inc<EMAIL_ADDRESS># This file is part of Cuckoo Sandbox - http://www.cuckoosandbox.org
# See the file 'docs/LICENSE' for copying permission.
import os
import struct
import hashlib
from binascii import crc32
def mse_ksa():
# hardcoded key obtained from mpengine.dll
key = [0x1E, 0x87, 0x78, 0x1B, 0x8D, 0xBA, 0xA8, 0x44, 0xCE, 0x69,
0x70, 0x2C, 0x0C, 0x78, 0xB7, 0x86, 0xA3, 0xF6, 0x23, 0xB7,
0x38, 0xF5, 0xED, 0xF9, 0xAF, 0x83, 0x53, 0x0F, 0xB3, 0xFC,
0x54, 0xFA, 0xA2, 0x1E, 0xB9, 0xCF, 0x13, 0x31, 0xFD, 0x0F,
0x0D, 0xA9, 0x54, 0xF6, 0x87, 0xCB, 0x9E, 0x18, 0x27, 0x96,
0x97, 0x90, 0x0E, 0x53, 0xFB, 0x31, 0x7C, 0x9C, 0xBC, 0xE4,
0x8E, 0x23, 0xD0, 0x53, 0x71, 0xEC, 0xC1, 0x59, 0x51, 0xB8,
0xF3, 0x64, 0x9D, 0x7C, 0xA3, 0x3E, 0xD6, 0x8D, 0xC9, 0x04,
0x7E, 0x82, 0xC9, 0xBA, 0xAD, 0x97, 0x99, 0xD0, 0xD4, 0x58,
0xCB, 0x84, 0x7C, 0xA9, 0xFF, 0xBE, 0x3C, 0x8A, 0x77, 0x52,
0x33, 0x55, 0x7D, 0xDE, 0x13, 0xA8, 0xB1, 0x40, 0x87, 0xCC,
0x1B, 0xC8, 0xF1, 0x0F, 0x6E, 0xCD, 0xD0, 0x83, 0xA9, 0x59,
0xCF, 0xF8, 0x4A, 0x9D, 0x1D, 0x50, 0x75, 0x5E, 0x3E, 0x19,
0x18, 0x18, 0xAF, 0x23, 0xE2, 0x29, 0x35, 0x58, 0x76, 0x6D,
0x2C, 0x07, 0xE2, 0x57, 0x12, 0xB2, 0xCA, 0x0B, 0x53, 0x5E,
0xD8, 0xF6, 0xC5, 0x6C, 0xE7, 0x3D, 0x24, 0xBD, 0xD0, 0x29,
0x17, 0x71, 0x86, 0x1A, 0x54, 0xB4, 0xC2, 0x85, 0xA9, 0xA3,
0xDB, 0x7A, 0xCA, 0x6D, 0x22, 0x4A, 0xEA, 0xCD, 0x62, 0x1D,
0xB9, 0xF2, 0xA2, 0x2E, 0xD1, 0xE9, 0xE1, 0x1D, 0x75, 0xBE,
0xD7, 0xDC, 0x0E, 0xCB, 0x0A, 0x8E, 0x68, 0xA2, 0xFF, 0x12,
0x63, 0x40, 0x8D, 0xC8, 0x08, 0xDF, 0xFD, 0x16, 0x4B, 0x11,
0x67, 0x74, 0xCD, 0x0B, 0x9B, 0x8D, 0x05, 0x41, 0x1E, 0xD6,
0x26, 0x2E, 0x42, 0x9B, 0xA4, 0x95, 0x67, 0x6B, 0x83, 0x98,
0xDB, 0x2F, 0x35, 0xD3, 0xC1, 0xB9, 0xCE, 0xD5, 0x26, 0x36,
0xF2, 0x76, 0x5E, 0x1A, 0x95, 0xCB, 0x7C, 0xA4, 0xC3, 0xDD,
0xAB, 0xDD, 0xBF, 0xF3, 0x82, 0x53
]
sbox = range(256)
j = 0
for i in range(256):
j = (j + sbox[i] + key[i]) % 256
tmp = sbox[i]
sbox[i] = sbox[j]
sbox[j] = tmp
return sbox
def rc4_decrypt(sbox, data):
out = bytearray(len(data))
i = 0
j = 0
for k in range(len(data)):
i = (i + 1) % 256
j = (j + sbox[i]) % 256
tmp = sbox[i]
sbox[i] = sbox[j]
sbox[j] = tmp
val = sbox[(sbox[i] + sbox[j]) % 256]
out[k] = val ^ data[k]
return out
def mse_unquarantine(f):
with open(f, "rb") as quarfile:
data = bytearray(quarfile.read())
fsize = len(data)
if fsize < 12 or data[0] != 0x0B or data[1] != 0xad or data[2] != 0x00:
return None
sbox = mse_ksa()
outdata = rc4_decrypt(sbox, data)
#prints
with open("unquar-with-meta.bin", "wb") as f:
f.write(outdata)
# MSE stores metadata like the original filename in a separate file,
# so due to our existing interface, we can't restore the original name
# from just the ResourceData file. Later we may allow uploading pairs
# of files, match them up by name, and then associate that data here
# for the final submission
headerlen = 0x28 + struct.unpack("
{% highlight raw %}
c:\ProgramData\Microsoft\Windows Defender\Definition Updates\Backup\mpengine.dll
c:\ProgramData\Microsoft\Windows Defender\Definition Updates\Default\MpEngine.dll
c:\ProgramData\Microsoft\Windows Defender\Definition Updates\{D45C13C3-59B3-4726-B82F-03461072F006}\mpengine.dll
c:\Users\All Users\Microsoft\Windows Defender\Definition Updates\Backup\mpengine.dll
c:\Users\All Users\Microsoft\Windows Defender\Definition Updates\Default\MpEngine.dll
c:\Users\All Users\Microsoft\Windows Defender\Definition Updates\{D45C13C3-59B3-4726-B82F-03461072F006}\mpengine.dll
c:\Windows\WinSxS\amd64_windows-defender-am-engine_31bf3856ad364e35_6.3.9600.16384_none_efe9bba68a38095a\MpEngine.dll
Looks like this:
I might dig a little deeper on this but this is all for now. Hope this helps.


Table Name: tabCommunication
| Sr | Fieldname | Type | Label | Options |
|---|---|---|---|---|
| 1 | naming_series |
Select | Series |
COMM- |
| 2 | communication_medium |
Select | Communication Medium |
Chat Phone Email SMS Visit Other |
| 3 | recipients |
Data | Recipients | |
| 4 | cc |
Data | CC | |
| 5 | phone_no |
Data | Phone No. | |
| 6 | column_break_5 |
Column Break | ||
| 7 | status |
Select | Status |
Open Replied Closed Linked |
| 8 | sent_or_received |
Select | Sent or Received |
Sent Received |
| 9 | delivery_status |
Select |
Delivery Status
Integrations can use this field to set email delivery status |
Sent Bounced Opened Marked As Spam Rejected Delayed Soft-Bounced Clicked Recipient Unsubscribed |
| 10 | section_break_10 |
Section Break | ||
| 11 | subject |
Data | Subject | |
| 12 | section_break_8 |
Section Break | ||
| 13 | content |
Text Editor | Content | |
| 14 | additional_info |
Section Break | More Information | |
| 15 | sender |
Data | Sender | |
| 16 | sender_full_name |
Data | Sender Full Name | |
| 17 | communication_date |
Datetime | Date | |
| 18 | column_break_14 |
Column Break | ||
| 19 | reference_doctype |
Link | Reference DocType | DocType |
| 20 | reference_name |
Dynamic Link | Reference Name |
reference_doctype |
| 21 | in_reply_to |
Link | In Reply To | Communication |
| 22 | email_account |
Link | Email Account | Email Account |
| 23 | user |
Link | User | User |
| 24 | unread_notification_sent |
Check | Unread Notification Sent | |
| 25 | _user_tags |
Data | User Tags |
Inherits from frappe.model.document.Document
_notify (self, print_html=None, print_format=None, attachments=None, recipients=None, cc=None)
No docs
No docs
filter_email_list (self, email_list, exclude, is_cc=False)
No docs
No docs
get_attach_link (self, print_format)
Returns public link for the attachment via templates/emails/print_link.html
.
get_cc (self, recipients=None, fetched_from_email_account=False)
Build a list of email addresses for CC
No docs
Returns document of reference_doctype
, reference_doctype
get_recipients (self, fetched_from_email_account=False)
Build a list of email addresses for To
get_recipients_and_cc (self, recipients, cc, fetched_from_email_account=False)
No docs
notify (self, print_html=None, print_format=None, attachments=None, recipients=None, cc=None, fetched_from_email_account=False)
Calls a delayed celery task 'sendmail' that enqueus email in Bulk Email queue
Parameters:
print_html
- Send given value as HTML attachmentprint_format
- Attach print format of parent documentattachments
- A list of filenames that should be attached when sending this emailrecipients
- Email recipientscc
- Send email as CC tofetched_from_email_account
- True when pulling email, the notification shouldn't go to the main recipientUpdate parent status as Open
or Replied
.
prepare_to_notify (self, print_html=None, print_format=None, attachments=None)
Prepare to make multipart MIME Email
Parameters:
print_html
- Send given value as HTML attachment.print_format
- Attach print format of parent document.send (self, print_html=None, print_format=None, attachments=None, send_me_a_copy=False, recipients=None)
Send communication via Email.
Parameters:
print_html
- Send given value as HTML attachment.print_format
- Attach print format of parent document.set_incoming_outgoing_accounts (self)
No docs
Update status of parent document based on who is replying.
No docs
Public API
/api/method/frappe.core.doctype.communication.communication.make
frappe.core.doctype.communication.communication.make (doctype=None, name=None, content=None, subject=None, sent_or_received=Sent, sender=None, recipients=None, communication_medium=Email, send_email=False, print_html=None, print_format=None, attachments=[], ignore_doctype_permissions=False, send_me_a_copy=False, cc=None)
Make a new communication.
Parameters:
doctype
- Reference DocType.name
- Reference Document name.content
- Communication body.subject
- Communication subject.sent_or_received
- Sent or Received (default Sent).sender
- Communcation sender (default current user).recipients
- Communication recipients as list.communication_medium
- Medium of communication (default Email).send_mail
- Send via email (default False).print_html
- HTML Print format to be sent as attachment.print_format
- Print Format name of parent document to be sent as attachment.attachments
- List of attachments as list of files or JSON string.send_me_a_copy
- Send a copy to the sender (default False).frappe.core.doctype.communication.communication.on_doctype_update ()
Add index in tabCommunication
for (reference_doctype, reference_name)


Topicstarter
Привет !
Hi guys ! I'm the second Russian translator in bblog team ! I love this plugin and will do my best to make it better for Russian users =)
ThePredatoR wrote:
Привет !
Hi guys ! I'm the second Russian translator in bblog team ! I love this plugin and will do my best to make it better for Russian users =)
Hey Predator and welcome. :-)
Welcome and enjoy the team. :)


STAR JSON
Center for Satellite Applications and Research (STAR)
NOAA Center for Weather and Climate Prediction (NCWCP)
5830 University Research Court
College Park, MD 20740
Version 0.2.DEPRECATED
Pedro Vicente
STAR JSON is a JSON schema that is used to share commonly
used scientific data formats, such as HDF5 and netCDF.
A client applicattion has access to remote HDF5 or netCDF data stored on a HTTP or FTP server. The client extracts metadata and data from
the remote files, transmitted in STAR JSON format.
The STAR JSON file is a simplified reproduction of the HDF5 file in JSON format. In STAR JSON format version 0.2, reproduced elements are
- HDF5 file hierarchy, i.e., groups
- All HDF5 atomic datatypes for datasets and attributes, i.e. strings, signed and unsigned integers and floating point values.
The mapping of these HDF5 elements to JSON format (i.e, the JSON schema) is described below
HDF5 to JSON mapping
| HDF5 |
JSON |
| Groups |
Object with key/value a pair of strings (for groups with no children). For group with subgroups, the value is another group object. |
| Datasets |
Object entry with dataset name as key, and value an array that describes the HDF5 metadata and data of the dataset |
| Attributes |
Object entry with attribute name as key, and value an array that describes the HDF5 metadata and data the attribute. |
To better understand this mapping a brief description follows.
HDF5 to JSON mapping in detail
JSON primer
JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.
JSON defines a small set of formatting rules for the portable representation of structured data.
JSON is built on two structures:
- A collection of key/value pairs, called an object
- A list of values, called an array
JSON values can be:
- a string. A string is a sequence of characters, enclosed in double quotes.
- a number. To note that the JSON number format makes no distinction between integer and floating-point.
A JSON number is a signed decimal number that may contain a fractional part.
It is up to a particular programming language or application implementation to interpret a JSON number as desired.
- a boolean (true or false)
- null, an empty value
- an object
- an array.
A JSON text is a sequence of tokens. The set of tokens includes six structural characters, strings, numbers, and three literal names (true, false, null).
The six structural characters are:
| Token |
Description |
Character |
| Array |
square brackets |
[ ] |
| Objects |
curly brackets |
{ } |
| Entry separation in arrays and objects |
comma |
, |
| Separator between keys and values in an object |
colon |
: |
STAR JSON representation of HDF5
A STAR JSON document consists always of one and only one main object.
This corresponds to the HDF5 data model of having one and only one root group.
This root group has an implicit representantion in the JSON STAR document.
There are 3 separate entities of a STAR JSON document
- Groups
- Datasets
- Attributes
These 3 entities correspond exactly to the 3 HDF5 entities that are supported in STAR JSON.
STAR JSON Group objects
Further groups in the HDF5 file (called subgroups) are represented as a JSON object where the object key
is a string with the group name (it can vary) and the object value is always the string "group", as in:
{
"group_name": "group"
}
An example of a file with 2 groups named "g1" and "g2" that have no subgroups is
{
"g1": "group",
"g2": "group"
}
This is a JSON object with 2 key/value pairs, both strings
(note the comma separator for object items, and the colon separator for the object key/value pair, that in this case are both strings).
There is a distinction however between the representation of groups with subgroups (also called children) and groups without subgroups.
The above example shows 2 groups that have no children. For groups that have children, the object value is another group object instead
of a string value for the non child group case, as in:
{
"group_name1":
{
"group_name2": "group"
}
}
An example of a file with 1 group named "g1" that only has 2 subgroups "g11" and "g12" with no children is
{
"g1":
{
"g11": "group",
"g12": "group"
}
}
This representation in fact allows for the representation of the hierarchy of a HDF5 file.
The HDF5 model consists of groups and datasets. Groups can be nested with other groups and datasets.
STAR JSON HDF5 attributes
Attributes in the HDF5 file are represented as a JSON key/value pair (i.e, a JSON object entry) with the format:
{
"attribute_name" : ["attribute", "STAR_TYPE", rank, [dim0, ..,dimN], [value0,..,valueM]]
}
The key is a string with the attribute name (it can vary). The value is an array with exactly 4 or 5 entries (last entry is optional).
The entries are:
| Array position |
Value |
Description |
| 0 |
"attribute" |
JSON string, always with the value "attribute" |
| 1 |
"STAR_TYPE" |
JSON string, that identifies the attribute numerical type (e.g, a integer, a float, a string character). These types are listed below |
| 2 |
rank |
JSON number, contains the HDF5 attribute rank (i.e, number of dimensions) |
| 3 |
[dim0, ..,dimN] |
JSON array, contains the list of dimensions, that are JSON numbers |
4 |
[value0,..,valueM] or "string" |
Contains either a JSON array or a JSON string, contains the attribute data.
Elements of the array are JSON numbers for HDF5 numerical types (integers, floating point numbers).
The string case is for the HDF5 type string.
|
An example of a file with a group named "g1" and an attribute named "attr1", both at root, the attribute with numerical type STAR_INT32
(signed 32 bit integers), with a rank of value 2, with dimensions of values 2 and 3,
and the data values from 1 to 6 is:
{
"g1": "group",
"attr1" : ["attribute", "STAR_INT32", 2, [2, 3], [1, 2, 3, 4, 5, 6]]
}
STAR JSON HDF5 datasets
Datasets in the HDF5 file are represented as an array of objects.
The first position in the array is metadata and data for the dataset itself (an object that has the same format as the JSON STAT attribute format above).
Datasets, just like groups, can have attached attributes.
The attributes are inserted in the dataset array starting at the second position.
The format for the dataset object is identical as the attribute format (a JSON key/value pair), with the word "attribute"
replaced by "dataset":
{
"dset1": [{
"dset1": ["dataset", "STAR_INT32", 2, [3, 4],[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]
}],
"attr1": ["attribute", "STAR_STRING", 1, [3], "foo"]
}
The key is a string with the dataset name (it can vary). The value is an array with exactly 4 or 5 entries (last entry is optional).
The entries are:
| Array position |
Value |
Description |
| 0 |
"attribute" |
JSON string, always with the value "dataset" |
| 1 |
"STAR_TYPE" |
JSON string, that identifies the dataset numerical type (e.g, a integer, a float, a string character). These types are listed below |
| 2 |
rank |
JSON number, contains the HDF5 dataset rank (i.e, number of dimensions) |
| 3 |
[dim0, ..,dimN] |
JSON array, contains the list of dimensions, that are JSON numbers |
4 |
[value0,..,valueM] or "string" |
Contains either a JSON array or a JSON string, contains the dataset data.
Elements of the array are JSON numbers for HDF5 numerical types (integers, floating point numbers).
The string case is for the HDF5 type string.
|
An example of a file with a datset named "dset1" that contains 2 attributes named "attr1" and "attr2", is:
{
"dset1": [{
"dset1": ["dataset", "STAR_INT32", 1, [2], [3, 4]]
}, {
"attr1": ["attribute", "STAR_STRING", 1, [3], "foo"]
}, {
"attr2": ["attribute", "STAR_STRING", 1, [3], "bar"]
}]
}
In this case the dataset array has 3 elements (all JSON objects): first element is the dataset (to note that the JSON object key for the dataset,
the dataset name "dset1", is repeated in the first object), the two additonal array entries are the 2 attributes.
STAR JSON datum types
| Datum |
C type |
HDF5 type |
| STAR_INT8 |
int8_t |
H5T_NATIVE_INT8 |
| STAR_INT16 |
int16_t |
H5T_NATIVE_INT16 |
| STAR_INT32 |
int32_t |
H5T_NATIVE_INT32 |
| STAR_INT64 |
int64_t |
H5T_NATIVE_INT64 |
| STAR_UINT8 |
uint8_t |
H5T_NATIVE_UINT8 |
| STAR_UINT16 |
uint16_t |
H5T_NATIVE_UINT16 |
| STAR_UINT32 |
uint32_t |
H5T_NATIVE_UINT32 |
| STAR_UINT64 |
uint64_t |
H5T_NATIVE_UINT64 |
| STAR_FLOAT |
float |
H5T_NATIVE_FLOAT |
| STAR_DOUBLE |
double |
H5T_NATIVE_DOUBLE |
| STAR_STRING |
char [] |
H5T_C_S1 |
Implementation
A C++ class named star_json_t was written to parse the STAR-JSON file and format.
The open source Jansson C library is used by the class to parse the JSON file into memory structures.
star_json_t uses a recursive traversal function to traverse all the JSON items located in the file.
The class declaration is:
class star_json_t
{
public:
star_json_t(const std::string file_name) :
m_file_name(file_name)
{
}
void process();
private:
std::string m_file_name; void iterate(json_t *json_object); };
References
-
[RFC7159] The JavaScript Object Notation (JSON) Data Interchange Format. https://tools.ietf.org/html/rfc7159
-
HDF5 Predefined Datatypes. https://www.hdfgroup.org/HDF5/doc/RM/PredefDTypes.html


A risk of multiple iterators
one iterator makes a change that another doesn't know about
they run into each other
one removes another inadvertently
they may both return the same value when next() is called
There are no hints for this question


Published Articles
I've written, copyedited, and published pieces for art, tech, and art+tech spaces
Medium (@awong-writes)
- The Anxious Person’s Guide to Interviews, published in The Startup (10.2020)
- Getting a Job in Tech as a Statistics Major (9.2020)
Speeko - "So to Speak" Blog
- The Evolution of Mark Zuckerberg's Public Speaking Style (7.2019)
- Easing the Stress of Public Speaking (7.2019)
- Why Millennials Need to Go to Toastmasters (7.2019)
- How to Speak to a Tech-Forward Audience (7.2019)
- Announcing Speeko's Contest to Win a Free Year of Premium Membership (7.2019)
Speeko - Email Drip Marketing Campaign (14 emails total)
Art Institute
The Berkeley Center for New Media
Below is a drop in the bucket of 70+ articles I wrote
- Camille Crittenden on Women in Tech
- The Berkeley Digital Humanities 2018 Summer Institute, A Review
- Ken Goldberg Quoted on Autonomous Gliders
- The CS160 Final Showcase, A Review
- Ken Goldberg at Autodesk Design Night
- Abigail De Kosnik's Rogue Archives Reviewed in Pop Matters
- Feminist Media Histories Interviews Alumna Bonnie Ruberg
- Nicholas de Monchaux Quoted in Newsweek on Spacesuits
- Learning Analytics Conference
- Prof. De Kosnik to Speak at EMPAC
- Bay Area Artists' Report! Published
- Hybrid Ecologies Lab Wins a Best Paper at CHI 2017
- "Black Sun: Reflections on Otto Piene and Aldo Tambellini", A Review
- Video Now Online: "Designing Spaces for New Media Art"
- Greg Niemeyer's Teaching Philosophy Featured in Le Monde
- Bonnie Ruberg Speaks at Game Developers Conference


Token Generation and Analysis
This add-on allows you to generate and analyse pseudo random tokens, such as those used for session handling or CSRF protection.
To generate and analyse tokens:
Find a request that contains the token you want to generate
Right click in the Sites tab or one of the bottom tabs and select 'Generate Tokens...'
Choose the token you want to generate
Press the Generate button
The responses and tokens will then be listed in the 'Token Gen' tab
When all of the tokens have been generated the 'Analyse Tokens' dialog will be displayed
Note:
Token generations are not allowed in
Safe
mode nor
Protected
if the message is not in scope.
See also
Options Token Generator screen
for an overview of the Token Generator Options


CSS Border
Here is the box 1 contents!
Here is the box 2 contents!
Here is the box 3 contents!
Here is the box 1 contents!
an egg


Met Office says 'potential for snow' on Dartmoor and Exmoor this week
On Wednesday the Met Office says there is a potential for sleet or snow on the moors, including in Princetown
by Sarah WaddingtonThe weather may have cheered up a bit today - but be warned, on Wednesday temperatures will drop significantly and heavy rain, hail and even snow could fall over Dartmoor, Exmoor and Bodmin, the Met Office says.
Met Office meteorologist Simon Partridge says Wedneday will be a day of "sunshine and showers" for most across Devon and Cornwall, but temperatures will fall and there is a chance of sleet or snow on higher ground.
Storm Atiyah, the first named storm of the season, brought high winds and downpours across the region - bringing down power cables, causing damage to buildings and disruption to the train lines.
And if you think we've had the last of it, think again, as winter has well and truly arrived. Sub-zero temperatures are expected in places tonight, more gale force winds are expected on Tuesday and later in the week - and more huge waves are set to roll in off the Atlantic on Friday.
While Wednesday is looking a little drier and a little less windy, more prolonged rain and stronger winds will arrive on Thursday, with guts in excess of 60mph expected on Thursday night/Friday morning down at Land's End, and nearly 50mph in Plymouth.
And on Wednesday itself, Mr Partridge said there is a potential for sleet or snow on the moors, including in Princetown.
He said: "Wednesday will be quite chilly and [on the moors] and in Princetown there is the potential for sleet and hail. [The weather chart] is definitely coming up with a real mixture of rain, hail and sleet in amongst it.
"Exmoor is a similar picture with a faint signal of mixed rain and snow, which is essentially sleet. There will be a lot of rain and hail though there's probably more of a chance of sleet on Dartmoor than Exmoor.
"[Sleet] is less likely for Bodmin, but rain and hail is more likely."
The Met Office is forecasting temperatures of 2C - 3C for Princetown on Wednesday in the daytime, which 'feels like' temperatures of between -2C - -4C.
In Bodmin it will be slightly warmer, between 5C - 6C and 'feels like' temperatures of 0C - 2C.
In Exmoor it's a similar picture.
What about polling day?
Mr Partridge said: "There will be rain on and off throughout the day. It will be warmer but that won't be much use when you're out in the wind and rain. It will be quite windy at times, with gusts fo up to 30 - 40mph.
"If you're heading out to vote you will at least need a waterproof coat as a brolly won't be much use in the wind."
The Met Office says there's a potential for further weather warnings to be implemented later in the week.
If it does snow it would be the first time in 40 years that it has snowed on the day of a general election.
On that occasion, voters in Devon trekked to their polling stations in decidedly wintry conditions - despite it being May 3.
Britain was in the middle of an Arctic blast, with snow, hail and ice affecting many areas.
Best children's coats to keep warm
The kids probably won't care if its blowing a gale or raining, but protect them from the worst of the storms with these and what's more, they are all on sale
1. Orange Performance parka, Sainsbury's
2. Shelly II waterproof jacket, Mountain Warehouse
3. Sonneti Blake jacket, JD Sports
4. Bluezoo - Girls' Khaki Sequin Unicorn parka, Debenhams
5. Trespass Girls Amira padded hooded jacket pink lady, M and M Direct
Prices correct at time of publication
Voters found themselves queuing in the snow in constituencies across south-west England, including the seat of Plymouth Devonport which was being defended by the foreign secretary David Owen.
Up to six inches of snow lay on parts of Dartmoor, disrupting the delivery of ballot boxes to some isolated polling stations.
Temperatures in most places of the UK barely climbed above freezing. Turnout on polling day in 1979 was 76%, up from 73% at the previous election.
And Friday?
Friday looks set to stay windy, and wave experts Magic Seaweed forecast a huge Atlantic swell - which will start arriving on our shores on Thursday - will reach its crescendo at around 9am on Friday morning.


Teamwork skills are essential to your success at work, no matter your industry or job title. An organization that emphasizes good teamwork skills is typically a healthy, high-functioning workplace.
There are literally millions of apps available today, from music apps to banking apps. One area that has seen a rise in popularity is that of app development.
Risk management is the process of identifying, assessing and controlling threats to an organization's capital and earnings. These threats could stem from a wide variety of sources.
Visionary is a person who could imagine how a country, society, industry, etc. will develop in the future and to plan in a suitable way. We choose "Visionaries" as our team name the reason, we choose this name is because we want to be the people who could imagine how something will develop in the future and base on it to produce suitable plans. Hence, we chose that name to show everyone the ideal work style that we have been following.


Who uses Electronic Personalities?
This page links you to data on all types of groups that successfully use robots to market, educate and entertain:
To discuss your own robot media applications, please use the Contact button at the bottom of any page.
Corporations
Theyíre not just for George Lucas anymore! Your company can use robots to interact with consumers, employees, government agencies and the media. Find out how retailers and public companies have used robots to produce proven results.
If youíre an educator, parent or student who wants to see robots in the classroom, visit the Million Dollar Machine page. Youíll find the latest data on these scientifically validated teaching tools and how to invite a robot to your school.
Hospitals & Caring Institutions
EP robots bring healing messages to thousands of children in hospitals and healing institutions nationwide. Visit the Super Power Tour page to see how robots work in hospitals, comments from hospital professionals, and how a robot can visit your favorite facility.
Meeting, Conference & Special Event Planners
Whatís your event? You can use EP robots to entertain and energize corporate affairs, trade shows, birthday parties, anniversaries, grand openings, Bar and Bat Mitzvahs and, yes, even weddings.
Museums
Income producing robot programs are now available to museums and educational facilities. The programs combine a permanent on-site custom robotic mascot with proven educational, outreach and fund raising formats. Visit this area to find out how to promote your facility in every part of your market area.
Public Service Organizations & Foundations
Donít let the chrome fool ya . . . EP robots have hearts of gold! This list shows some of the public service groups that our robots help with fund-raising, entertainment and educational programs.
Universities & Colleges
EP robots donít do term papers but they are funny! Colleges coast to coast use robots to generate campus excitement. Maybe your alma materís among them. If not, find out how to get a BMOC on campus now!


{% extends "utils/layout.html" %} {% block body %}
Are you sure you want to do this? If you are, type "{{wrdsbusername}}" into the box below.
{{ message }}


Next up we’ll guide you through a step-by-step process to setup your company and configure the core components of your fintech app. You can skip this setup process and always get back to it later.


Convert scholarly articles into MP3s so you can listen to papers while you're on the go! (Think Audiobook but with an ML Narrator) Survey some papers while: Commuting, Cooking, Cleaning, Exercising, Waiting for a slow build process or model training. Load up the latest conference proceedings onto your mobile device and start listening to all the abstracts to find something interesting OR Try listening to a whole paper while you cook dinner. Pre-trained Machine Learning models parse a PDF into sections and Pre-trained Text-To-Speech models generate audio files for each section. You end up with an mp3 album where each audio track is a section of the paper and the album name is the name of the paper. It tries to skip over formulas/diagrams/tables. Even if the formulas could be parsed consistently, I Know I couldn't understand it by just listening anyway. Hopefully the audio files sans math and diagrams are enough to get the high level content so you know what to spend time on when you get to the lab/office.
All the heavy lifting is done by Grobid and ESPNet pre-trained models. Check them out! This project just glues them together, adding some convenience. There is some extra stuff related to transforming GROBID XML into a text that can be readily read aloud.
"Sally sold seashells by the seashore."
"Some Common ML phrases"


cage.cli.commands package¶
Submodules¶
cage.cli.commands.analyze module¶
-
cage.cli.commands.analyze.
barrier_analysis
(lands_dir, cation, interp_mesh, end_radii, verbose, coulomb_charge, reference_energy=None)[source]¶
-
cage.cli.commands.analyze.
coulomb_potential
(Q, q, r)[source]¶ Parameters: - Q – Charge in # of elementary charges. Include sign!
- q – Charge in # of elementary charges. Include sign!
- r – Distance between the two charges in Angstrom
Returns: Coulomb potential energy in eV
-
cage.cli.commands.analyze.
landscape_analysis
(lands_dir, cation, energy_range, interp_mesh, end_radii, contour_levels, verbose, coulomb_charge, reference_energy=None, interp_method='griddata')[source]¶
-
cage.cli.commands.analyze.
plot_landscape
(landscape_data, reference_energy=None, energy_range=None, contour_levels=0.1, set_contour_levels_manually=False)[source]¶ Plot a landscape based on the data provided.
Parameters: - landscape_data –
- reference_energy –
- energy_range –
- contour_levels –
- set_contour_levels_manually –
Returns:
cage.cli.commands.setup module¶
-
cage.cli.commands.setup.
chainsetup
(filename, cation, facets, operation, end_radii, nradii, adensity)[source]¶ Set up calculations to study the 2D edge landscapes between a chain of facets.
Parameters: - filename –
- cation –
- facets –
- operation –
- end_radii –
- nradii –
- adensity –
Returns:
-
cage.cli.commands.setup.
find_constraints
(mol, sites)[source]¶ Find the NwChem constraints for a selection of sites on a molecule.
-
cage.cli.commands.setup.
optimize
(filename, charge=None)[source]¶ Set up a NwChem calculation to optimize the geometry of a molecule.
Parameters: - filename (str) – Structure file of the molecule.
- charge (int) – Charge of the molecule.
-
cage.cli.commands.setup.
plot_images
(molecules, filename='path.neb')[source]¶ Parameters: molecules – Returns:
-
cage.cli.commands.setup.
reference
(facet_index, filename, cation, end_radius, start_radius=4.0, nradii=10, verbose=False)[source]¶ Set up a calculation to determine a reference energy for an anion, based on a 1D landscape perpendicular to a chosen facet.
Parameters: - facet_index –
- filename –
- cation –
- end_radius –
- start_radius –
- nradii –
- verbose –
Returns:
-
cage.cli.commands.setup.
set_up_edge_landscape
(facet1, facet2, endpoint_radii=(2, 5), number_of_radii=None, angle_density=50, remove_endline=True)[source]¶ Set up the Landscape to study the energy landscape between two facets.
The script creates a line, whose direction is determined by the vector connecting the origin to the center of the first facet. The line endpoints are determined by the endpoint_radii parameter. The line Landscape is then extended by rotation along the axis defined by the cross product of the two facet normals.
Parameters: - facet1 –
- facet2 –
- endpoint_radii –
- number_of_radii –
- angle_density –
Returns:
cage.cli.commands.util module¶
-
cage.cli.commands.util.
check_calculation
(output)[source]¶ Script that checks if a calculation has completed successfully from the output file(s).
Parameters: output (str) – Output file or directory
-
cage.cli.commands.util.
gather_landscape
(directory)[source]¶ Gather the results from a landscape calculation.
Parameters: directory (str) – Directory which contains all the geometry directories that describe the landscape.
-
cage.cli.commands.util.
geo
(output_file)[source]¶ Quickly write out the initial and the final configuration of a nwchem optimization to xyz files.
Parameters: output_file (str) – Output file of the nwchem calculation.
-
cage.cli.commands.util.
process_output
(output)[source]¶ Process the results in an output file or all subdirectories in a directory.
Parameters: output (str) – File or directory that contains the output. If a directory is provided, the output has to be in the subdirectories of that directory.


Enable your developers to build apps with the technology they know & love across the entire app development process, with the tools, collaboration, and control you need to power your apps—company-wide.
Go from idea to app store in half the time, with Ionic there to guide you at every step.
Create beautiful, high-performant mobile apps that captivate your customers and elevate employees.
Turn in-house web dev teams and even citizen developers into powerful mobile app builders.
Git integration and a centralized dashboard,enable efficient, agile development flow for teams.
Ionic apps work and look beautiful wherever they run. With Ionic, a single team can build desktop, progressive web, and native mobile apps across every major app store, all from a single shared codebase.
Ionic offers the best components for building highly interactive native and progressive web apps. By unlocking native APIs and plugins, Ionic brings the UI standards and device features of native apps together with the full power and flexibility of the open web.
Clean, simple, and functional. Ionic is designed to work and display beautifully on all current mobile devices and platforms, with ready-made components and gorgeous (yet highly customizable) base themes.
Performance is paramount. Ionic is built to perform and behave great on the latest mobile devices with best practices like efficient hardware accelerated transitions, and touch-optimized gestures.
Happy developers build better apps. Ionic is the world's most popular cross-platform mobile development technology stack, backed by a massive international community. Ionic also powers some of the best teams and companies on earth.
With Ionic, you’re taking advantage of the single most adopted, tested, and dominate technology stack in the world: The Web. Rest assured, the Web has been around the longest, and it’s not going away anytime soon.
Ionic Enterprise enables your team to be as efficient and nimble as a startup, while also addressing the complex requirements of the modern enterprise. It’s everything you need to build, test, monitor, and deploy incredible apps.
Ionic’s suite of products and services give you and your team all the tools needed to quickly move from app ideation to app store, allowing you to transition easily between the critical phases of your mobile or desktop development lifecycle.
Get priority access to hotfixes, with the option for premium code reviews and training from the core Ionic team. Every Ionic Enterprise subscription comes with a dedicated Account Manager and a one hour Kickoff Session. Additional code review available at extra cost.
Ensure your team moves forward in the best possible direction. From security and authentication, to plugin advice and integration, our Ionic experts help guide your development stages so you can save time and ship quality enterprise applications faster.


I feel fine. How about you? Yuri Gagarin on 12 April 1961 in his response to ground control
I feel fine. How about you?
The oldest picture book in our possession is the midnight sky. E. W. Maunder, 1900
The oldest picture book in our possession is the midnight sky.
I didn’t feel like a giant. I felt very, very small. Neil Armstrong on looking back at the Earth from the Moon in July 1969
I didn’t feel like a giant. I felt very, very small.
 Ed White after the first American spacewalk, 3 June 1965
I’m coming back in… and it’s the saddest moment of my life.
Orbiting Earth in the spaceship, I saw how beautiful our planet is.  Yuri Gagarin
Orbiting Earth in the spaceship, I saw how beautiful our planet is.