Canadian Competition Day 2
Day 2 of our competition.
We arrived safely last night/this morning at 1:00am. The ride was filled with coding, learning and all-around competition preparation. As per our previous blog post, you may be aware that we had a few issues with our airframe, specifically the part when we decided to take it for a dip. Some quick executive decisions were made to purchase replacement parts and our entire lab was brought along with us to Manitoba. So at 1:00am there we were setting up our lab in one of the rooms. Exhibit A.
Busy away. Slowly one by one we fell and gave in to sleep. The majority of Team UAARG getting less than an hour of sleep. Going to bed a 6:00 and waking up at 7:00. Later this morning, the one time you can say that, we got up and presented our project proposal. At this competition, we are “contracted” to perform aerial surveillance, georeference targets, and calculate areas. We each spoke a bit about our respective fields with Cindy giving a general idea of why they should choose us as opposed to our competition. Following that we finished our final rewiring. At this point we were in a state where we could successfully capture images and tag them with telemetry data. The competition has a Flight Readiness Review(FRR). Basically a test we have to pass that ensures we have proper safety features present. At this point we should theoretically have passed the FRR but would have done so in a very round about way. Instead we decided to perform additional modifications to take the system to the very same level as the pre-crash plane. And that is just what we did. The first time the judges came to see our test we asked them to give us an extension, which they graciously gave. The second time the judges came by we thought we had everything configured correctly, but missed a requirement. Finally a third time we went out and passed the test with flying colours. Just on the nick of time as well. We performed a quick range test and noticed we were not receiving the same poor reception. It seems like our crash was caused by the metal cowl we had installed on the previous plane.
All in all though of the 11 teams only 2 teams actually flew today. UAARG did not manage to take our plane up for a test flight, but we were capable to do so. Alas we readied our plane 15 minutes too late.
From two days ago we had a drenched box full of electronics and now we have rebuilt the plane.
“The big job was coming together as team, and you guys did that” – Joseph Patton
Of the two teams that actually flew today, one was Team Murphy. Their flight was welcomed with applause. It was very heavy winds and basic flight control was very difficult. Thankfully they made it down in one piece. Murphy retrieved some very good images from this flight and look very prepared for the official competition. They also received two standing ovations for Rijesh’s piloting, mostly because there were no seats. But still a standing ovation.


{% extends "people/_base_organizations.html" %} {% block page_title %}Update Your Organization - {{ super() }}{% endblock %} {% block content %}
If you’ve asked us to create an admin account so you can post jobs and manage information about your organization, log in with your email address here.
{% endif %}{{ error_message }}
{% elif user.is_authenticated() and user.is_active and 'people.change_organization' in perms %}Select a person already in the Source database, or type a full name to create someone new and add them to your staff list below.
Sorry, no organization account found for this email address.
{% endif %} {% endblock content %} {% block site_js_extra %} {% endblock %}


This seminar will educate attendees on bill, H.R. 1109, which aims to provide students mental health services from a bill to a law. By increasing policy advocacy in college students it conveys the message that we can change the world and politics doesn't stop on election day. This seminar will serve as a call to action to get attendees involved in issue advocacy year-round.
Presentation on current mental health policy concerning H.R. 1109
Workshop on how to engaged in issue advocacy
Seminar Planner
As a neuroscience major and civic scholar, I developed an activist campaign for mental health by using issue advocacy. After doing letter mailing and text-banking for the recent election, I was made aware of college students' desire to help change the government but a lack of understanding of how. Therefore, I decided to center my activist campaign on getting college students engaged in issue advocacy.
vkimble@drew.edu


On the Customize stage page, you can customize the area of the marketplace home page where you can place, for example, advertisements, eye catchers, or further information.
The marketplace stage can be provided as an image or as HTML code linking, for example, to animations. A separate stage can be used for desktop and mobile devices in each of the supported languages. A preview function allows you to view a stage before it is published. As soon as you confirm the preview, the stage is published and visible to all visitors of the marketplace.
The branding of a marketplace also comprises its layout (colors, fonts, background images, logos, etc.) and the texts (labels of user interface elements, email message texts, etc.). The layout can be customized using the Customize layout menu option in the Marketplace menu. The texts can be customized using the Customize texts menu option in the Marketplace menu.
To customize the marketplace stage:
-
From the Marketplace list, select the marketplace for which you want to customize the stage.
The list contains all marketplaces to which you have access as a marketplace manager.
-
Select the Language for which you want to provide a customized stage.
You can provide stages for all supported languages. If you do not specify a stage for a certain language, the stage of the default language is used. If there is no customized stage for the default language, the initial stage as available after installation of the platform is used.
-
Enter the HTML code referencing the desired stage image. For optimum display, you can specify different stage images for desktop and mobile devices. The stage image for desktop devices is used when the display is wider than 768 pixels. For smaller widths, the stage image for mobile devices is used.
As common with website banners, the image for desktop devices should have a size of 1600 x 500 pixels or multiples thereof with the same aspect ratio. The image for mobile devices should have a size of 768 x 940 pixels or multiples thereof with the same aspect ratio. The recommended width of the stage is 100%. The recommended height is between 200 and 300 pixels for the desktop stage, and between 680 and 720 pixels for the mobile stage.
You can enter the HTML code directly, or you can use an inline frame for embedding the stage in the HTML code of the marketplace home page.
Example:
<iframe FRAMEBORDER="0" width="100%" height="290px" marginwidth="0" marginheight="0" SRC="mystage.htm" SCROLLING="no"></iframe>
Caution: It is recommended that you use an inline frame. If you do not use an inline frame, specify only snippets as HTML code. Do not use a fully featured HTML page that contains elements like <html>, <head>, or <body>. Check the page layout with the preview function (see next step below). A snippet may break the layout of the marketplace home page, the preview dialog, or even the Customize stage page, especially if the snippet contains scripts (e.g. JavaScripts).
Be aware that you are responsible for a correct page layout.
-
Click Preview to view the marketplace home page with the given stage.
-
If the result is as desired, confirm the publishing of the new marketplace home page by clicking Yes. The new stage is visible to visitors the next time they access your marketplace.
By clicking No, you return to the Customize stage page and can make additional changes. The existing stage is not changed.
-
Click Save to save all the changes you have made. Changed stages will be published and be visible to visitors the next time they access the marketplace.


--- title: How to Generate a Name for Your Startup layout: post ---
This password generator gives you a list of ten "pronounceable" passwords. It is modeled after Morrie Gasser's original generator described in
- Gasser, M., A Random Word Generator for Pronouncable Passwords, MTR-3006, The MITRE Corporation, Bedford, MA 01730, ESD-TR-75-97, HQ Electronic Systems Division, Hanscom AFB, MA 01731. NTIS AD A 017676.
It seems that Riptano used this to generate the name of their company. Should be useful for coming up with new startup and/or project names.


The elements provided in the package Shapes.HysteresisAndMagnets allow for consideration of ferromagnetic and dynamic hysteresis during the simulation of electromagnetic networks. The ferromagnetic hysteresis is a material property of the core material and frequency independent. Due to eddy currents the static ferromagnetic hysteresis is superposed by a frequency dependent hysteresis when the ferromagnetic material is exposed to an alternating magnetic field. Fig 1 exemplary shows the simulated hysteresis characteristics of a simple inductor with an iron core for three different excitation frequencies. Thereby, the 0 Hz hysteresis loop represents the static ferromagnetic hysteresis of the core material. The widening of the loops for higher frequencies is due to eddy currents induced in the core material.
Several models to describe the static hysteresis behavior of ferromagnetic materials are known. In this library two of them are implemented. The simple but fast Tellinen hysteresis model and the more accurate but complex Preisach hysteresis model. Click the links for a short description of both models.
| Name / Icon | Description |
|---|---|
|
GenericHystTellinenSoft |
Flux tube element for modeling soft magnetic materials with ferromagnetic and dynamic hysteresis (eddy currents). The ferromagnetic hysteresis behavior is defined by the Tellinen hysteresis model. The shape of the limiting hysteresis loop is described by simple hyperbolic tangent functions with 4 parameters. Therefore, the hysteresis shape variety is limited but the parameterization of the model is very simple and the model is relatively fast and robust. |
|
GenericHystTellinenHard |
Flux tube element for modeling the ferromagnetic (static) hysteresis of hard magnetic materials. The ferromagnetic hysteresis behavior is defined by the Tellinen hysteresis model. The shape of the limiting hysteresis loop is described by simple hyperbolic tangent functions with 4 parameters. |
|
GenericHystTellinenEverett |
Flux tube element for modeling soft magnetic materials with ferromagnetic and dynamic hysteresis (eddy currents). The ferromagnetic hysteresis behavior is defined by the Tellinen hysteresis model. The Shape of the limiting ferromagnetic hysteresis loop is specified by an analytical description of the Everett function, which is also used to parameterize the GenericHystPreisachEverett model. A library of predefined parameter sets can be found in FluxTubes.Material.HysteresisEverettParameter. |
|
GenericHystTellinenTable |
Flux tube element for modeling magnetic materials with ferromagnetic and dynamic hysteresis (eddy currents). The ferromagnetic hysteresis behavior is defined by the Tellinen hysteresis model. The rising and falling branch of the limiting ferromagnetic hysteresis loop are specified by table data. Therefore, almost any hysteresis shapes are possible. A library with predefined tables can be found at FluxTubes.Material.HysteresisTableData. |
|
GenericHystPreisachEverett |
Flux tube element for modeling magnetic materials with ferromagnetic and dynamic hysteresis (eddy currents). The ferromagnetic hysteresis behavior is defined by the Preisach hysteresis model. The Shape of the limiting ferromagnetic hysteresis loop is specified by an analytical description of the Everett function. A library of predefined parameter sets can be found in FluxTubes.Material.HysteresisEverettParameter. |
|
GenericHystTellinenPermanentMagnet |
Flux tube element for modeling the hard magnetic hysteresis of permanent magnets. The model is similar to GenericHystTellinenHard but has an initial magnetization preset of -100% and an adapted icon for better readability of the diagram. |
|
GenericLinearPermanentMagnet |
Simple model of a linear permanent Magnet. Typical characteristics of common permanent magnetic materials can be found at FluxTubes.Material.HardMagnetic. |
| Name | Description |
|---|---|
| StaticHysteresis | Static Hysteresis |
| DynamicHysteresis | Dynamic Hysteresis (Eddy Currents) |
| HysteresisLosses | Hysteresis losses |


Ofsted and the Care Quality Commission have today published the first 2 reports from their new inspections of local areas’ services for children and young people with special educational needs and/or disabilities (SEND).
The first 2 reports are about SEND services in
Bolton, and Brighton and Hove
.
The aim of the new inspections is to assess how effectively local areas are meeting their obligations to children and young people who have SEND. They seek to reassure families that local areas are being held to account, while also supporting local areas to improve.
The inspections cover a wide range of services and report on what local areas do well to support these vulnerable children and young people and where they need to improve.
The outcome letter from the inspection of Brighton and Hove reports that children and young people with SEND, and their families, are very well supported in the area.
In Bolton, inspectors found that the vast majority of specialist provision in schools is of a high quality and the views of parents and carers are taken into account. However, school leaders did not always know how well children and young people with SEND were faring compared to other pupils and students. Inspectors also found that a wide gap exists in the academic progress of children and young people at both primary and secondary levels compared to those who do not have special educational needs.
Joanna Hall, Ofsted Deputy Director for Schools, said:
Accountability helps to raise standards – as we have seen in the rising proportion of good or outstanding schools in recent years.
I am optimistic that, over time, these joint inspections will help to improve outcomes for some of the most vulnerable children and young people in the country. Ofsted and the Care Quality Commission inspectors have found examples of excellent work, particularly in Brighton and Hove. It is my hope that other areas will see what is working well and give serious thought to emulating that good practice.
Steve Field, Care Quality Commission Chief Inspector, said:
All children have the right to healthcare that is safe, effective, caring, responsive and well-led. I’m pleased our inaugural inspections have identified good practice and we hope that the rest of the system can learn from the positive examples we highlight.
During this five year programme of inspection, we hope that our work will shine a spotlight on the needs of children with special educational needs and disabilities, improving their experience and outcomes in the long-term.
Outcome letters for other areas inspected by Ofsted and the Care Quality Commission will be published in the coming months.
Note to editors
The outcome letters about the inspections of
Bolton, and Brighton and Hove are online
. These are inspections of the local area, comprising all the services provided to children and young people with SEND. They are not inspections of the local authority.


Successfully added {{ name }} to our system.
On going collecting relative data to your account!
Thank you for your subscription :)


{% include 'horizon/common/_form_errors.html' with form=form %} {% for field in form.visible_fields %} {% include 'horizon/common/_horizontal_field.html' with field=field %} {% endfor %}


Contact Us Today!
First Name
Last Name
Date-Of-Birth
Phone #
E-Mail
Address
City
State
Please select your state
Andaman and Nicobar Islands
Andhra Pradesh
Arunachal Pradesh
Assam
Bihar
Chandigarh
Chhattisgarh
Dadra and Nagar Haveli
Daman and Diu
Delhi
Goa
Gujarat
Haryana
Himachal Pradesh
Jammu and Kashmir
Jharkhand
Karnataka
Kerala
Lakshadweep
Madhya Pradesh
Maharashtra
Manipur
Meghalaya
Mizoram
Nagaland
Orissa
Pondicherry
Punjab
Rajasthan
Sikkim
Tamil Nadu
Tripura
Uttaranchal
Uttar Pradesh
West Bengal
Zip Code
Gender
Male
Female
Success
Thanks for contacting us, we will get back to you shortly.
Send


This privacy policy has been compiled to better serve those who are concerned with how their 'Personally Identifiable Information' (PII) is being used online. PII, as described in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website or app.
What personal information do we collect from the people that visit our website or app?
When ordering or registering on our site or app, as appropriate, you may be asked to enter your Full Name, Email, Date of birth or other details to help you with your experience.
When do we collect information?
We collect information from you when you Register or enter information on our site or app.
How do we use your information?
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website or login to our app.
How do we protect your information?
Your information remains confidential from praying eyes with strong encryption algorithms during transitions. We restrict access to personal information to our employees and agents, anyone with this access is subject to strict confidentiality obligations and may be disciplined or terminated if they fail to meet these obligations.
Do we use 'cookies'?
We do not use cookies right now, we may use them in near future. You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser settings. Since browser is a little different, look at your browser's Help Menu to learn the correct way to modify your cookies.
COPPA (Children Online Privacy Protection Act)
When it comes to the collection of personal information from children under the age of 13 years old, the Children's Online Privacy Protection Act (COPPA) puts parents in control. The Federal Trade Commission, United States' consumer protection agency, enforces the COPPA Rule, which spells out what operators of websites and online services must do to protect children's privacy and safety online.
CAN SPAM Act
The CAN-SPAM Act is a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have emails stopped from being sent to them, and spells out tough penalties for violations.
We collect your email address in order to:
• Send information, respond to inquiries, and/or other requests or questions
• Process orders and to send information and updates pertaining to orders.
• Send you additional information related to your product and/or service
• Market to our mailing list or continue to send emails to our clients after the original transaction has occurred.
To be in accordance with CANSPAM, we agree to the following:
• Not use false or misleading subjects or email addresses.
• Identify the message as an advertisement in some reasonable way.
• Include the physical address of our business or site headquarters.
• Monitor third-party email marketing services for compliance, if one is used.
• Honor opt-out/unsubscribe requests quickly.
• Allow users to unsubscribe by using the link at the bottom of each email.
If at any time you would like to unsubscribe from receiving future emails, you can email us at<EMAIL_ADDRESS>and we will promptly remove you from
ALL correspondence.
If there are any questions regarding this privacy policy, you may contact us using the information below.


Get SVG relative coordinates given clientX and clientY Source: https://stackoverflow.com/questions/29261304
Get staff by client's x-y coordinates; wrapper for getStaffIdByCoords, but returns the element, not the ID
Get ID of staff by client's x-y coordinates. This function considers the visual bounding box of the staff based on its staff lines, instead of the SVG element itself.
Generated using TypeDoc
Get bounding box (lrx, lry, ulx, uly) of a glyph, which is a


hw-09
Meet a partner for your best holiday
-
Bradley Hanter
Based in Chicago. I love playing
tennis and loud music. -
Lucas Marsha
I get my inspiration from nature
and objects around me. I have a
passion to colours, typography and
skateboards. -
Heather Walker
I'm a happy person that loves cats
and climbing on mountains. -
Bradley Huter
Based in Chocago. I love playing
tennis and lound music


Use this command to change the font that is used to display the hex and character areas in the active window. This command brings up the standard font Choose Font dialog to allow you to select any available font in any size and style.
To quickly change the font use the Font_tool and the Font Size tool. To quickly increase or decrease the font size use the Increase Font Size command or the Decrease Font Size command.
Shortcuts
Toolbar:


DEAR FRIEND, I AM MAKING THIS CONTACT BASED ON MY PRESUMED RELIANCE, AFTER GOING THROUGH A BRIEF PROFILE OF YOUR COMPANY. I AM ALHAJI MECK MAHABILE FROM WEST-AFRICA (A GHANAIAN).  IT WAS MORE LIKE A DREAM WHEN TWO OF MY COLLEAGUES I INTERCEPTED THREE(3) GIGANTIC TRUNK BOXES AT OUR SEA PORT IN THE EARLY HOURS OF 2ND APRIL, 2003 ON TRANSIT TO CAIRO, EGYPT.SUBSEQUENTLY, THE OWNERS WHOM ACCORDING TO OUR INVESTIGATIONS WERE ARABIANS FROM THE GULF REGION (SOME OF THE SADAM HUSSAIN'S ENTOURRAGE)WITHDREW FROM THE OPERATION SINCE THEY OBVIOUSELY STAND NO CHANCE OF DEFENDING THE SOURCE OF THE CONTENT OF THESE BOXES. ALSO, AS A MATTER OF FACT THAT THIS SAME PEOPLE ARE ACCORDING TO OUR INVESTIGATION FACING CHARGES OF LOOTS AND HUMAN-RIGHT ABUSES IN IRAQ. AFETR DUE INVESTIGATIONS AND CLEARIFICATIONS, WE HAVE DECIDED TO OWN THESE BOXES WHICH'S CONTENT I CANNOT DISCLOSE NOW FOR SECURITY REASONS,TO OURSELVES. SINCE WE HAVE EARLIER DECIDED NOT TO OFFCIALLY ANNOUNCE THIS INTERCEPTION FOR ABVIOUS REASON WE URGENTLY NEED AN INTERNATIONAL ASSISTANCE AS TO ENABLE US TRANSFER THESE BOXES AND THEIR CONTENTS ABROAD.  THANKS FOR YOUR ANTICIPATED COOPERATION. ALHAJI MECK MAHABILE


The Minimal Macro Processor (MMP) is a general text macro processor. The motivating use case is preprocessing HTML files for program and library documentation.
MMP stands on the shoulders of giants: Joel de Guzman and Eric Niebler's Quickbook, and Christopher Strachey's A general purpose macrogenerator.
The grammars specify how input is parsed. The notation is a variety of
Extended Backus–Naur Form (EBNF).
"::=
" denotes production rules, "|
" denotes alternatives, "{...}
" denotes zero
or more repetitions, "[...]
" denotes optional constructions.
Input text is parsed according to this input text grammar:
text ::= { command-start command command-end | character } // whitespace permitted between elements unless otherwise specified command ::= "def" name string // name shall not be a keyword | "include" string // string is filename | "snippet" name string // name is id, string is filename | "if" if_body command-end ::= ";" // replaceable; see docs | whitespace {whitespace} if_body ::= expression text {command-start "elif" expression text} [command-start "else" text] command-start "endif" command-start ::= "$" // replaceable; see docs string ::= name | """{s-char}""" s-char ::= "\"" | "\r" | "\n" | character // unescaped " not allowed name ::= name-char{name-char} name-char ::= character // restricted to A-Z, a-z, 0-9, and underscore primary_expr ::= string "==" string | string "!=" string | string "<" string | string "<=" string | string ">" string | string ">=" string | "(" expression ")" and-expr ::= primary_expr {"&&" primary_expr} expression ::= and-expr {"||" and-expr}
As each character
in the input text grammar is processed, it is checked for
a macro call, and if found the
macro call is replaced by the macro's definition. The process is recursive; a macro
definition may itself include macro calls.
// no whitespace permitted between elements macro-call ::= macro-start macro-body macro-body ::= macro-end // null macro, pushes macro-start | "(" macro-name ")" macro-end // pushes value of macro-name // environmental variable if found, // otherwise pushes macro-call | macro-name [macro-end] // if no macro-end, pushes macro-call // if macro-name defined, pushes // what it is defined as, // otherwise pushes macro-call macro-start ::= "$" // replaceable; see docs macro-end ::= ";" // replaceable; see docs macro_name ::= name_char {name_char}
When a snippet command includes a file, only the portion identified by the snippet syntax is processed.
snippet ::= command_start "id " name "=" {character} command-start "endid" $endid
Usage: mmp [option...] input-path output-path option: name=value Define macro -verbose Report progress during processing Example: mmp -verbose VERSION=1.5 "DESC=Beta 1" index.html ..index.html
Last revised: 15 July 2012
© Beman Dawes 2011
Licensed under the Boost Software License, Version 1.0


Available 24 X 7 with the intention of providing round the clock service and being there when it matters. Starting off with vehicle rentals initially with well maintained Superior performance vehicles that are Chauffeur driven. The fleet of brand new vehicles, air-conditioned and Non Air-conditioned models of Cars, includes Brands like Toyota, Ford and Honda. With personal touch to each and every trip, one can be assured of an "Every-time on-time" service with immaculately maintained vehicles.
Take A Tour|
Destination |
Distance from Mysore |
Time Required to Reach |
|
125 km |
3hrs |
|
|
129 km |
3hrs |
|
|
80 km |
1hr 30min |
|
|
119 km |
2hrs 30min |
|
|
147 km |
3hrs |
Affordability: Our car rental is a dependable company in the industry, and is known for offering best value for money packages for outstation taxi in Mysore. Professional Drivers: Hands on and expert drivers are the strength of our services for outstation cabs in Mysore. Timely Availability: Mysore outstation cabs are always run as per given schedule. Services across India: In addition to outstation taxi in Mysore, Our cabs can be booked in 98 cities in India. Wide Range of Cars: You can select taxi in Mysore from a wide range of model options including Indica, Innova and Honda City etc.
More InfoIt is our foremost objective to serve our customers with the most economical Mysore cab fare and best of the taxi services. We are clear and simple in our dealings. Total transparency in billing process is maintained by providing fare breakup to customers in advance. We are the best choice for hiring outstation cabs at economical cab fares in Mysore. The associated terms & conditions declared on our website and call center are reasonable. Below is a breakup of the cab fare in Mysore categorized by car type:
More InfoCar Rentals has a customer focussed approach and is appreciated and cherished across all regions in India. It has the largest operational network and biggest fleet size that enables its customers to choose their favourite car model. Choose any type of vehicle from a range of hatchbacks, sedans or MUV, depending upon your liking, pocket size and number of people travelling. We offer our customers a journey with world class services, trained and polite drivers and well maintained cars when they book an intercity taxi in Mysore through us. The most advantageous aspect is that our’s outstation car rental in Mysore will be price competitive. Experience best in class services via Mysore outstation taxi. To get additional details about outstation taxi service in Mysore, please call us on<PHONE_NUMBER>0. Our seasoned customer care executive will answer all your queries and provide best packages and offers for Mysore outstation cabs.
More Info


A.1 Introduction
This appendix consists of the following sections:
"Obtaining Ptolemy" on page A-1
discusses how to obtain Ptolemy.
"Ptolemy mailing lists and the Ptolemy newsgroup" on page A-2
, discusses various forums for discussion about Ptolemy.
"Installation" on page A-3
discusses how to install Ptolemy.
"Troubleshooting" on page A-15
discusses how to find and fix problems in Ptolemy.
"Known bugs" on page A-32
lists known problems in Ptolemy.
"Additional resources" on page A-39
discusses other resources.
<EMAIL_ADDRESS>Copyright © 1990-1998, University of California. All rights reserved.


MobileConnectSDK
public class MobileConnectSDK: NSObject, MobileConnectSDKProtocol
Is used for supplying the Mobile Connect services with needed credentials/resources (such as clientKey, clientSecret, applicationEndpoint redirectURL and the delegate responsible for catching Mobile Connect responses)
-
Mobile connect client key
Declaration
Swift
public static func setClientKey(clientKey : String)
-
Mobile connect client secret
Declaration
Swift
public static func setClientSecret(clientSecret : String)
-
Mobile connect redirect url set in Mobile Connect dashboard
Declaration
Swift
public static func setRedirect(redirectURL : NSURL)
-
The url of you Mobile Connect application set in the Dashboard
Declaration
Swift
public static func setApplicationEndpoint(applicationEndpoint : String)
-
The delegate which will catch all the publicly available MobileConnectManager events
Declaration
Swift
public static func setDelegate(delegate : MobileConnectManagerDelegate)


Arsenal legend insists the club needs more English players to succeed
by Tom McNeilThings haven’t been going well for Arsenal lately, so it’s only natural that a series of people related to the club will take to the media to give their take on what needs to change.
There are so many things you could point your finger at – a manager out of his depth, a lack of investment in the first team, a board who doesn’t care, fans who turn on their own players and signing David Luiz to fix a leaky defence. They are all valid concerns, but Robert Pires has blamed something else.
READ MORE: Unai Emery hints at when Granit Xhaka could make return for Arsenal
According to a report from The Athletic via The Metro, he thinks the lack of English players in the team is holding the team back. Speaking about the make up of the squad he said:
“You need to be born here. It’s very nice when you get to discover new countries but for me when you play in England you need English players. It’s a different time. But I used to play with David Seaman, Lee Dixon, Tony Adams, Martin Keown, Ashley Cole, Ray Parlour.”
There’s been talk for years about Arsenal getting softer as Arsene Wenger signed a lot of talented footballers from all over the world, but they always seemed a bit startled whenever a team got physical with them.
Robert Pires still coaches from time to time at Arsenal and played in some of the great Gunners teams earlier in the century so he certainly knows what he’s talking about, but you have to wonder where these players would come from.
To sign English talent from other clubs will cost a lot of money, while you can’t just magic five or six English players from the youth team either. It might be a valid point, but it’s something that could be very difficult to fix.


We're working on an app for sharing, collaborating and giving feedback on beer recipes.
Users will be able to create different versions of recipes and save versions of other user's recipes to ensure that a recipe won't change without them knowing.


Visual learning for a visual world
aiSHO is so easy to use, just "Point and Learn!"
aiSHO is built on Tensorflow AI, so you know it's smart ;)
aiSHO can be customized to the user, from travellers who need translations on the go to children learning a new language, we've got you covered.
Open the app and start translating and learning!
Our app instantly recognizes and translates a wide variety of objects such as:
Foods
Furniture
Electronics
Consumable items
Pets etc.
WORDS
LANGUAGES
Judges Happy
AWARDS
In-app ads
See instant translations
$5/month or $40/year
Ad-free
Save translations to easily revert to later
*Group discount for education institutions
Best AI concept & Grand Prize Winner
Co-founder
Co-founder
Co-founder
Co-founder


Core API¶
New in version 1.0.
This section documents the FIDL core API, and it’s intended for developers of IDA plugins
API Overview¶
-
class
decompiler_utils.
BBGraph
(f_ea)¶ Representation of the assembly CFG for a function
-
find_connected_paths
(bb_start, bb_end, co=10)¶ Leverages NetworkX to find all connected paths
- Parameters
bb_start (Basic block) – Initial basic block
bb_end (Basic block) – Final basic block
co (int, optional) – Cutoff parameter
NOTE: the cutoff parameter in
nx.all_simple_paths
serves two purposes:reduce the chances of CPU melting (algo is O(n!))
nobody will inspect (manually) monstruous paths
- Returns
generator of lists or None
-
get_node
(addr)¶ Given a function’s address, returns the basic block (address) that contains it (or None)
- Parameters
addr (int) – address within a function
- Returns
Address of the node containing the input address
- Return type
int
-
-
decompiler_utils.
NonLibFunctions
(start_ea=None, min_size=0)¶ Generator yielding only non-lib functions
- Parameters
start_ea (int, optional) – Address to start looking for non-library functions.
min_size (int, optional) – Minimum function size. Useful to filter small, uninteresting functions.
-
decompiler_utils.
all_paths_between
(c, start_node=None, end_node=None, co=40)¶ Calculates all paths between
start_node
andend_node
Calculating paths is one of these things that is better done with the paralell index graph (
c.i_cfg
) It haywires when done with complex elements.FIXME: the co (cutoff) param is necessary to avoid complexity explosion. However, there is a problem if it’s reached…
- Parameters
c (
controlFlowinator
) – acontrolFlowinator
objectstart_node (
cexpr_t
) – acontrolFlowinator
nodestart_node – a
controlFlowinator
nodeco (int, optional) – the cutoff value controls the maximum path length.
- Returns
it yields a list of nodes for each path
- Return type
list
-
decompiler_utils.
assigns_to_var
(cex)¶ Does this :class:
cexpr_t
assign a value to any variable?TODO: this is limited for now to expressions of the type:
v1 = something something
- Parameters
cex (
cexpr_t
) – acexpr_t
object- Returns
the assigned var index (to
cf.lvars
array) or -1 if thecexpr_t
does not assign to any variable- Return type
int
-
decompiler_utils.
blowup_expression
(cex, final_operands=None)¶ Extracts all elements of an expression
Ex:
x + 1 < y
->{x, 1, y}
- Parameters
cex (
cexpr_t
) – acexpr_t
object- Returns
a set of elements (the final_operands)
- Return type
set
-
class
decompiler_utils.
cImporter
¶ Collect import information
This is mainly to work around the fact that :func:
get_func_name
does not resolve imports…-
get_imports_info
()¶
-
-
class
decompiler_utils.
callObj
(c=None, name='', node=None, expr=None)¶ Auxiliary object for code clarity.
It represents the occurrence of a
call
expression.- Parameters
name (string, optional) – name of the function called
node (
controlFlowinator
) – acontrolFlowinator
node containing the call expressionexpr (
cexpr_t
) – thecall
expression element
-
decompiler_utils.
citem2higher
(citem)¶ This gets the higher representation of a given :class:
citem
, that is, a :class:cinsn_t
or :class:cexpr_t
- Parameters
citem (:class:
citem
) – a :class:citem
object
-
class
decompiler_utils.
controlFlowinator
(ea=None, fast=True)¶ This is the main object of FIDL’s API.
It finds all decompiled code “blocks” and recreates a CFG based on this information.
This gives us the best of both worlds: the possibility to analyze a graph (like in disassembly mode) and the power of :class:
citem
based analysis.Some analysis is performed after the CFG has been constructed. These are rather cost intensive, so they are turned off by default. Use
fast=False
to apply these and get a better CFG.- Parameters
ea (int) – address of the function to analyze
fast (bool) – Set to
False
for an object with richer information
-
dump_cfg
(out_dir)¶ Dump the CFG for debugging purposes
This dumps a representation of the CFG in DOT format. To generate an image:
dot.exe -Tpng decompiled.dot -o decompiled.png
-
dump_i_cfg
()¶ Dump interim CFG for debugging purposes
-
decompiler_utils.
create_comment
(c=None, ea=0, comment='')¶ Displays a comment at the line corresponding to
ea
TODO: avoid creating orphan comment in case the mapping from
ea
to decompiled code fails- Parameters
c (
controlFlowinator
) – acontrolFlowinator
objectea (int) – address for the comment
comment (string) – the comment to add
-
decompiler_utils.
debug_blownup_expressions
(c=None)¶ Debugging helper.
Show all blown up expressions for this function.
- Parameters
c (
controlFlowinator
) – acontrolFlowinator
object
-
decompiler_utils.
debug_get_break_statements
(c)¶
-
decompiler_utils.
debug_stahp
()¶ Toggles
DEBUG
value, useful for testing
-
decompiler_utils.
decast
(ins)¶ Remove the
cast
, returning the casted element
-
decompiler_utils.
display_all_calls_to
(func_name)¶ Wrapping
display_line_at()
since this is the most common use of this API- Parameters
func_name (string) – name of the function to search references
-
decompiler_utils.
display_line_at
(ea, silent=False)¶ Displays the line of pseudocode corresponding to
ea
This is useful to quickly answer questions like:
“Is this function always called with its first parameter being a constant?”
“I want to see all the error messages displayed by this function”
etc.
- Parameters
ea (int) – address of an element contained within the line to display
silent (bool) – flag controlling verbose output
-
decompiler_utils.
display_node
(c=None, node=None, color=None)¶ Displays a given node in the
pseudoviewer
- Parameters
c (
controlFlowinator
) – acontrolFlowinator
objectnode (
cexpr_t
) – acontrolFlowinator
nodecolor (int, optional) – color to mark the line of code corresponding to node
-
decompiler_utils.
display_path
(cf=None, path=None, color=None)¶ Shows a path’s code and colors its lines.
- Parameters
cf (an
cfunc_t
object, optional) – a decompilation objectpath (list) – a list of :
controlFlowinator
nodescolor (int, optional) – color to mark the lines of code corresponding to path
- Returns
a list of function lines (path nodes)
- Return type
list
-
decompiler_utils.
do_for_all_funcs
(func, fast=True, start_ea=None, blacklist=None, min_size=100, **kwargs)¶ This is a generic wrapper for all kinds of logic that we want to apply to all the functions in the binary.
- Parameters
func (function) – function “pointer” performing the analysis. Its only mandatory argument is a
controlFlowinator
object.fast (boolean, optional) – parameter fast for the
controlFlowinator
object.start_ea (int, optional) – Address to start looking for non-library functions.
blacklist (function, optional) – a function determining whether to process a function. Implemented via dependency injection.
- Returns
A list of JSON-like messages (individual function results)
- Return type
list
-
decompiler_utils.
does_constrain
(node)¶ This tries to answer the question: “Does this
node
constrains variables in any way?”Essentially it is looking for the occurrence of variables within known constrainer constructs, eg. inside an
if
condition.TODO: many more heuristics can be included here
- Parameters
node (
cinsn_t
orcexpr_t
) – typically acontrolFlowinator
node- Returns
a set of variable indexes (to
cf.lvars
array)- Return type
set
-
decompiler_utils.
dprint
(s='')¶ This will print a debug message only if debugging is active
- Parameters
s (str, optional) – The debug message
-
decompiler_utils.
dump_lvars
(ea=0)¶ Debugging helper.
-
decompiler_utils.
dump_pseudocode
(ea=0)¶ Debugging helper.
-
decompiler_utils.
find_all_calls_to_within
(f_name, ea)¶ Finds all calls to a function with the given name within the function containing the
ea
address.Note that the string comparison is relaxed to find variants of it, that is, searching for
malloc
will match as well_malloc
,malloc_0
, etc.- Parameters
f_name (string) – the function name to search for
ea (int) – any address within the function that may contain the calls
- Returns
a list of
callObj
- Return type
list
-
decompiler_utils.
find_elements_of_type
(cex, element_type, elements=None)¶ Recursively extracts expression elements until a
cexpr_t
from a specific group is found- Parameters
cex (
cexpr_t
) – acexpr_t
objectelement_type (a
cot_xxx
value (eg.cot_add
)) – the type of element we are looking for (as acot_xxx
value, seecompiler_consts.py
)
- Returns
a set of
cexpr_t
of the specified type- Return type
set
-
decompiler_utils.
get_all_vars_in_node
(cex)¶ Extracts all variables involved in an expression.
- Parameters
cex (
cexpr_t
) – typically acontrolFlowinator
node- Returns
list of
var_t
indexes (tocf.lvars
)- Return type
list
-
decompiler_utils.
get_cfg_for_ea
(ea, dot_exe, out_dir)¶ Debugging helper.
Uses
DOT
to create a.PNG
graphic of theControlFlowinator
CFG and displays it.- Parameters
ea (int) – address of the function to analyze
dot_exe (string) – path to the
DOT
binaryout_dir (string) – directory to write the
.DOT
file
-
decompiler_utils.
get_cond_from_statement
(ins)¶ Given a
cinsn_t
representing a control flow structure (do, while, for, etc.), it returns the correspondingcexpr_t
representing the condition/argument for that code construct.This is useful since we usually want to peek into conditional statements…
- Parameters
ins (
cinsn_t
) – thecinsn_t
associated with a control flow structure- Returns
the condition or argument within that control flow structure
- Return type
cexpr_t
-
decompiler_utils.
get_function_vars
(c=None, ea=0, only_args=False, only_locals=False)¶ Populates a dict of
my_var_t
for the function containing the specifiedea
- Parameters
c (
controlFlowinator
) – acontrolFlowinator
object, optionalea (int) – the function address
only_args (bool, optional) – extract only function arguments
only_locals (bool, optional) – extract only local variables
- Returns
A dictionary of
my_var_t
, indexed by their index
-
decompiler_utils.
get_interesting_calls
(c, user_defined=[])¶ Not all functions are created equal. We are interested in functions with certain names or substrings in it.
- Parameters
c (
controlFlowinator
) – acontrolFlowinator
objectuser_defined (list, optional) – a list of names (or substrings), if not supplied a hard-coded default list will be used.
- Returns
a list of
callObj
- Return type
list
-
decompiler_utils.
get_return_type
(cf=None)¶ Hack to get the return value of a function.
- Parameters
cf (
ida_hexrays.cfuncptr_t
) – the result ofdecompile()
- Returns
Type information for the return value
- Return type
tinfo_t
-
decompiler_utils.
is_arithmetic_expression
(cex, only_these=[])¶ Checks whether this is an arithmetic expression.
- Parameters
cex (
cexpr_t
) – expression, usually this is a node.only_these (a list of
cot_*
constants, eg.cot_add
.) – a list of arithmetic expressions to look for. These are defined inida_hexrays
- Returns
True or False
- Return type
bool
-
decompiler_utils.
is_array_indexing
(ins)¶
-
decompiler_utils.
is_asg
(ins)¶
-
decompiler_utils.
is_binary_truncation
(cex)¶ Looking for expressions truncating a number
These expressions are of the form
v1 & 0xFFFF
or alike- Parameters
cex (:class:cexpr_t) – an expression
- Returns
True or False
- Return type
bool
-
decompiler_utils.
is_call
(ins)¶
-
decompiler_utils.
is_cast
(ins)¶
-
decompiler_utils.
is_final_expr
(cex)¶ Helper for internal functions.
A final expression will be defined as one that can not be further decomposed, eg. number, var, string, etc.
Normally, you should not need to use this.
- Parameters
cex (
cexpr_t
) – acexpr_t
object- Returns
True or False
- Return type
bool
-
decompiler_utils.
is_global_var
(ins)¶ Tells whether
ins
is a global variableTODO: enhance this heuristic
- Parameters
ins –
cexpr_t
orinsn_t
- Returns
True or False
- Return type
bool
-
decompiler_utils.
is_if
(ins)¶
-
decompiler_utils.
is_number
(ins)¶ Convenience wrapper
-
decompiler_utils.
is_ptr
(ins)¶
-
decompiler_utils.
is_read
(ins)¶ Try to find read primitives.
Looking for things like:
v3 = *(_DWORD *)(v5 + 784)
NOTE: this will find expressions that are read && write, since they are not mutually exclusive
TODO: Rather rough, it is a first version…
- Parameters
node (
cinsn_t
orcexpr_t
) – acontrolFlowinator
node- Returns
True or False
- Return type
bool
-
decompiler_utils.
is_ref
(ins)¶
-
decompiler_utils.
is_string
(ins)¶ Convenience wrapper
-
decompiler_utils.
is_var
(ins)¶ Whether this
ins
corresponds to a variableRemember that if this evaluates to True, we are dealing with an object of type
var_ref_t
which are pretty much useless. We may want to convert this to alvar_t
and even better to amy_var_t
afterwards.ref2var()
is a simple wrapper to perform the conversion between reference and variable
-
decompiler_utils.
is_write
(node)¶ Try to find write primitives.
Looking for things like:
*(_DWORD *)(something) = v38 arr[i] = v21
TODO: Rather rough, it is a first version…
- Parameters
node (
cinsn_t
orcexpr_t
) – acontrolFlowinator
node- Returns
True or False
- Return type
bool
-
decompiler_utils.
lex_citem_indexes
(line)¶ Part of Lighthouse plugin
Lex all ctree item indexes from a given line of text. The HexRays decompiler output contains invisible text tokens that can be used to attribute spans of text to the ctree items that produced them.
-
decompiler_utils.
lines_and_code
(cf=None, ea=0)¶ Mapping of line numbers and code
- Parameters
cf (an
cfunc_t
object, optional) – a decompilation objectea (int, optional) – Address within the function to decompile, if no cf is provided
- Returns
a dictionary of lines of code, indexed by line number
- Return type
dict
-
decompiler_utils.
main
()¶
-
decompiler_utils.
map_citem2line
(line2citem)¶ Part of Lighthouse plugin
Creates a mapping of citem indexes to lines of code
-
decompiler_utils.
map_line2citem
(decompilation_text)¶ Part of Lighthouse plugin
Map decompilation line numbers to citems. This function allows us to build a relationship between citems in the ctree and specific lines in the hexrays decompilation text.
-
decompiler_utils.
map_line2node
(cfunc, line2citem)¶ Part of Lighthouse plugin
Map decompilation line numbers to node (basic blocks) addresses. This function allows us to build a relationship between graph nodes (basic blocks) and specific lines in the hexrays decompilation text.
-
decompiler_utils.
map_node2lines
(line2node)¶ Part of Lighthouse plugin
Creates a mapping of nodes to lines of code
-
decompiler_utils.
my_decompile
(ea=None)¶ This is a workaround for the cache lifecycle problem.
It calls the
pseudoViewer
API if the function is not in the cache, in order to plug it in.- Parameters
ea (int) – Address within the function to decompile
- Returns
decompilation object
- Return type
a
cfunc_t
-
decompiler_utils.
my_get_func_name
(ea)¶ Wrapper for
get_func_name
handling some corner cases.- Parameters
ea (int) – Address of the function to resolve its name
-
class
decompiler_utils.
my_var_t
(var)¶ This wraps the
lvar_t
nicely into a more usable data structure.It aggregates several interesting pieces of information in one place. eg.
is_arg
,is_constrained
,is_initialized
, etc.The most commonly used attributes for this class are:
name
type_name
size
is_arg
is_pointer
is_array
is_signed
- Parameters
var (
lvar_t
) – an object representing a local variable or function argument
-
decompiler_utils.
num_value
(ins)¶ Returns the numerical value of
ins
- Parameters
ins –
cexpr_t
orinsn_t
-
decompiler_utils.
points_to
(ins)¶
-
class
decompiler_utils.
pseudoViewer
¶ This wraps the
pseudoViewer
API neatly.We need it because some things don’t work unless you previously visited (or are currently visiting) the function whose decompiled form you want to analyze. Thus, we are forced to “Hack like in the movies”
NOTE: the performance penalty is negligible
-
OPEN_NEW
= 1¶
-
REUSE_IF_PSEUDOCODE
= -1¶
-
USE_EXISTING
= 0¶
-
close
()¶ Closes the pseudoviewer widget
-
show
(ea=0, reuse=-1)¶ Displays the pseudoviewer widget
- Parameters
ea (int, optional) – adress of the function to display
reuse (int, optional) – how to reuse an existing pseudocode display, if any
-
-
decompiler_utils.
ref2var
(ref, c=None, cf=None)¶ Convenient wrapper to streamline the conversions between
var_ref_t
andlvar_t
- Parameters
c (
controlFlowinator
) – acontrolFlowinator
object, optionalcf (a
cfunc_t
object) – a decompilation object (usually the result ofdecompile
), optionalref (
var_ref_t
) – a reference to a variable in the pseudocode
- Returns
a
lvar_t
object- Return type
lvar_t
-
decompiler_utils.
ref_to
(ins)¶
-
decompiler_utils.
string_value
(ins)¶ Gets the string corresponding to
ins
Works with C-str and Unicode
- Parameters
ins –
cexpr_t
orinsn_t
- Returns
string for this
ins
- Return type
string
-
decompiler_utils.
value_of_global
(ins)¶ Returns the value of a global variable


I KNOW WHAT YOU DID LAST SUSMMER (1997)
A film review by Steve Kong Copyright 1997 Steve Kong
First it was the return of the disaster movies and now it's the return of the slasher movies. I Know What You Did Last Summer (from here on known as Last Summer) is the second slasher movie from writer Kevin Williamson. His last was the wildly popular and entertaining Scream. What classifies a movie as a slasher movie? 1) The killer has to wear some sort of a mask -- this time around the killer is dressed as The Gorton's Fisherman. 2) The ditsy female leads who have ample cleavage. And 3) The cast of one-dimensional characters that serve as slasher fodder. I'm happy to say that Last Summer dutifully fulfills all the requirements as a slasher movie.
During their last summer together, two teen couples go to the beach and have a party. One of them gets raging drunk. His friends, being the good friends that they are, don't let him drive. But, while driving back a series of events happen that causes the driver to hit a man on some pretty curvy roads. In a panic the teens dump the dead guy into the sea and swear to each other that they won't tell anyone what they did.
A year after the accident the teens are torn apart avoiding each other like the plague. But, the terror starts with a small note to one of the teens, Julie (Jennifer Love Hewitt of the TV show "Party of Five"). After receiving the note the town is terrorized by the Gorton's Fisherman who kills with a mighty right hook. The killer, whose identity is unknown, also summons the three other teens --Helen (Sarah Michelle Gellar of the TV show "Buffy the Vampire Slayer", Barry (Ryan Phillippe), and Ray (Freddie Prinze Jr.).
It's sad to say that Last Summer is not as enjoyable as Scream. It does not even come close to being as scary as Scream. The problem that I see with Last Summer is that it IS the movie that the characters in Scream poked fun at. In Last Summer the characters do all the wrong things, which were all readily pointed out by the characters in Scream. Keep in mind that Williamson wrote both films. At least in Scream the characters knew that they were in a slasher movie and the script took courage in poking fun at its own genre. Not so with Last Summer, Last Summer takes itself seriously and that is just no fun.
None of the performances were great, but what do you expect from a slasher movie? The two male leads were obviously picked because the look good. And the two female leads were picked, again, obviously because of their cleavage, which is used often during the film. Director Jim Gillespie is no Wes Craven (who directed Scream) and it shows. The scares in Last Summer are mostly the shock type; bursts of loud sounds and turn-around-to-see-the-killer type shocks. Nothing really frightening.
The ending of the film, though predictable, was very cool. I wanted to like I Know What You Did Last Summer, but there isn't much to like in this film. It's just not as fun as Scream was and at points it's just not fun at all. I know that I Know What You Did Last Summer will inevitably have a big draw because of the heavy promotion of it being from the writer of Scream, but if you want to see this film, I would suggest that you do it during a matinee showing or on video. I did learn something from this movie though, if you happen to kill someone while driving don't dump them out to sea. But if you do decide to dump them out to sea, do check that they are dead before dumping them out to sea. You could avoid the ghastly death by fishhook.
!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=! steve kong<EMAIL_ADDRESS>find the latest movie reviews at the hard boiled movie page http://boiled.sbay.org/boiled/ !=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


About me
-
Hello, I am Shaoqi Wang, a Ph.D student in University of Colorado, Colorado Springs, under the supervision of Dr. Xiaobo Zhou.
My current research interests include Big Data Analytics and System, Cloud Computing, and Distributed Machine Learning and Deep Learning Systems.
[CV][Google Scholar][LinkedIn]
Education
Experience
Publications
Wei Chen, Aidi Pi, Shaoqi Wang, Xiaobo Zhou
in ACM Symposium on Cloud Computing (SoCC 2019), California, USA.
Wei Chen, Aidi Pi, Shaoqi Wang, Xiaobo Zhou
in ACM/IFIP International Middleware Conference (Middleware 2019), California, USA.
Aidi Pi, Wei Chen, Shaoqi Wang, Xiaobo Zhou
in ACM Symposium on High-Performance Parallel and Distributed Computing (HPDC 2019), Phoenix, Arizona, USA.
Shaoqi Wang, Wei Chen, Xiaobo Zhou, Sang-Yoon Chang, Mike Ji
in IEEE International Conference on Computer Communications (INFOCOM 2019), Paris, France.
Shaoqi Wang, Aidi Pi, Xiaobo Zhou
in AAAI Conference on Artificial Intelligence (AAAI 2019), Honolulu, Hawaii, USA.
Shaoqi Wang, Wei Chen, Aidi Pi, Xiaobo Zhou
in ACM/IFIP International Middleware Conference (Middleware 2018), Rennes, France.
Shaoqi Wang, Wei Chen, Xiaobo Zhou, Liqiang Zhang, Yin Wang
in IEEE Transactions on Parallel and Distributed Systems (TPDS), August 2018
Palden Lama, Shaoqi Wang, Xiaobo Zhou, Dazhao Cheng
in IEEE International Parallel and Distributed Processing Symposium (IPDPS 2018), Vancouver, British Columbia, CANADA
Wei Chen, Aidi Pi, Shaoqi Wang, Xiaobo Zhou
in IEEE International Parallel and Distributed Processing Symposium (IPDPS 2018), Vancouver, British Columbia, CANADA
Yinggen Xu, Wei Chen, Shaoqi Wang, Xiaobo Zhou, Changjun Jiang
in IEEE International Conference on Computer Communications (INFOCOM 2018), Honolulu, Hawaii, USA.
Shaoqi Wang, Xiaobo Zhou, Liqiang Zhang, Changjun Jiang
in IEEE International Conference on Autonomic Computing (ICAC 2017), Columbus, OH, USA
Technical skills
Academic services
Awards
Our visitors


I am Web Developer!
Proficient with React Framework, Flutter, and bookstrap 5
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Asperiores debitis eaque ipsum, obcaecati, rem error dolores eveniet totam perspiciatis accusamus ad nihil magnam neque soluta voluptatem maxime similique libero. Suscipit?
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Asperiores debitis eaque ipsum, obcaecati, rem error dolores eveniet totam perspiciatis accusamus ad nihil magnam neque soluta voluptatem maxime similique libero. Suscipit?
Some quick example text to build on the card title and make up the bulk of the card's content.
Read MoreSome quick example text to build on the card title and make up the bulk of the card's content.
Read MoreSome quick example text to build on the card title and make up the bulk of the card's content.
Read More


--- layout: post authors: ["Greg Wilson"] title: "A 'Joel Test' for Grassroots Programming Groups" date: 2014-11-04 time: "07:00:00" tags: ["Teaching"] ---
Back during the first dot-com bubble, Joel Spolsky wrote an article titled "The Joel Test: 12 Steps to Better Code" that listed 12 questions you can ask to estimate the maturity of a software development team:
It was completely unscientific, but it was also very useful and influential (and was in fact one of the inspirations for our "Best Practices for Scientific Computing" paper). In that spirit, I would like to present something similar for estimating the maturity of a grassroots "learn to program" project like ours. In place of the original test's 12 questions, I have 16:
How Mature Is Your Training Program?
- Are all of your lessons searchable?
- Does each lesson solve a problem your learners believe they have?
- Are you teaching principles that will still be relevant in five years?
- Do your instructors regularly update your lessons in a publicly-accessible version control repository?
- Do your instructors record and share their pedagogical content knowledge?
- Is there a coherent narrative running through all your lessons?
- Are lessons presented in short, digestible pieces with clear objectives at the start and practice exercises at the end?
- Do you code live when teaching?
- Do your setup instructions work for most learners, and do instructors know how to fix things when they don't?
- Do you check learners' current knowledge and skills before teaching?
- Do you have real-time feedback in your classroom?
- Do you check what learners got out of the workshop weeks or months later?
- Do you have a standard for conduct that everyone is familiar with and that is actually enforced?
- Do you recruit potential new instructors from your workshops?
- Do you teach your instructors how to teach?
- Do you provide explicit next steps for learners?
The thing about this quiz is that it's easy to give a quick yes or no to each question. (You can even give yourself half marks if your score would otherwise be uncomfortably low, which is what I do below for Software Carpentry.) I think any score over 50% is pretty good; I also think that a lot of software skills programs fall well below that, regardless of whether they are grassroots groups, corporate training, or traditional academic courses.
Search engines can't read the text embedded in images, videos, and Flash animations, and users can't copy and paste such text, so anything presented that way is essentially invisible to the web. PDFs are also often difficult, especially if what they contain is graphically rich. In order to help learners find what they need when they need it, in their own order and on their own time, lessons should be stored in a web-friendly format like HTML.
Software Carpentry's score: 1. (Note that our Version 4 lessons would only get 0.5 on this, because most of the example code is only present in the PNG images exported from PowerPoint, and not in the accompanying narration.)
People learn best when they're intrinsically motivated, and intrinsic motivation is more likely when they can see how the things they are learning will help them do things they currently want to do.
Software Carpentry's score: 1.
Specific tools come and go, but deeper principles remain. More importantly, without an understanding of the principles embodied in particular tools and techniques, learners will be reduced to cargo cult programming: they won't be able to fix things that go wrong, and they're unlikely to be able to extrapolate from what they know to come up with new solutions to their specific problems.
And yes, this goal is in direct tension with the preceding one. Learners want specific, concrete skills to meet next Thursday's deadline; we want them to understand the "why" behind those skills. I think Software Carpentry's curriculum does a good job of smuggling big ideas into lessons by showing learners specific tools (e.g., pipes in the shell) and then explicitly saying what those tools are examples of.
Software Carpentry's score: 1.
I now believe that getting people to collaborate openly on lessons in the way they collaborate on Wikipedia articles and open source software may well be Software Carpentry's greatest long-term contribution. More prosaically, if instructors (and learners, and passers-by) aren't able to update lessons easily, your training is critically dependent on a small number of authors, and will probably wither when real life drags those authors (or that single author) away.
Software Carpentry's score: 1.
Pedagogical content knowledge (PCK) is what lies between the domain-specific knowledge that's being taught and the general principles of good educational practice. It's the examples that illustrate ideas particularly well, how long lessons take, the instructors' collective understanding of what's likely to go wrong in those lessons and how to fix it, and so on—in short, the collective wisdom of a specific teaching community.
Software Carpentry's score: 0. (Our instructor's guide only captures a fraction of what we know, and isn't updated regularly.)
Humans are story-telling animals: we listen more closely, and learn better, when we're presented with a plot rather than a mere collection of facts. Good lessons should therefore contain a story that builds toward a useful conclusion.
Software Carpentry's score: 0. (Unlike Data Carpentry, we don't use a running example throughout our lessons.)
This question is basically asking, "Are the lessons well designed?"
Software Carpentry's score: 0.5. (Our lessons are short and digestible, but our objectives are muddled and the practice exercises are uneven.)
We've all had the misfortune to watch an instructor whip through slides faster than the audience could possibly follow. Live coding helps prevent that, but it also allows instructors to go off the beaten track and follow learners' questions in unexpected directions. More importantly, it allows learners to see instructors diagnose and fix mistakes (something which is rarely if ever shown in static slides). And most importantly of all, seeing instructors make mistakes gives learners permission to make mistakes of their own: if the teacher is fouling this up, it must OK for the newbie to as well.
Software Carpentry's score: 1.
"I can't even get started" is perhaps the biggest demotivator a class faces.
Software Carpentry's score: 0.5. (We get full marks for instructions, but only part marks for instructors knowing how to debug things that go wrong.)
This question is similar to the previous one, but on a different timescale: rather than feedback in real time as you're teaching, do you gather feedback before the class starts so that you can tune your content and pace to your actual learners? Laying out pre-requisites doesn't achieve this: people will mis-estimate their own knowledge, or sign up for something far too simple or far too advanced just because it's the only training on offer.
Software Carpentry's score: 1.
Watching recorded videos is actually a pretty poor way for novices to learn. The only reason most people don't realize it is that many of the live lectures they've attended aren't any better. The whole point of a live performance is that the performer (in this case, the teacher) can respond to her audience, but in order for her to do that, there must be some way for her to get feedback while she's teaching.
Software Carpentry's score: 1. (Sticky notes and Etherpad for the win!)
Asking people immediately after a class what they learned doesn't tell you what's going to stick, and there's no point teaching things that don't (if only because there's always something else you could try to teach instead). A good training course also gathers long-term feedback to tune the way it's teaching, particularly if different instructors or different offerings approach a topic in different ways.
Software Carpentry's score: 0. (Our lack of long-term post-workshop assessment is our biggest failing.)
Isaiah Berlin famously distinguished between negative liberty (the absence of constraints) and positive liberty (the possession of the power and resources needed to fulfill one's desires). Similarly, there's a different between negative openness (the absence of a rule saying "you can't take part in this") and positive openness (a sincere effort to make everyone feel welcome and help them take part). A code of conduct isn't the only way to achieve the latter—Hacker School has their User's Manual, and Ascend has its class agreement—but there has to be something in place if you truly want all kinds of learners.
Software Carpentry's score: 1.
Everybody gets tired eventually, or is sidetracked by other events in their lives. In order for your training program to last longer than one person's heroic efforts, the instructor pool must steadily be replenished.
Software Carpentry's score: 1. (Most of our instructors are alumni of past workshops.)
People can teach themselves how to program; projects like Software Carpentry exist because it's easier to learn with guidance. Similarly, people can learn how to teach on their own, but it's easier (and faster, and more reliable) if someone is there to point the way. Having some kind of training for instructors also helps ensure that they're all singing from the same songbook, i.e., that there's some level of agreement on what and how they're going to teach, and therefore fewer collisions between approach and direction in class.
But to ensure positive openness, instructor training must go beyond the lessons. Instructors need to know that they shouldn't take over the keyboard when working with novices, that they have to actively give everyone a chance to speak, to respect learners' cultural norms (swearing, for example, is almost unnoticed now by some people, but still quite offensive to others), and not to belittle the difficulties learners face by saying things like, "Oh, that's easy, you just..."
Software Carpentry's score: 1.
The end of class shouldn't be the end of learning. Instructors should tell learners where to go to find out more, and should connect them with everything from mailing lists and bulletin boards to networking events, potential employers, and internships.
Software Carpentry's score: 0. (Some instructors may point learners at other resources or other classes, but we don't do anything systematically.)
Our total score is 11 out of 15. That's a 'B' at most schools, so while I think we're doing well, we clearly also have room to improve. Once the Software Carpentry Foundation is properly launched, I hope to turn our attention to the places where we fall short.
The real aim of this rubric, though, is to help us compare what we're doing to other efforts so that we can learn from them and vice versa. This list is obviously biased toward Software Carpentry, so if there are things you do that you think are valuable, but which don't show up in the questions above, please let us know. Equally, if there are questions that you think shouldn't be included because they're too specific to our model and audience, or not actually important to helping volunteers deliver high-quality training, please let us know that too.


Joel Brisbin
menu
Designs
Programming
Photography
Video
Designs
Programming
Photography
Video
Photography
Want to See More?
See My Flickr Profile!


On this page: |
Contacting UsViewVC is an Open Source project, and all contributions are welcome. Please send any comments, questions, or suggestions to the ViewVC users mailing list. There is also a mailing list specifically for ViewVC developers. You can subscribe to these lists (and other project lists), as well view the list archives, here. If you are having problems with ViewVC, consider checking our Frequently Asked Questions page and list of open issues before mail our users@ list — perhaps the information you need is already available in one of those places. If you prefer interaction that's a little more real-time, use your favorite IRC client to pop into #viewvc on irc.freenode.net. So, to summarize:
|


Hello, Firefox OS
Do Something Cool
You are using this app as a Web App. Not all API's will be usable. Click install to be able to use all APIs
Install


Custom Rules
TSLint ships with a set of core rules that can be configured. However, users are also enabled to write their own rules, which allows them to enforce specific behavior not covered by the core of TSLint. TSLint’s internal rules are itself written to be pluggable, so adding a new rule is as simple as creating a new rule file named by convention. New rules can be written in either TypeScript or Javascript; if written in TypeScript, the code must be compiled to Javascript before registering them with TSLint.
Important conventions: Rule identifiers are always kebab-cased. Their implementation files are always camelCasedRule.ts
and must contain the suffix Rule
.
Let us take the example of how to write a new rule to forbid all import statements (you know, for science). Let us name the rule file noImportsRule.ts
. Rules are referenced in tslint.json
with their kebab-cased identifer, so "no-imports": true
would configure the rule.
Now, let us first write the rule in TypeScript. A few things to note:
- We import
tslint/lib/lint
to get the wholeLint
namespace instead of just theLinter
class. - The exported class must always be named
Rule
and extend fromLint.Rules.AbstractRule
.
```ts import * as ts from “typescript”; import * as Lint from “tslint/lib/lint”;
export class Rule extends Lint.Rules.AbstractRule { public static FAILURE_STRING = “import statement forbidden”;
public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] {
return this.applyWithWalker(new NoImportsWalker(sourceFile, this.getOptions()));
} }
// The walker takes care of all the work. class NoImportsWalker extends Lint.RuleWalker { public visitImportDeclaration(node: ts.ImportDeclaration) { // create a failure at the current position this.addFailure(this.createFailure(node.getStart(), node.getWidth(), Rule.FAILURE_STRING));
// call the base version of this visitor to actually parse this node
super.visitImportDeclaration(node);
} } ```
Given a walker, TypeScript’s parser visits the AST using the visitor pattern. So the rule walkers only need to override the appropriate visitor methods to enforce its checks. For reference, the base walker can be found in syntaxWalker.ts.
We still need to hook up this new rule to TSLint. First make sure to compile noImportsRule.ts
:
bash
tsc --noImplicitAny noImportsRule.ts
Then, if using the CLI, provide the directory that contains this rule as an option to --rules-dir
. If using TSLint as a library or via grunt-tslint
, the options
hash must contain "rulesDirectory": "..."
. If you run the linter, you’ll see that we have now successfully banned all import statements via TSLint!
Finally, add a line to your tslint.json
config file for each of your custom rules.
Final notes:
- Core rules cannot be overwritten with a custom implementation.
- Custom rules can also take in options just like core rules (retrieved via
this.getOptions()
).


Select School:
Select School
School Average: 0.0
- Total Number of Available EAs
- Assignment
- Holdback
School Name
Total Number of Students: 0
| EA Support | Frequency | Range |
|---|---|---|
| 1 or 2 | 0 | 38-55 |
| 0.75 | 0 | 27-37 |
| 0.5 | 0 | 18-26 |
| 0.25 | 0 | 8-17 |
| 0 | 0 | 2-7 |
SIS File Upload - Student Record Import
SIS File Upload - Assign User to School
SIS File Upload - Import New Users


Lead Instructor
Hi! I am Kristina Smith and I am 33 years old and I am the founder of Hope for Youth. I am a passionate & committed to serving youth by preparing them for a successful future through STEM related exposure, opportunities and careers. Hope for Youth, Inc. is a non-profit organization that, through mentorship and education, empowers youth to live a life full of hope, driven by love, and void of fear of the future. I graduated from Prairie View A&M University with a B.S. in Computer Engineering. I am now excited to kick off our HYPE International Experience at the LifeLink School in Ciudad Sandino, Nicaragua!
Teaching Assistant
Hello! My name is Ajala Horne, I am 18 years old, and I am apart of HYPE’s first International Experience. I am a senior at Westlake High School and graduate in the Spring of 2018. YAY! I began my journey in coding my freshman year of high school. I learned the basics and fell in love with technology ever since. My favorite application on my phone would have to be either Snapchat or Houseparty at the moment because they are both fun ways to interact with friends. Soon I will be a freshman in college pursuing a degree in computer science to later become a software engineer with a doctorate.
Teaching Assistant
Hello! My name is Alynda Williams. I am 17 years old. I was born and raised in Atlanta, Georgia. Currently, I am a senior at Arabia Mountain High School. I plan on going to college to major in Civil Engineering. My favorite thing about technology is how innovative it is. I like how it's always something new. The reason I find so much interest in this is because even though something is good, it can always get better! For fun, I play soccer for my school and I watch Netflix.
Teaching Assistant
Hello My name is Corliss Stinson. I’m from Atlanta, Georgia! I’m 18yrs old and I love technology. I have a passion for the technology field and also science, sometimes. My dream is to have my own business that deals with technology. I will be the first person in my family to graduate with a high school diploma and also go to college. My favorite device is my computer/laptop. They have many different problems that can occur including, when they break or just stop working because of simple things. For me, that's good because I will always find a way to locate the source of the problem and fix it myself without having to take it to a professional to deal with the problem.
Teaching Assistant
Hi! I’m Janell Tanner, I’m 18 years old and currently a freshman at the Georgia Institute of Technology. I am originally from Cleveland, Ohio, but I’ve spent most of life living in Atlanta. My favorite piece of technology are my bluetooth headphones because they’re very convenient! I don’t have to worry about them getting caught up in something or snatched out of my phone. I love them secondly, and most importantly, because I love listening to music as it helps to create so many positive vibes and can also help me to alleviate the stress of being a college student. I’m very passionate about enabling others to be successful in life and especially in STEM because STEM is a field that is constantly changing the world we live in and I feel as though we should have some sort of say in those changes. Fun Fact: I am a fraternal twin! Hobbies: Shopping! (and drawing)


Police search for Chorley man, 37, who has been missing for 10 days
by Matthew CalderbankA man from Chorley has been missing from home for 10 days, leading to concerns for his welfare.
Francis Williamson was last seen around Pall Mall in Chorley at around 5pm on Wednesday, November 13.
He was last seen wearing a blue Bench jacket and black Adidas tracksuit bottoms.
Francis is white, around 5ft 11in tall and of a stocky build, with short dark hair.
READ MORE: Preston hotel burglar once had £24,000 a year job managing a call centre
A police spokesman said: "We’re growing concerned for the welfare of the 37-year-old who is missing from home in Chorley.
"If you have seen Francis or have any information about where he might be, please call us immediately on 101 and quote log number 0378 of the November 14."


JAVASCRIPT PROTOTYPES
Sepetember 23, 2014
HEADINGS
Prototypes are used manily for Inheritance.
Every Object in Javascript inherits methods and properties from Object.prototype. When a message is sent to an Object an attempt is first made to find that property in the Object.If it is not there than it sends the message to the Object's prototype and looks for the property there. Look at example below.
You can overide a Prototype
One of the things to note from the example above is that Object Car has a protype before we set it to Jeep. The problem is it's default prototype is empty by default and will not contain the method display. As a coder we were able to overide the prototpype of Object car to Jeep so it has the method we needed.
Using the Prototype Property
For an existing proptype, using JS, we are allowed to add new properties or methods at any time. So lets take the Protype Jeep from the example above. We want to add a new property that will indicate any Jeep with color black and a function to print_car_detail.
It's good practice to only modify your own properties and never the ones of standar JS Objects.
Resources


‘Murdershow’ Heads into the Dark Web [Trailer]
by Brad MiskaDan Walton and Dan Zachary co-direct Murdershow, which now has a trailer and first info.
The indie film stars Donnie Darko‘s James Duval, Jason Lively (Night of the Creeps, Terrifier 2) and Natasha Henstridge (Species).
In Murdershow, “A journalist’s search for clues leading to his sister’s disappearance lands him on a disturbing hidden website inside the deep web called ‘The Murder Show’. He soon finds himself being stalked by the twisted psychopaths that run the site.”
Here’s the latest official trailer.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.ericdaugherty.mail.server.persistence.localDelivery.SimpleFileIOProcessor
public class SimpleFileIOProcessor
This class offers the means of persisting a message to a local user's mailbox.
| Field Summary | |
|---|---|
protected ConfigurationManager |
configurationManager
The ConfigurationManager |
| Constructor Summary | |
|---|---|
SimpleFileIOProcessor()
|
| Method Summary | |
|---|---|
void |
createUserRepository(java.lang.String userRepository)
|
long |
getMessagePersistedSize(User user,
java.lang.String messageLocation)
Returns a message's size on disk |
java.lang.String |
getUserRepository(User user)
Gets the user's directory as a String. |
java.lang.Object |
persistLocalMessage(User user,
SMTPMessage message,
EmailAddress address)
Saves a message to the user's directory and returns the full path/filename of the file where it was persisted. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final ConfigurationManager configurationManager
| Constructor Detail |
|---|
public SimpleFileIOProcessor()
| Method Detail |
|---|
public void createUserRepository(java.lang.String userRepository)
createUserRepository
in interface LocalDeliveryProcessor
public java.lang.String getUserRepository(User user)
getUserRepository
in interface LocalDeliveryProcessor
user
- The user the message belongs to.
public long getMessagePersistedSize(User user, java.lang.String messageLocation)
getMessagePersistedSize
in interface LocalDeliveryProcessor
user
- The user the message belongs to.messageLocation
- The message filename (this is not a full path, since it is generated by a list() file method).
public java.lang.Object persistLocalMessage(User user, SMTPMessage message, EmailAddress address) throws java.io.IOException
persistLocalMessage
in interface LocalDeliveryProcessor
user
- The user the message is addrressed to.message
- The message itself.address
- The user's email address.
java.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Bodies Of Two Young Girls Found In Freezer In Northern Cape
by NT EditorBodies of two young girls have been found in a chest freezer in a village just outside Kuruman.
It’s understood a community member made the discovery in the Bankhara village earlier this week.
The circumstances around their deaths have not yet been disclosed.
Police spokesperson Mohale Ramatseba said: “At this stage, the investigations have not yet been concluded. Our suspicion is that the children might have been playing and might have locked themselves into a freezer.”


▲
Toggle navigation
British Columbia Institute of Technology
D2L
myBCIT
Campuses
Contacts
Email Instructor
COMP 1950
LESSON 1
Tools and Standards
Homework
LESSON 2
HTML5
Quiz
Homework
LESSON 3
CSS techniques
Quiz
Homework
LESSON 4
CSS layouts
Quiz
Homework
LESSON 5
Responsive css
Quiz
Homework
LESSON 6
CSS3
Quiz
LESSON 7
JavaScript frameworks
Homework
LESSON 8
Dynamic content
Quiz
Homework
LESSON 9
Templating and SEO
Quiz
Homework
LESSON 10
Methodology
Quiz
Homework
LESSON 11
Project work
COMP1950
Quiz 2
What does the acronym XHTML stand for? (1 mark)
XHTML is meant to be “well formed”, which carries a series of strict rules for how to write code. (3 marks)
Select the all items that apply
All tags that open but not close
All tags must be properly nested
All attributes must be left empty
All tag names must be upper case
All <head> tags require one <title> child
All documents require a <html> tag, containing one <head> followed by one <body> children.
Write out the complete HTML5 DOCTYPE. (1 mark)
HTML5 introduces a series of new semantic tags like <header> and <footer>. Name three other new semantic tags in HTML5. (3 marks)
Which of the various Markup Languages is the current W3C recommendation? (1 mark)
HTML5 will include rules for how browsers handle errors in the code. (1 mark)
True
False


John Koh
Tufts University: Bachelor of Science in Electrical Engineering and Computer Science, May 2017.
Algorithms, Microprocessor Architecture and Applications, Linear Algebra, Discrete Math, Probability, Calculus/Multivariable Calculus, etc
Eligible Inc
Programming languages:
Tufts Financial Group, Analyst, January 2014 – present. Bitcoin hobbyist. Kaggle enthusiasist.


?
### What is new: + Function to load the last edited document: **Ctrl + Alt + R**. + Github Preview to write Github readme files: Go options and check "Github Preview". **** ![](http://joaocolombo.com/textdown/icon_128.png) ### Useful Links: + [My Website](http://joaocolombo.com). + [Follow me on Twitter](http://twitter.com/_joaocolombo). + [Fork this on Github](http://github.com/joaocolombo/textdown). + [Help me buy a Coke](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A6ELUC5GYVRB4). + [Tweet about TextDown](https://twitter.com/intent/tweet?text=Awesome+Markdown+Editor%3A+http%3A%2F%2Fbit.ly%2Ftextdown). ### Feedbacks and Bugs If you'd like to help me make TextDown better, send feedbacks and bugs to<EMAIL_ADDRESS>**** ## Keyboard Shortcuts ### Interface + Resize Panels: **Ctrl + Shift + 1** + Zen Mode: **Ctrl + Shift + 2** + Change Editor Width in Zen Mode: **Ctrl + Shift + 3** + Show current time: **Ctrl + Shift + X** + Show time spent writing: **Ctrl + Alt + X** + Go to the top of the page: **Ctrl + Shift + 9** + Stand-alone editor in new window: **Ctrl + Shift + Y** ### Markdown Actions + Export HTML: **Ctrl + Alt + S** + Save Markdown: **Ctrl + Shift + S** + Print: **Ctrl + Shift + P** (uncheck *Headers and Footers* to print just your document) + Bold: **Ctrl + B or Cmd + B** + Italic: **Ctrl + I** + Add link: **Ctrl + Shift + L** + Add image: **Ctrl + Shift + K** + Copy HTML: **Ctrl/Cmd + Alt + C** + Copy RTF: **Ctrl/Cmd + Alt + V** ### Text Actions + Count Words: **Ctrl + Shift + Z** + Count Characters: **Ctrl + Alt + Z** + Uppercase: **Ctrl + Shift + U** + Lowercase: **Ctrl + Shift + I** + Capitalize: **Ctrl + Shift + O** + Hard Line Break: **Ctrl + Return** + Double Line Break: **Shift + Return** + Insert "...": **Ctrl + ;** + Insert ". ": **Ctrl + .** + Insert ", ": **Ctrl + ,** + Delete all text: **Ctrl/Cmd + Shift + Backspace** + Change document's name: **Ctrl + J** + Load last document: **Ctrl + Alt + R** ## Some other Features ### Open Source TextDown source code is [available on Github](http://github.com/joaocolombo/textdown). ### Smart live Preview The live preview of TextDown follows what you're typing, so you'll never get lost. ### Build-in Calculator Type ```{``` followed by an equation, then press **Ctrl + Shift + M** to solve it. #### Equation format You can use functions from the javascript math library, even complex equations such as: (2 + 2.4) x Math.sqrt(25) ###Chrome Integration TextDown uses and abuses the Chrome APIs. These are some cool things you can do thanks to that: + Work offline. + Open any local file. Just drag the file to Chrome, and it'll open for you to edit in TextDown. You'll first need to let TextDown access local files, though, so go to extension page and check "Allow access to file URLs" under TextDown if you'd like to use this. + Open any web file. Again, you'll need to enable this from the extension page. Just check "Allow access to file URLs" there. + Copy a link/image as Markdown from the right-click menu. ###Creating List When creating list you can use ```tab``` to create a subitem. ### Github Preview If you are a developer and wants to write a readme file on TextDown, you can use the Github preview. Go to the extensions page on Chrome, then go to the options of TextDown, and check "Github Preview". ###Change Markdown File Extension You can change the default Markdown file extension. Go to the extensions page on Chrome, then open TextDown's options and set the extension you want. ###Change HTML Template While exporting Markdown as a HTML file, TextDown allows you to use a predefined HTML Template. Go to the extensions page on Chrome, then go to the options of TextDown and setup your template.


Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born.
These 'day names' have further meanings concerning the soul and character of the person. This naming tradition is shared throughout West Africa and the African diaspora. Most Ghanaians have at least one name from this system, even if they also have an English or Christian name. Notable figures with day names include Ghana's first president Kwame Nkrumah and former United Nations Secretary-General Kofi Annan.
With that brief history said, This system does the following;
To know or rather to generate your Akan name, you are welcome to fill in your birth details in the form under "GENARATE YOUR AKAN NAME" Accordion below.
Welcome to the magic box. This is where you feed in your details and in a push of a button, Boom! You have you Akan name.
Let's GO
| # | Days of the week | Male | Female |
|---|---|---|---|
| 1 | Sunday | Kwasi/Kwesi | Akosua |
| 2 | Monday | Kwadwo/Kojo | Adwoa |
| 3 | Tuesday | Kwabena | Abena |
| 4 | Wednesday | Kwaku | Akua |
| 5 | Thursday | Yaw | Yaa |
| 6 | Friday | Kofi | Afua |
| 7 | Saturday | Kwame | Ama |


${+showTime ? new Date().toISOString().replace(/^[^T]+T(\d+:\d+:\d+).*/g,'$1') : '' | update}
Pop out
Only this service
Clear log
About
${latestVersion > version && !this.upgrading ? '
UPDATE AVAILABLE! V' + latestVersion + '
' : ''
}
${this.upgrading ? 'UPGRADING to the new version' : ''}
${cfgError}
${introText}
Shows a configured list of services. These services can be:
- Started by this server. The process output then is analyzed to determine the state.
- Logfile, handled like process output.
- External connection, tested to be alive. Can be configured to act as watchdog.
Start the server with the -help option to see possible command-line options.
The built in services.yaml will be written to disk when no service.yaml is found.
See the services.yaml file for configuration documentation.
The server will update itself when it detects any change in the service.yaml.
I created this application in my spare-time while on an assignment in 2018 where a team of
developers used it to handle running a few dozen micro-services at development time.
Since then I also it on multiple assignments in more companies. So it seems this
functionality is helpful in other environments as well. Therefore, I made it available on github.
Any issues or requests, go to github: https://github.com/nicolasdejong/DevLogDashboard
${servicesUnfiltered.length != services.length ? 'Showing ' + services.length + ' of ' + servicesUnfiltered.length + ' services.' : ''}
Settings
Settings are stored in the browser.
Show run time
Time a service has been running
Show log velocity
Number of log-lines added by the service in the last 10 minutes
Ignore dependencies
Start services without making sure the service they depend on is started first.
Start parallel
Start services at the same time. Note that some services are confused or fail when starting parallel
Show current local time
Show current local time in the command tile
Fixed font size
Set a fixed font size that is not related to the size of the window (excludes tiles).
Number of cells per row
cells per row
Sets size of tiles
Hide sidebar
Hide the bar next to the scroll-bar that shows an overview of all line colors
Altered ANSI colors
The colors used in the lines with
ANSI escape codes
slightly changed to make text better readable on a black background
History of service states
Release Notes
V12/20200624
- Added: Default services.yaml will be written if not found
- Added: Added -configDoc option to print the default services.yaml including documentation
- Added: configure pattern to detect started (startedPattern) which can be set per service
- Added: Root dir can now be set in services.yml file
- Fixed: Small fixes for unexpected input data
- Fixed: Sometimes current datetime was shown instead of build datetime
- Fixed: Now calls mkdirs() on log dir instead of crashing.
- Fixed: Fix default service load failure
- Fixed: In case of configuration (syntax) error, the browser now shows the error also on reload
- Fixed: Safari does not support regex positive lookbehind -- updated regexes of line filters
- Fixed: Safari fix for tile selection
- Fixed: Safari now always shows scroll bars when there is something to scroll
V11/20200302
- Small changes in preparation to put on github (docs, package names, update location)
- Added: LogHides hides part of log lines: date, process-id, trace, thread, package (via icon)
- Added: Long-press on start button will show extra configured command 'jobs'
- Added: Upgrades now via patch download (~100KB) instead of the whole jar (~30MB)
- Added: User set font size no longer includes tiles: they will resize with width of window
- Added: Number of tiles per configuration now can be set to number of services
- Fixed: Control tile size incorrect for some window sizes
- Fixed: Disabled tray tooltip for now, since it sometimes pops up in middle of screen
V10/20181118
- Added: Now possible to run executables as well
- Added: errToOut flag to read stderr output as if it is from stdout
- Added: excludeFromStartAll flag for services that should not start when 'start all' is clicked
- Added: Support for ANSI colors in text with escape codes
- Added: Tray icon popup for larger tray image
- Fixed: Improved tray image generation for large amounts of services (>25)
- Fixed: Stack trace detection sometimes did not collapse the whole trace
- Fixed: External service polling was set to 1s instead of 10s if not configured
- Fixed: Service error state would not be reset when continuously logging (debounce)
- Fixed: Workaround for Chrome memory-leak that would after a while crash the page
V9/20180809
- Added: Output of services can now be logged to file (outputLogFile, outputLogSize)
- Added: A 'defaults' service copies its fields into any other service, to prevent the need for duplications
- Added: Exceptions in log now collapse per cause
- Added: Red tiles now show the error in the tooltip
- Added: Sidebar next to scroll bar shows overview of all lines (can be hidden)
- Added: Support for filtering services in url. Used in sidebar-menu 'show only this service'
- Added: Tray tooltip now summarizes the service states
- Moved: Log buttons (scroll top/bottom) moved into sidebar-menu
- Fixed: Watchdog bug with Linux threading
- Fixed: Watchdog bug with slow restarting services
- Fixed: Browser caching issues fixed once this version is running (clear cache is required when upgrading to V9)
V8/20180715
- Added support for logfiles -- output of an external service can be shown and analyzed now
- All dashboard console output is now logged to the dashboard.log file
- Fixed bug where the watchdog would sometimes run the restart command multiple times
- Configuration: added variables support to prevent duplication of settings
- Configuration: added Dashboard server-port to the services.yaml
- Configuration: added timeout for external-service polling to the services.yaml (default is 10s)
- Configuration: FHIR-service configuration now checks via REST call instead of just html page
- Configuration: removed explicit 'external' flag from services.yaml -- it is now inferred from given location
- Many small repairs
V7/20180626
- Added support for restart command with external services, acting as a watchdog that restarts service when down
- Now includes the '... n more' line in the collapsed exception text
- Added state history overview
- Added check for new version and provides option to update itself
- Added error message in client in case server configuration has syntax errors
- Fixed updating services.yaml doesn't update external services
- Fixed updating the logger velocity
V6/20180515
- Added 'clear logger' button to clear the logger of a service
- Added option to see the running-time of a service
- Added option to see the logger velocity of a service (number of logger lines in last 10 minutes)
- Moved settings to the bottom pane
- Disabled websocket stats on server output
V5/20180418
- Changes to the configuration are now detected and leads to an update
- Added color purple for services whos jar was not found. Updates when jar is found.
- The 'start' field in services configuration now auto starts the service
- Added -noautostart command line option
- Added -startall command line option
- Fixed tray icon size in different OSes
- Fixed service dependency error in parallel start
V4/20180413
- Configuration now accepts service name to include (abs/rel) path.
- Port retrieved from process output overrides configured port.
- Fixed error where stop of a waiting-to-start service wouldn't work.
V3/20180411
- Tray icon now has a 'start/stop all services' item.
V2/20180403
- Jar location was set wrong
- Added tray-icon (and -notray option).
- Added release notes.
V1/20180328
- Added command-line options (-root, -help).
- Added intro text (this page).
- Added localStorage option to set the number of boxes per line.
V0/20180322
- Initial version.


Nourishing mixed seafood broth
This dish lets the wonderful flavours of seafood shine through in a simple miso-flavoured broth.
By
Ching-He Huang
From
Saturday Kitchen
Ingredients
-
1 tbsp yellow
miso
paste
-
2 tbsp grated fresh root
ginger
-
100g/3½oz cooked Somen
noodles
-
2 large handful of baby
pak choi
(white stem variety), washed, leaves separated
-
150g/5½oz fresh medium-sized tiger
prawns
, shelled with head off, tail on, cleaned and deveined
-
100g/3½oz baby
squid
, tentacles separated, body sliced to give
squid
rings
-
100g/3½oz
mussels
, preferably Greenland
mussels
, cleaned and de-bearded (discard any shells that are broken, or open and do not close when tapped sharply on the work surface)
-
2 tbsp Shaoxing (Chinese rice wine) or
dry sherry
-
2 tsp low-sodium light
soy sauce
or tamari
-
salt
, to taste
-
2 pinches ground
white pepper
-
2 small handfuls of
coriander
, roughly chopped, to garnish
Method
-
Pour 1 litre/1¾pints water into a medium wok and bring to the boil.
-
Add the miso paste and ginger and cook on a medium heat for 5 minutes.
-
Add the somen noodles, pak choy and all of the seafood. Cook for 1 minute until the mussel shells have opened. Discard any mussels that remain closed. Season with the rice wine, soy sauce, salt and pepper.
-
Transfer to deep bowls, garnish with the coriander and eat immediately.


I'm Leo! I'm a full stack python web developer currently based in west London.
I've been working with JavaScript, Python and Postgres for a few years now, and though it changes pretty regularly my current passions at work typically revolve around SQLAlchemy, setup.py, API design in general, and right now the jasmine.js testing framework. I'll try and keep some semblance of blog here but no promises.
Further questions? Drop me a line at leohemsted [ at ] gmail [ dot ] com.