{% load i18n %}{# tried to keep the fragements to be translated the same in both templates #}
{% blocktrans with provider_name=provider.name %}Dear {{ provider_name }}{% endblocktrans %}
{% blocktrans with service_name=service.name %} Your service {{ service_name }} has been vetted and approved by International Rescue Committee staff. It has been published on the following link: {{ service_link }} {% endblocktrans %}
{% trans "For more information please contact support at<EMAIL_ADDRESS>%} {% trans "Thanks for your submission." %}
{% trans "Best Regards" %}
{% trans "ServiceInfo" %} www.serviceinfo.rescue.org{% comment %} **email/service_approved_body.html** Used to generate the body of the service approved email. This template has the following context: ``service`` The Service that has been approved ``provider`` The Provider of the service ``user`` The user associated with the provider (who will get the email) ``site`` An object representing the site on which the user registered; depending on whether ``django.contrib.sites`` is installed, this may be an instance of either ``django.contrib.sites.models.Site`` (if the sites application is installed) or ``django.contrib.sites.models.RequestSite`` (if not). Consult `the documentation for the Django sites framework{% trans "Support:" %}<EMAIL_ADDRESS>+96176667752


USD 5.00 will be reducted from your account on every new request you make. Thou NO charges are made for a previous request less than 30 days old OR has not been verified.
USD 10.00 will be reducted from your account on every new request you make. Thou NO charges are made for a previous request less than 30 days old OR has not been verified.
USD 15.00 will be reducted from your account on every new request you make. Thou NO charges are made for a previous request less than 30 days old OR has not been verified.
USD 20.00 will be reducted from your account on every new request you make. Thou NO charges are made for a previous request less than 30 days old OR has not been verified.


| Menu | price(Naira) |
|---|---|
| Jollof rice ( a plate) | N1,500 |
| puff puff (5pcs) | N1,000 |
| SMOOTHIES | price(Naira) |
|---|---|
| Ugu smoothies | N1,000 |
| Milkshake | N1,000 |
| Watermelon smoothies | N2,000 |
| Banana smoothies | N1,000 |
| BREAD | price(Naira) |
|---|---|
| Banana Bread | N2,000 |
| Coconut Bread | N2,000 |
| Appetizer | price(Naira) |
|---|---|
| Peppersoup | N2,000 |
| Main Course | price(Naira) |
|---|---|
| Jollof Rice and chicken | N3,000 |
| Ofada Rice | N4,000 |


News in this version: Optimized for all modern browsers
Current state of browser compatibility 2015-08-06
| Functions | IE11 | MS Spartan | Chrome 44 | Chrome Canary | Firefox 39.0.0 | Firefox Nightly |
|---|---|---|---|---|---|---|
| Media stream capture & decode | No | Yes | Yes | Yes | Yes | Yes |
| Build select menu | No | Partial | Yes | Yes | Partial but selectable on built in pop up window |
Partial but selectable on built in pop up window |


Chemical Engineer | Web Designer | Graphic Designer
I'm a full-time chemical engineer but enthusiast web designer and graphic designer. I love to make things whether it's virtual or some neat IRL gadget. I'm always looking for new projects to take on.


Terms of Use
1. Acceptance of Terms of Use Agreement.
By creating a klicks account, you agree to be bound by these Terms of Use, which is incorporated by reference
into this Agreement, and any terms disclosed and agreed to by you if you purchase additional features,
products or services we offer on the Service (collectively, this “Agreement”).
If you do not accept and agree to be bound by all of the terms of this Agreement, please do not use the Service.
We may make changes to this Agreement and to the Service from time to time. We may do this for a variety of
reasons including to reflect changes in or requirements of the law, new features, or changes in business practices.
The most recent version of this Agreement will be posted on the Service under Settings and also on klicks.com,
and you should regularly check for the most recent version. The most recent version is the version that applies.
If the changes include material changes that affect your rights or obligations, we will notify you in advance of the changes
by reasonable means, which could include notification through the Service or via email. If you continue to use the Service
after the changes become effective, then you agree to the revised Agreement.
2. Eligibility
You must be at least 18 years of age to create an account on klicks and use the Service. By creating an account and using the Service, you represent and warrant that:
- you can form a binding contract with klicks,
- you are not a person who is barred from using the Service under the laws of the United States
or any other applicable jurisdiction–meaning that you do not appear on the U.S. Treasury Department’s list of
Specially Designated Nationals or face any other similar prohibition,
- you will comply with this Agreement and all applicable local, state, national and international laws, rules and regulations, and
- you have never been convicted of a felony or indictable offense (or crime of similar severity), a sex crime, or any crime involving violence.
3. Your Account.
In order to use klicks, you may sign in using your Facebook login. If you do so, you authorize us to access
and use certain Facebook account information, including but not limited to your public Facebook profile and information
about Facebook friends you share in common with other klicks users.
For more information regarding the information we collect from you and how we use it, please consult our Privacy Policy.
You are responsible for maintaining the confidentiality of your login credentials you use to sign up for klicks,
and you are solely responsible for all activities that occur under those credentials.
4. Modifying the Service and Termination.
klicks is always striving to improve the Service and bring you additional functionality that you will find engaging and useful.
This means we may add new product features or enhancements from time to time as well as remove some features, and if these actions
do not materially affect your rights or obligations, we may not provide you with notice before taking them.
>We may even suspend the Service entirely,
in which event we will notify you in advance unless extenuating circumstances, such as safety or security concerns, prevent us from doing so.
You may terminate your account at any time, for any reason, by following the instructions in “Settings” in the Service.
klicks may terminate your account at any time without notice if it believes that you have violated this Agreement.
After your account is terminated, this Agreement will terminate, except that the following provisions will still apply to you and klicks:
Section 5, Section 6, and Sections 13 through 20.
5. Safety; Your Interactions with Other Users.
klicks is not responsible for the conduct of any user on or off of the Service. You agree to use caution in all interactions with other users.
In addition, you agree you will not provide your financial information (for example, your credit card or bank account information),
or wire or otherwise send money, to other users.
  KLICKS MAKES NO REPRESENTATIONS OR WARRANTIES AS TO THE CONDUCT OF USERS.
6. Rights klicks Grants You.
klicks grants you a personal, worldwide, royalty-free, non-assignable, nonexclusive, revocable, and non-sublicensable license to access and use the Service.
This license is for the sole purpose of letting you use and enjoy the Service’s benefits as intended by klicks and permitted by this Agreement. Therefore, you agree not to:
- use the Service or any content contained in the Service for any commercial purposes without our written consent.
- copy, modify, transmit, create any derivative works from, make use of, or reproduce in any way any copyrighted material,
images, trademarks, trade names, service marks, or other intellectual property, content or proprietary information accessible through the Service without klicks’ prior written consent.
- express or imply that any statements you make are endorsed by klicks.
- use any robot, bot, spider, crawler, scraper, site search/retrieval application, proxy or other manual or automatic device,
method or process to access, retrieve, index, “data mine,” or in any way reproduce or circumvent the navigational structure or presentation of the Service or its contents.
- use the Service in any way that could interfere with, disrupt or negatively affect the Service or the servers or networks connected to the Service.
- upload viruses or other malicious code or otherwise compromise the security of the Service.
- forge headers or otherwise manipulate identifiers in order to disguise the origin of any information transmitted to or through the Service.
- “frame” or “mirror” any part of the Service without klicks’ prior written authorization.
- use meta tags or code or other devices containing any reference to klicks or the Service (or any trademark,
trade name, service mark, logo or slogan of klicks) to direct any person to any other website for any purpose.
- modify, adapt, sublicense, translate, sell, reverse engineer, decipher, decompile or otherwise disassemble any portion of the Service, or cause others to do so.
- use or develop any third-party applications that interact with the Service or other users’ Content or information without our written consent.
- use, access, or publish the klicks application programming interface without our written consent.
- probe, scan or test the vulnerability of our Service or any system or network.
- encourage or promote any activity that violates this Agreement.
The Company may investigate and take any available legal action in response to illegal and/ or unauthorized uses of the Service, including termination of your account.
Any software that we provide you may automatically download and install upgrades, updates, or other new features. You may be able to adjust these automatic downloads through your device’s settings.
7. Rights you Grant klicks.
By creating an account, you grant to klicks a worldwide, transferable, sub-licensable, royalty-free, right and license to
host, store, use, copy, display, reproduce, adapt, edit, publish, modify and distribute information you authorize us to
access from Facebook, as well as any information you post, upload, display or otherwise make available (collectively, “post”)
on the Service or transmit to other users (collectively, “Content”). Klicks’ license to your Content shall be non-exclusive,
except that klicks’ license shall be exclusive with respect to derivative works created through use of the Service. For example,
klicks would have an exclusive license to screenshots of the Service that include your Content. In addition, so that klicks
can prevent the use of your Content outside of the Service, you authorize klicks to act on your behalf with respect to
infringing uses of your Content taken from the Service by other users or third parties. This expressly includes the authority,
but not the obligation, to send notices pursuant to 17 U.S.C. § 512(c)(3) (i.e., DMCA Takedown Notices) on your behalf
if your Content is taken and used by third parties outside of the Service. Our license to your Content is subject to
your rights under applicable law (for example laws regarding personal data protection to the extent any Content contains
personal information as defined by those laws) and is for the limited purpose of operating, developing, providing,
and improving the Service and researching and developing new ones. You agree that any Content you place or that you authorize us to place on the Service may be viewed by other users
and may be viewed by any person visiting or participating in the Service (such as individuals who may receive shared Content from other klicks users).
You agree that all information that you submit upon creation of your account, including information submitted from your Facebook account,
is accurate and truthful and you have the right to post the Content on the Service and grant the license to klicks above.
You understand and agree that we may monitor or review any Content you post as part of a Service. We may delete any Content,
in whole or in part, that in our sole judgment violates this Agreement or may harm the reputation of the Service.
When communicating with our customer care representatives, you agree to be respectful and kind. If we feel that your
behavior towards any of our customer care representatives or other employees is at any time threatening or offensive,
we reserve the right to immediately terminate your account.
In consideration for klicks allowing you to use the Service, you agree that we, our affiliates, and our third-party
partners may place advertising on the Service. By submitting suggestions or feedback to klicks regarding our Services,
you agree that klicks may use and share such feedback for any purpose without compensating you.
You agree that klicks may access, preserve and disclose your account information and Content if required to do so by
law or in a good faith belief that such access, preservation or disclosure is reasonably necessary, such as to:
(i) comply with legal process; (ii) enforce this Agreement; (iii) respond to claims that any Content violates the rights of third parties;
(iv) respond to your requests for customer service; or (v) protect the rights, property or personal safety of the Company or any other person.
8. Community Rules.
By using the Service, you agree that you will not:
- use the Service for any purpose that is illegal or prohibited by this Agreement.
- use the Service for any harmful or nefarious purpose
- use the Service in order to damage klicks
- violate our Community Guidelines, as updated from time to time.
- spam, solicit money from or defraud any users.
- impersonate any person or entity or post any images of another person without his or her permission.
- bully, “stalk,” intimidate, assault, harass, mistreat or defame any person.
- post any Content that violates or infringes anyone’s rights, including rights of publicity, privacy, copyright, trademark or other intellectual property or contract right.
- post any Content that is hate speech, threatening, sexually explicit or pornographic; incites violence; or contains nudity or graphic or gratuitous violence.
- post any Content that promotes racism, bigotry, hatred or physical harm of any kind against any group or individual.
- solicit passwords for any purpose, or personal identifying information for commercial or unlawful purposes from
other users or disseminate another person’s personal information without his or her permission.
- use another user’s account.
- create another account if we have already terminated your account, unless you have our permission.
klicks reserves the right to investigate and/ or terminate your account without a refund of any purchases if you have violated this Agreement,
misused the Service or behaved in a way that klicks regards as inappropriate or unlawful, including actions or communications that occur on or off the Service.
9. Other Users’ Content.
Although klicks reserves the right to review and remove Content that violates this Agreement, such Content is the sole
responsibility of the user who posts it, and klicks cannot guarantee that all Content will comply with this Agreement.
If you see Content on the Service that violates this Agreement, please report it within the Service.
10. Notice and Procedure for Making Claims of Copyright Infringement.
If you believe that your work has been copied and posted on the Service in a way that constitutes copyright infringement, please provide our Copyright Agent with the following information:
- an electronic or physical signature of the person authorized to act on behalf of the owner of the copyright interest;
- a description of the copyrighted work that you claim has been infringed;
- a description of where the material that you claim is infringing is located on the Service (and such description must be reasonably sufficient to enable us to find the alleged infringing material);
- your contact information, including address, telephone number and email address;
- a written statement by you that you have a good faith belief that the disputed use is not authorized by the copyright owner, its agent, or the law; and
- a statement by you, made under penalty of perjury, that the above information in your notice is accurate and that you are the copyright owner or authorized to act on the copyright owner’s behalf.
klicks will terminate the accounts of repeat infringers.
11. Disclaimers.

KLICKS TAKES NO RESPONSIBILITY FOR ANY CONTENT THAT YOU OR ANOTHER USER OR THIRD PARTY POSTS, SENDS OR RECEIVES THROUGH
THE SERVICE.
12. Third Party Services.
The Service may contain advertisements and promotions offered by third parties and links to other web sites or resources.
klicks is not responsible for the availability (or lack of availability) of such external websites or resources.
If you choose to interact with the third parties made available through our Service, such party’s terms will govern their relationship with you.
klicks is not responsible or liable for such third parties’ terms or actions.
13. Limitation of Liability.
TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL KLICKS, ITS AFFILIATES, EMPLOYEES, LICENSORS
OR SERVICE PROVIDERS BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL OR PUNITIVE DAMAGES,
INCLUDING, WITHOUT LIMITATION, LOSS OF PROFITS, WHETHER INCURRED DIRECTLY OR INDIRECTLY, OR ANY LOSS OF DATA, USE, GOODWILL,
OR OTHER INTANGIBLE LOSSES, RESULTING FROM: (I) YOUR ACCESS TO OR USE OF OR INABILITY TO ACCESS OR USE THE SERVICE,
(II) THE CONDUCT OR CONTENT OF OTHER USERS OR THIRD PARTIES ON, THROUGH, OR FOLLOWING USE OF THE SERVICE; OR
(III) UNAUTHORIZED ACCESS, USE OR ALTERATION OF YOUR CONTENT, EVEN IF KLICKS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO SOME OR ALL OF THE EXCLUSIONS AND LIMITATIONS IN THIS SECTION MAY NOT APPLY TO YOU.
14. Indemnity by You.
You agree, to the extent permitted under applicable law, to indemnify, defend and hold harmless klicks, our affiliates,
and their and our respective officers, directors, agents, and employees from and against any and all complaints, demands,
claims, damages, losses, costs, liabilities and expenses, including attorney’s fees, due to, arising out of, or relating
in any way to your access to or use of the Service, your Content, or your breach of this Agreement.
15. Entire Agreement; Other.
This Agreement, with the Privacy Policy, the Safety Tips and any terms disclosed and agreed to by you if you purchase additional features,
products or services we offer on the Service, contains the entire agreement between you and klicks regarding the use of the Service.
If any provision of this Agreement is held invalid, the remainder of this Agreement shall continue in full force and effect.
The failure of the Company to exercise or enforce any right or provision of this Agreement shall not constitute a waiver of such right or provision.

No agency, partnership, joint venture, fiduciary or other special relationship or employment is created as a result of this Agreement
and you may not make any representations on behalf of or bind klicks in any manner.


Software Developer - Android | An analytical senior-level software developer with deep expertise in in Java/Kotlin based Android Application posses 8+ years experience.
Ideas have always excited me. The fact that we could dream something and bring it to
life fascinates me. Computer Science provides me a window to do exactly that.
As a Software Engineer, I have been influenced by Technology in a big way. After I trained in mobile
application development, I decided to work as Android Developer, But Being an Android Developer never
stops me to work for only one segment of technology. My love for Building something new always helps me
in learning things outside of my comfort area like Nodejs, Alexa, Google Action, Python, ML etc.
Product Name: LINK ChatBot Module
Goal: This is a super communication application for Rakuten Mobile subscribers to use free calls, messages with other Link users, and SMS, as well as access Rakuten services and Rakuten info.
Language: Java + Kotlin
Tools: Android Studio , Android SDK & Android NDK
Role: Developer, Tester for Android Applications
Architecture: MVVM
Database: SQLITE | ROOM
Contribution: Understanding the business requirements through Meeting and Write the functionality for chatbot component.
Product Name: Rakuten LINK Office
Goal: This is a super communication application for Rakuten Mobile subscribers to use free calls, messages with other Link users, and SMS, as well as access Rakuten services and Rakuten info.
Language: Java + Kotlin
Tools: Android Studio , Android SDK & Android NDK
Role: Developer, Tester for Android Applications
Architecture: MVVM
Database: SQLITE | ROOM
Contribution: Understanding the business requirements through Meeting and Write the functionality .
Product Name: WHIDE ( Customer App )
Goal: This is an IoT system where we are providing last mile delivery to the customer. The customer can track the delivery, provide real time options to take prompt actions, customize requirements with convenience. Digital landscape includes customer apps, driver apps, dispatcher app, web interfaces & CRM.
Language: Java + Kotlin
Tools: Android Studio , Android SDK & Android NDK
Role: Developer , Tester for Android Applications
Architecture: MVVM
Database: SQLITE | ROOM
Contribution: Understanding the business requirements through Meeting and Write the functionality .
Product Name: WHIDE Partner ( Delvery Partner App )
Goal: This is an IoT system where we are providing last mile delivery to the customer. The customer can track the delivery, provide real time options to take prompt actions, customize requirements with convenience. Digital landscape includes customer apps, driver apps, dispatcher app, web interfaces & CRM.
Language: Java + Kotlin
Tools: Android Studio , Android SDK & Android NDK
Role: Developer , Tester for Android Applications
Architecture: MVVM
Database: SQLITE | ROOM
Contribution: Understanding the business requirements through Meeting and Write the functionality .
Product Name: Letstrack Realtime GPS Tracker
Goal: Letstrack is the latest Real Time GPS Tracking & Messaging app to track your loved ones. Lets track your loved ones and automobiles like cars, bike and van with this amazing letstrack app. As well as being a state of the art real time messaging service, with most of the features of popular messaging services like Whatsapp, Letstrack is the first real time messaging application to incorporate a real time personal and device based tracking facility!!!
Language: Java
Tools: Android Studio and Android SDK
Role: Developer, Tester
Architecture: MVVM
Database: SQLITE | ROOM
Contribution: Understanding the business requirements through Meeting and Write the functionality .
Product Name: LTRetail
Goal: This app is for letstrak retailers, to initiate the sale process. This app facilitates the letstrak retailers to activate the tracking devices and service box.
Language: Java
Tools: Android Studio and Android SDK
Role: Maintaining & Developing new functionality, Tester
Architecture: MVVM | RXJAVA
Database: SQLITE | ROOM
Contribution: Understanding the business requirements through Meeting and Write the functionality .
Product Name: Letstrack AI
Goal: Letstrack AI is Google Home based action. User can use speech to get information about there devices and to cut the engine of there car.
Language: Node.JS
Tools: Webstorm , Postman ,Dialogflow.
Role: Developer, Tester
Contribution: Understanding the business requirements. RND about the Google Home system and develop the application from scratch
Product Name: ServiceS Mart
Goal: ServiceS Mart is a digital concierge platform unmatched in terms of its collective and integrated count of the types of goods and services covered. Users can request services on the platform which are then serviced by a host of professional service providers. It also includes a loyalty points solution called Smart Points where users can buy, redeem and transfer points.
Language: Java
Tools: Android Studio and Android SDK
Role: Developer, Designer, Tester
Contribution: Understanding the business requirements through scrum calls and user stories, sprint planning and effort estimation, managing development team, coding the entire app, interfacing with payment gateways in Canada & Mexico, manual testing the app before Release in both the countries.
Product Name: SMartBatches
Goal: SMartBatch are Build to Run to maintain the payment system and to update database information after some certain of time as per the business logic.
Language: Node.JS
Tools:Webstorm , Postman
Role: Developer, Tester
Contribution: Understanding the business requirements through scrum calls and user stories, sprint planning and effort estimation, managing development team, coding the entire app, interfacing with payment gateways in Canada & Mexico, manual testing the app before Release in both the countries.
Product Name: Docmein
Goal: Docmein is the place to store your photos, files, and other docs. Docmein get safely backed up the Cloud. This amazing android app lets you access your docs anytime, anywhere, all you need to have is Internet availability.
Language: Java
Tools: Android Studio and Android SDK
Role: Developer, Designer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: Pundit
Goal:Pundit allows users to commentate, and listen to others commentary, directly from your computer or smartphone, live from the Bernabeu or Barnet, Pundit’s split second latency.
Language: Java
Tools: Android Studio , and Android SDK
Role: Developer, Designer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: BnB Chat
Goal:BnB Chat is the first global discount room rental communications platform to allow property owners and managers the opportunity to accept room rental reservations
Language: Java
Tools: Android Studio , and Android SDK
Role: Developer, Designer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: Confidential
Goal:Handling the internal sales of the comapany.
Language: Java
Tools: Android Studio , and Android SDK
Role: Developer, Designer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: Smart Alarm Lib.
Goal:To Build a chunk of code which make ease of including alarm in android app development.
Language: Java
Tools: Android Studio , and Android SDK
Role: Developer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: RoboMart.
Goal:Robomart's Official App provides a seamless and much easier way to connect to and Browse Robomart's Online Store, listing thousands of product at best prices and unmatched Quality. Browse Online into our Knowledge base for informative videos and product informations and Much More..
Language: Java
Tools: Android Studio , and Android SDK
Role: Developer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: Virtual Chat.
Goal:Virtual Chat is a feature which can chat with people in real time on the basis of some question in database.
Language: Java
Tools: Android Studio , and Android SDK
Role: Developer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: Virtual Chat.
Goal:Virtual Chat is a feature which can chat with people in real time on the basis of some question in database.
Language: Java
Tools: Android Studio , and Android SDK
Role: Developer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation, managing development team, coding the entire app and manual testing the app before Release.
Product Name: Top 25 Contact.
Goal:To check and set a list of contact which're frequently used by user and give him ability to contact them directly
Language: Java
Tools: Eclipse , PhoneGap
Role: Developer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation,coding the entire app and manual testing the app before Release.
Product Name: Xtreme Bootcamp
Goal: From this mobile App you can view class schedules, sign-up for classes, view ongoing promotions, challenges and events and programs, as well as view the studio’s location and contact information
Language: Java
Tools: Eclipse , Java
Role: Developer, Tester
Contribution: Understanding the business requirements through scrum meeting and user stories, sprint planning and effort estimation,coding the entire app and manual testing the app before Release.
Project Name: TechnoRapper.com
Goal: TechnoRapper is a Blogging website where i upload the latest technology news,reviews etc
Language: PHP
Tools: Wordpress , Photoshop
Role: Developer, Designer, Tester
Project Name: BohemiaQuote
Goal:Bohemia Quote reading and sharing application
Language: Java
Tools:Android SDK
Role: Developer, Tester
Project Name: Android Java Boiler Plate code with no third party lib.
Goal: It can help you to understand how to use async task with MVVM, Android collection's LruCache etc..
Language:JAVA
Tools:Android SDK , Android Studio
Role: Developer, Tester
Want More Detail?: Click here
Project Name: Android Kotlin MVVM Boiler Plate code
Goal: An Kotlin MVVM Boilerplate helps you start new enterprise level app in minutes..
Language:Kotlin
Tools:Android SDK , Android Studio
Role: Developer, Tester
Want More Detail?: Click here
Project Name: DynamicCode
Goal: This is a system in which app can execute code dynamically. Dynamically mean App can download new classes from server and can use that new code inside the app.
Language:Java
Tools:Android SDK , Android Studio
Role: Developer, Tester
Want More Detail?: Click here
Project Name: Location
Goal:To build a system where we can Centralize the location permission and fetch
Language: Java
Tools:Android SDK
Role: Developer, Tester
Want More Detail?: Click here
Project Name: LoginApi
Goal:To Build Login System In Nodejs
Language: NodeJS
Tools: WebStorm
Role: Developer, Tester
Want More Detail?: Click here
Project Name: MachineLearning
Goal: Some Test to run machine learn code and calculate information
Language: Python
Tools: PyCharm
Role: Developer, Tester
Want More Detail?:
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows and I spend a large amount of my free time exploring the latest technology advancements in the Software development world.


The outfits, which would look at home on the bridge of the starship Enterprise, come with a ticket to space that costs as much as $250,000.
Our columnists and contributors give their rankings.
Senator Elizabeth Warren and Joe Biden led the stage of 12 candidates.
The accord, which needs ratification by a majority of the company’s 49,000 union workers, could end a strike that has idled plants for a month.
Mr. Sondland, an ambassador tied to the Ukraine scandal, used a private phone for work and told foreign officials to drop by the White House, alarming an adviser.The former top aide to Secretary of State Mike Pompeo and the former envoy to Ukraine are on Capitol Hill. Stay here for the latest.
Top U.S. officials plan to visit President Recep Tayyip Erdogan of Turkey to press him to stop the incursion, which began after President Trump ordered a troop pullback.


ember-display-in-browser
Display browser specific content.
Why? 🤔
Say you are developing an application that makes use of features that are not available in IE. You can make use of this addon to display a message asking the user to use a browser other than IE.
This is a bad idea! 😠
This addon has some valid use cases(like I explained in the why
section). However, you should
prefer to make use of feature checks instead of relying on the User Agent.
Even though this addon lets you specify several browsers alone, please do not develop an app that supports Chrome(or Safari) alone. Compatibility matters.
Installation 🔧
ember install ember-display-in-browser
Usage 💻
- To display only in one or a set of browsers,
{{!-- arrayOfBrowsers = ["Chrome", "firefox"] --}}
{{#display-in-browser only=arrayOfBrowsers}}

This will be visible only in Chrome and Firefox

{{/display-in-browser}}
{{#display-in-browser only="ie"}}

This will be visible only in Internet Explorer

{{/display-in-browser}}
- To display in browsers other than one or more browsers,
{{!-- arrayOfBrowsers = ["ie", "mobile"] --}}
{{#display-in-browser except=arrayOfBrowsers}}

This will not be visible in IE and Mobile browsers

{{/display-in-browser}}
{{#display-in-browser except="ie"}}

This will not be visible in IE.

{{/display-in-browser}}
- To display in all browsers,
{{#display-in-browser all=all}}

This will be visible in all browsers

{{/display-in-browser}}
{{!-- You can also pass as a string, if needed --}}
{{#display-in-browser all="true"}}

This will be visible in all browsers

{{/display-in-browser}}
- To display in no browser,
{{#display-in-browser none="true"}}

This will not be visible in any browser

{{/display-in-browser}}
Supported browsers - 'chrome', 'firefox', 'safari', 'opera', 'ie', 'edge', 'blink', 'mobile'
(case-insensitive).
Inspired by react-render-in-browser.
License
MIT @Sivasubramanyam A


A rich chocolate dessert cake, crispy on the outside but soft and gooey on the inside
A traditional Swedish layer cake consisting of alternating layers of airy sponge cake, pastry cream, and a thick-domed layer of whipped cream, covered by a layer of marzipan, giving it a smooth rounded top.


---
layout: game-page
redirect_from: /game/dragon-shiuliang
title: Dragon Of Shiuliang
year: 2004
semester: Spring
description: "First GCS game ever!
The Dragon of Shiuliang has met its original goal of recreating the spirit of Dragon Warrior. Featuring many separate regions to explore, 50 NPCs, original music, art, and dialog, world persistence, and scripted cinema sequences, DoS has shaped up into a finished and complete RPG in its own right. It's written in C++ using the Allegro library, and the entire source is included in the download. Included binaries are compiled for IBM/Windows PCs. Read the readme.txt for further details."
tags: Windows Singleplayer
# tag options: "Windows", "Mac", "Linux",
# "Singleplayer", "Multiplayer",
# "Controller-Compatible", "VR",
# "Game-Jam"
project_members: {
Chris DeLeon: "Design Lead, Programming, Level Design",
Dongha Lee: Sound Effects,
Priscilla Kim: "Art Lead, Writing",
Ryan Tarpine: Partial SDL Port,
Tuscan Knox: Music Composition
}
stage_game_path: dragons/
builds: {
Windows: dragon-of-shiuliang.win32.zip
}
thumbnail: dragons-3.jpg
top-img: dragons-3.jpg
screenshots: [
dragons-1.jpg,
dragons-2.jpg
]
# Optional
top-img-fit: fill
# top-img-fit options:
# "cover" - Cover the entire top area with the image, without squashing/stretching
# "fill" - Fit the FULL image into the top area, squashing/stretching as necessary
---


{{s.sheet.name}}
M
F
Hunt XP:
{{s.sheet.hunt_xp}}
Courage:
{{s.sheet.Courage}}
Understanding:
{{s.sheet.Understanding }}
{{s.sheet[attr.long]}}
{{attr.short}}
{{toTitle(attr)}}:
{{settlement.game_assets[attr][a].name}}{{$last ? '' : ', '}}
{{s.notes.length}} Notes:
{{n.note}}
Once per lifetime SotF re-roll:
used.
Dead and retired survivors are not included in these results!
Close


Log in.
Log in with your data that you entered during
your registration
Your e-mail
Password
Keep me logged in
Log in.
Don't have an account?
Sign up
Forgot password ?
Your e-mail
Password


You are about to enter an interactive story with a lot of sound effects and
music, so use headphones for a better experience. Also dont forget to put
your name
on the box before pressing starting your harrowing journey.
Have fun and happy Halloween.
Stranger... You have some serious balls walking into my graveyard!


FESTIVE HORROR
Kilwinning Christmas Lights – Girl seriously hurt after being hit by car at Ayrshire lights switch on
by Katy PaganA SCHOOLGIRL has been seriously hurt after being knocked down by a car at a Christmas lights switch on in Ayrshire.
The little girl, understood to be 11, was struck by the motor in Lauchlan Way, Kilwinning at around 6.55pm yesterday evening.
Mercy crews raced to the scene of the festive event after the alarm was raised and the girl was rushed to Crosshouse Hospital, Kilmarnock.
Clyde reports that the girl is in hospital with serious but non-life threatening injuries.
The road was locke down after emergency services were scrambled to the scene.
A spokesman for the force said last night: "We received reports of a female child pedestrian being struck by a vehicle on Lauchlan Way , Kilwinning, at around 6.55pm tonight".
The girl was taken to Crosshouse Hospital in Kilmarnock for treatment.


A probability distribution specifies the probabilities of all possible outcomes.
Formally, a random variable is a function that assigns a real number to each outcome in the probability space. Define your own discrete random variable for the uniform probability space on the right and sample to find the empirical distribution.
Click and drag to select sections of the probability space, choose a real number value, then press "Submit."
Sample from probability space to generate the empirical distribution of your random variable.
| Color | Value |
| 0 |
A discrete random variable has a finite or countable number of possible values. Choose one of the following major discrete distributions to visualize. The PMF is shown in blue and the CDF in green (controlled by the slider).
A Bernoulli random variable takes the value 1 with probability of \(p\) and the value 0 with probability of \(1-p\). It is frequently used to represent binary experiments, such as a coin toss.
A binomial random variable is the sum of \(n\) independent Bernoulli random variables with parameter \(p\). It is frequently used to model the number of successes in a specified number of identical binary experiments, such as the number of heads in five coin tosses.
A negative binomial random variable counts the number of successes in a sequence of independent Bernoulli trials with parameter \(p\) before \(r\) failures occur. For example, this distribution could be used to model the number of heads that are flipped before three tails are observed in a sequence of coin tosses.
A geometric random variable counts the number of trials that are required to observe a single success, where each trial is independent and has success probability \(p\). For example, this distribution can be used to model the number of times a die must be rolled in order for a six to be observed.
A Poisson random variable counts the number of events occurring in a fixed interval of time or space, given that these events occur with an average rate \(\lambda\). This distribution has been used to model events such as meteor showers and goals in a soccer match.
The uniform distribution is a continuous distribution such that all intervals of equal length on the distribution's support have equal probability. For example, this distribution might be used to model people's full birth dates, where it is assumed that all times in the calendar year are equally likely.
The normal (or Gaussian) distribution has a bell-shaped density function and is used in the sciences to represent real-valued random variables that are assumed to be additively produced by many small effects. For example the normal distribution is used to model people's height, since height can be assumed to be the result of many small genetic and evironmental factors.
Student's t-distribution, or simply the t-distribution, arises when estimating the mean of a normally distributed population in situations where the sample size is small and population standard deviation is unknown.
A chi-squared random variable with \(k\) degrees of freedom is the sum of \(k\) independent and identically distributed squared standard normal random variables. It is often used in hypothesis testing and in the construction of confidence intervals.
The exponential distribution is the continuous analogue of the geometric distribution. It is often used to model waiting times.
The F-distribution, also known as the Fisher–Snedecor distribution, arises frequently as the null distribution of a test statistic, most notably in the analysis of variance.
The gamma distribution is a general family of continuous probability distributions. The exponential and chi-squared distributions are special cases of the gamma distribution.
The beta distribution is a general family of continuous probability distributions bound between 0 and 1. The beta distribution is frequently used as a conjugate prior distribution in Bayesian statistics.
The Central Limit Theorem (CLT) states that the sample mean of a sufficiently large number of i.i.d. random variables is approximately normally distributed. The larger the sample, the better the approximation.
Change the parameters \(\alpha\) and \(\beta\) to change the distribution from which to sample.
Choose the sample size and how many sample means should be computed (draw number), then press "Submit." Check the box to display the true distribution of the sample mean.


Qui sommes-nous ?
Réseau social professionnel pour Vendre son entreprise, Reprendre une entreprise ou Lever des fonds en Tunisie, Connectez-vous d’un clic avec des repreneurs, des cédants, des investisseurs et des professionnels de la transmission d’entreprises en toute confidentialité
Voici notre équipe
Abrar Finance Consulting
You can write here details about one of your team members. You can give more details about what they do. Feel free to add some links for people to be able to follow them outside the site.
Cabinet Ridha Majbri
You can write here details about one of your team members. You can give more details about what they do. Feel free to add some links for people to be able to follow them outside the site.
AbrarCom
You can write here details about one of your team members. You can give more details about what they do. Feel free to add some links for people to be able to follow them outside the site.
Want to work with us?
Your project is very important to us.


--- layout: post status: publish published: true title: Steve Jobs Speaks at Stanford Commencement author: Leask author_login: leask author_email<EMAIL_ADDRESS>author_url: https://leaskh.com wordpress_id: 518 wordpress_url: http://leaskh.wordpress.com/2006/06/23/steve-jobs-speaks-at-stanford-commencement date: '2006-06-23 21:16:35 +0800' date_gmt: '2006-06-23 21:16:35 +0800' categories: tags: [] comments: [] ---


A Guide to The Rails Command Line
Rails comes with every command line tool you’ll need to
-
Create a Rails application
-
Generate models, controllers, database migrations, and unit tests
-
Start a development server
-
Mess with objects through an interactive shell
-
Profile and benchmark your new creation
... and much, much more! (Buy now!)
This tutorial assumes you have basic Rails knowledge from reading the Getting Started with Rails Guide.
1. Command Line Basics
There are a few commands that are absolutely critical to your everyday usage of Rails. In the order of how much you’ll probably use them are:
-
console
-
server
-
rake
-
generate
-
rails
Let’s create a simple Rails application to step through each of these commands in context.
1.1. rails
The first thing we’ll want to do is create a new Rails application by running the rails command after installing Rails.
| You know you need the rails gem installed by typing gem install rails first, right?  You’ve got the entire Rails directory structure now with all the code you need to run our simple application right out of the box.
| This output will seem very familiar when we get to the generate command. Creepy foreshadowing! |
1.2. server
Let’s try it! The server command launches a small web server named WEBrick which comes bundled with Ruby. You’ll use this any time you want to view your work through a web browser.
| WEBrick isn’t your only option for serving Rails. We’ll get to that in a later section. [XXX: which section] |
Here we’ll flex our server command, which without any prodding of any kind will run our new shiny Rails app:
$ cd commandsapp $ ./script/server => Booting WEBrick... => Rails 2.2.0 application started on http://<IP_ADDRESS>:3000 => Ctrl-C to shutdown server; call with --help for options [2008-11-04 10:11:38] INFO WEBrick 1.3.1 [2008-11-04 10:11:38] INFO ruby 1.8.5 (2006-12-04) [i486-linux] [2008-11-04 10:11:38] INFO WEBrick::HTTPServer#start: pid=18994 port=3000
WHOA. With just three commands we whipped up a Rails server listening on port 3000. Go! Go right now to your browser and go to http://localhost:3000. I’ll wait.
See? Cool! It doesn’t do much yet, but we’ll change that.
1.3. generate
The generate command uses templates to create a whole lot of things. You can always find out what’s available by running generate by itself. Let’s do that:
$ ./script/generate Usage: ./script/generate generator [options] [args] ... ... Installed Generators Builtin: controller, integration_test, mailer, migration, model, observer, performance_test, plugin, resource, scaffold, session_migration ... ...
| You can install more generators through generator gems, portions of plugins you’ll undoubtedly install, and you can even create your own! |
Using generators will save you a large amount of time by writing boilerplate code for you — necessary for the darn thing to work, but not necessary for you to spend time writing. That’s what we have computers for, right?
Let’s make our own controller with the controller generator. But what command should we use? Let’s ask the generator:
| All Rails console utilities have help text. As with most *NIX utilities, you can try adding --help or -h to the end, for example ./script/server --help. |
$ ./script/generate controller Usage: ./script/generate controller ControllerName [options] ... ... Example: `./script/generate controller CreditCard open debit credit close` Credit card controller with URLs like /credit_card/debit. Controller: app/controllers/credit_card_controller.rb Views: app/views/credit_card/debit.html.erb [...] Helper: app/helpers/credit_card_helper.rb Test: test/functional/credit_card_controller_test.rb Modules Example: `./script/generate controller 'admin/credit_card' suspend late_fee` Credit card admin controller with URLs /admin/credit_card/suspend. Controller: app/controllers/admin/credit_card_controller.rb Views: app/views/admin/credit_card/debit.html.erb [...] Helper: app/helpers/admin/credit_card_helper.rb Test: test/functional/admin/credit_card_controller_test.rb
Ah, the controller generator is expecting parameters in the form of generate controller ControllerName action1 action2. Let’s make a Greetings controller with an action of hello, which will say something nice to us.
$ ./script/generate controller Greeting hello exists app/controllers/ exists app/helpers/ create app/views/greeting exists test/functional/ create app/controllers/greetings_controller.rb create test/functional/greetings_controller_test.rb create app/helpers/greetings_helper.rb create app/views/greetings/hello.html.erb
Look there! Now what all did this generate? It looks like it made sure a bunch of directories were in our application, and created a controller file, a functional test file, a helper for the view, and a view file.
Let’s check out the controller and modify it a little (in app/controllers/greeting_controller.rb):
class GreetingController < ApplicationController def hello @message = "Hello, how are you today? I am exuberant!" end end
Then the view, to display our nice message (in app/views/greeting/hello.html.erb):

A Greeting for You!

<%= @message %>

Deal. Go check it out in your browser. Fire up your server. Remember? ./script/server at the root of your Rails application should do it.
$ ./script/server => Booting WEBrick...
The URL will be http://localhost:3000/greetings/hello. I’ll wait for you to be suitably impressed.
| With a normal, plain-old Rails application, your URLs will generally follow the pattern of http://(host)/(controller)/(action), and a URL like http://(host)/(controller) will hit the index action of that controller. |
"What about data, though?", you ask over a cup of coffee. Rails comes with a generator for data models too. Can you guess its generator name?
$ ./script/generate model Usage: ./script/generate model ModelName [field:type, field:type] ... Examples: `./script/generate model account` creates an Account model, test, fixture, and migration: Model: app/models/account.rb Test: test/unit/account_test.rb Fixtures: test/fixtures/accounts.yml Migration: db/migrate/XXX_add_accounts.rb `./script/generate model post title:string body:text published:boolean` creates a Post model with a string title, text body, and published flag.
But instead of generating a model directly (which we’ll be doing later), let’s set up a scaffold. A scaffold in Rails is a full set of model, database migration for that model, controller to manipulate it, views to view and manipulate the data, and a test suite for each of the above.
Let’s set up a simple resource called "HighScore" that will keep track of our highest score on video games we play.
$ ./script/generate scaffold HighScore game:string score:integer exists app/models/ exists app/controllers/ exists app/helpers/ create app/views/high_scores create app/views/layouts/ exists test/functional/ create test/unit/ create public/stylesheets/ create app/views/high_scores/index.html.erb create app/views/high_scores/show.html.erb create app/views/high_scores/new.html.erb create app/views/high_scores/edit.html.erb create app/views/layouts/high_scores.html.erb create public/stylesheets/scaffold.css create app/controllers/high_scores_controller.rb create test/functional/high_scores_controller_test.rb create app/helpers/high_scores_helper.rb route map.resources :high_scores dependency model exists app/models/ exists test/unit/ create test/fixtures/ create app/models/high_score.rb create test/unit/high_score_test.rb create test/fixtures/high_scores.yml exists db/migrate create db/migrate/20081217071914_create_high_scores.rb
Taking it from the top - the generator checks that there exist the directories for models, controllers, helpers, layouts, functional and unit tests, stylesheets, creates the views, controller, model and database migration for HighScore (creating the high_scores table and fields), takes care of the route for the resource, and new tests for everything.
The migration requires that we migrate, that is, run some Ruby code (living in that<PHONE_NUMBER>1914_create_high_scores.rb) to modify the schema of our database. Which database? The sqlite3 database that Rails will create for you when we run the rake db:migrate command. We’ll talk more about Rake in-depth in a little while.
| Hey. Install the sqlite3-ruby gem while you’re at it. gem install sqlite3-ruby |
$ rake db:migrate (in /home/commandsapp) == CreateHighScores: migrating =============================================== -- create_table(:high_scores) -> 0.0070s == CreateHighScores: migrated (0.0077s) ======================================
| Let’s talk about unit tests. Unit tests are code that tests and makes assertions about code. In unit testing, we take a little part of code, say a method of a model, and test its inputs and outputs. Unit tests are your friend. The sooner you make peace with the fact that your quality of life will drastically increase when you unit test your code, the better. Seriously. We’ll make one in a moment. |
Let’s see the interface Rails created for us. ./script/server; http://localhost:3000/high_scores
We can create new high scores (55,160 on Space Invaders!)
1.4. console
The console command lets you interact with your Rails application from the command line. On the underside, script/console uses IRB, so if you’ve ever used it, you’ll be right at home. This is useful for testing out quick ideas with code and changing data server-side without touching the website.
1.5. dbconsole
dbconsole figures out which database you’re using and drops you into whichever command line interface you would use with it (and figures out the command line parameters to give to it, too!). It supports MySQL, PostgreSQL, SQLite and SQLite3.
1.6. plugin
The plugin command simplifies plugin management; think a miniature version of the Gem utility. Let’s walk through installing a plugin. You can call the sub-command discover, which sifts through repositories looking for plugins, or call source to add a specific repository of plugins, or you can specify the plugin location directly.
Let’s say you’re creating a website for a client who wants a small accounting system. Every event having to do with money must be logged, and must never be deleted. Wouldn’t it be great if we could override the behavior of a model to never actually take its record out of the database, but instead, just set a field?
There is such a thing! The plugin we’re installing is called "acts_as_paranoid", and it lets models implement a "deleted_at" column that gets set when you call destroy. Later, when calling find, the plugin will tack on a database check to filter out "deleted" things.
$ ./script/plugin install http://svn.techno-weenie.net/projects/plugins/acts_as_paranoid + ./CHANGELOG + ./MIT-LICENSE ... ...
1.7. runner
runner runs Ruby code in the context of Rails non-interactively.  It’ll figure out what generate did, and undo it. Believe you-me, the creation of this tutorial used this command many times!
$ ./script/generate model Oops exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/oops.rb create test/unit/oops_test.rb create test/fixtures/oops.yml exists db/migrate create db/migrate/20081221040817_create_oops.rb $ ./script/destroy model Oops notempty db/migrate notempty db rm db/migrate/20081221040817_create_oops.rb rm test/fixtures/oops.yml rm test/unit/oops_test.rb rm app/models/oops.rb notempty test/fixtures notempty test notempty test/unit notempty test notempty app/models notempty app
1.9. about
Check it: Version numbers for Ruby, RubyGems, Rails, the Rails subcomponents, your application’s folder, the current Rails environment name, your app’s database adapter, and schema version! about is useful when you need to ask help, check if a security patch might affect you, or when you need some stats for an existing Rails installation.
$ ./script/about About your application's environment Ruby version 1.8.6 (i486-linux) RubyGems version 1.3.1 Rails version 2.2.0 Active Record version 2.2.0 Action Pack version 2.2.0 Active Resource version 2.2.0 Action Mailer version 2.2.0 Active Support version 2.2.0 Edge Rails revision unknown Application root /home/commandsapp Environment development Database adapter sqlite3 Database schema version<PHONE_NUMBER>3400


{{ block title }}Round {{ subsession.round_number }} of {{ C.NUM_ROUNDS }}{{ endblock }} {{ block content }}
This is a matching pennies game. Player 1 is the 'Mismatcher' and wins if the choices mismatch; Player 2 is the 'Matcher' and wins if they match.
At the end, a random round will be chosen for payment.
| Round | Player and outcome |
|---|---|
| {{ p.round_number }} | You were the {{ p.role }} and {{ if p.is_winner }} won {{ else }} lost {{ endif }} |
In this round, you are the {{ player.role }}.
{{ formfields }} {{ next_button }} {{ endblock }}


Sensitivity Study:
Time Step
Simulations of the
PIRCS-1(b) period of 00Z 1 June 1993 - 00Z 31 July 1993
are compared. The simulations
are made with MM5 at the Argonne National Laboratory on the teraflop computer
Jazz ,
which is composed of a cluster of INTEL processors.
The time step in the sensitivy experiments is reduced, thereby providing an estimate
of variability of results for a certain model.
|
|
MMANL1
|
|
120 s time step
|
|
|
60 s time step
|
|
|
30 s time step
|
|
|
15 s time step
|
|


This is the API
https://data.dublinked.ie/cgi-bin/rtpi//timetableinformation
GET
value: week; Time table information is retrieved for the whole week
The bus stop id, if not provided all bus stops are returned
The route identifier
If not provided JSON format will be used by default


--- layout: post title: Flying spaghetti monster cookies! date: type: post published: false status: draft categories: [] tags: [] meta: google_plus_activity_id: z13fi1s5monksfngw04cglshilm2ehc4tbw _edit_last: '1' author: login: admin email<EMAIL_ADDRESS>display_name: admin first_name: Carina C. last_name: Zon ---
Liz Krane originally shared this post:
Flying spaghetti monster cookies!
http://twitpic.com/te7i5 by Joel DeYoung
Update: the recipe: http://www.evilmadscientist.com/article.php/edibleeyes


WITNESS LIST Intergovernmental Relations Committee May 16, 2003 - 8:30A HB 554 Registering, but not testifying: For: Allison, Jim General Counsel (County Judges and Commissioners Association of Texas) Cortese, Richard County Commissioner (Self), Belton, TX Elfant, Bruce Travis County Constable (Justices of the Peace and Constables Association of Texas), Austin, TX Haverlah, Kirsha Research Analyst, Travis Co. Constable (Justices of the Peace and Constable Association), Austin, TX Lee, Donald Executive Director (Texas Conference of Urban Counties), Austin, TX York, Van County Judge (Borden County), Gail, TX On: Tessen, Robert Executive Director (Office of Rural Community Affairs), Austin, TX HB 560 AGAINST: Elan, Eric Wrecker Driver/Manager (Self), Kennedale, TX Registering, but not testifying: Against: Merritt, Rick Wrecker Co. Owner (Strawk, Inc.), Arlington, TX On: Mintz, David Director of Governmental Affairs (Texas Apartment Association), Austin, TX HB 1460 Registering, but not testifying: For: Carpenter, Bill Assistant Gover. Relations (Houston Independent School District), Houston, TX Christian, George Scott Attorney (Texas Taxpayers and Research Association), Austin, TX Clark, Catherine Director-Governance Services (Texas Association of School Boards), Austin, TX Lee, Donald Executive Director (Texas Conference of Urban Counties), Austin, TX Mendez, Mark Assistant County Administrator (Tarrant County Commissioners Court), Fort Worth, TX Robinson, Jim Chief Appraiser, Harris CAD (Legislative Committee, Texas Association of Appraisal Districts), Houston, TX Winn, Buddy Tax A/C and Chief Appraiser Brazos Co. (TACA and TAAD), Bryan, TX HB 1877 Registering, but not testifying: For: Pearson, David Lobbyist (Texas Organization of Rural and Community Hospitals), Austin, TX Turner, Jill Assistant Legislative Director (Texas Farm Bureau), Austin, TX Young, Jenny Lobbyist (Texas Medical Association, Texas Academy of Internal Medicine), Austin, TX On: Berry, Connie Manager (Texas Department of Health), Austin, TX HB 2561 Registering, but not testifying: For: Higgins, Mike Chief of Staff (Texas State Association of Firefighters), Austin, TX On: Sandefer, Morris Commissioner (Office of the Firefighters Pension Commissioner), Austin, TX HB 3235 Registering, but not testifying: On: Yazdani, Bahman Research Engineer, Energy Sys. Lab (Texas Engineering Experiment Station, Texas A&M University), College Station, TX HB 3592 FOR: McCartt, J. (City of Midland), Austin, TX Registering, but not testifying: For: Hinkle, Ron Lobbyist (Verizon Communications Southwest), Austin, TX Perry, Wes Midland City Council/Businessman (Self), Midland, TX On: Larry, Trey Attorney (Downtown Midland Propetry Owners), Houston, TX


Hi, I'm Muiasar.
Full Stack Web Developer
Graduate of the UNC Chapel Hill Coding Boot Camp.
Team Player, Love JavaScript Debugging, and Building Dynamic
interactive websites.
Learn More>


This tests that eventController can properly be detected from dart, javascript, and native elements.
click x-js!
click x-dart!
Click me


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import include._ @import forms2._ @import config.{ ApplicationConfig} @import models.renewal._ @this(main: include.main) @(f: forms.Form2[_], edit: Boolean, businessTypes: Option[List[String]])(implicit request: Request[_],m:Messages, lang: Lang, appConfig: ApplicationConfig) @target = @{ s"""${f("details").id}-fieldset""" } @header = { @components.back_link() @errorSummary(f) } @supportingContent = { @businessTypes.map { types => @if(types.size > 1) {
@Messages("businessactivities.confirm-activities.subtitle_4"):
@Messages("businessactivities.confirm-activities.subtitle_4") @types.mkString@Messages("full.stop")
} }@Messages("renewal.involvedinother.example")


var openingOvershootTension: Float
The tension (as a positive float) in an OvershootInterpolator applied on the FabOption when it's playing its animations for being shown from a hidden state (when the ExpandableFab is opening). The OvershootInterpolator allows us to have an animation where the FabOption will grow past its regular size when initially appearing, before smoothly shrinking down to regular size. Larger values will exaggerate the effort more. Default value is 3.5f.


Blockchain
Blockchain is the name of a whole new technology. As the name states, it is a sequence of blocks or groups of transactions that are chained together and distributed among the users..
In the end, it works as an immutable record of transactions that do not require to rely on an external authority to validate the authenticity and integrity of the data. Transactions are typically economic, but we can store any kind of information in the blocks.
 At Qualcomm, our goal is to provide the seamless immersion across device form factors, activities, and contexts.
Autonomous Things
Techopedia explains Autonomous Things The emergence of autonomous things marks a key landmark in technological progress. Early examples include autonomous drones and self-driving vehicles. Expect to see more autonomous things as these kinds of technologies develop further. Autonomous things are fundamentally important because they represent the first real untethering of machines from explicit human guidance. Humans are used to programming things, but are not used to them acting in autonomous ways. Self-driving vehicles are still making their way onto the roads. While widespread adoption of autonomous things has yet to occur, there are indications that it is coming soon.


{% extends "cms/base.html" %}
{% load wagtailcore_tags %}
{% block meta_title %}Search Results{% endblock %}
{# Not a fan of this, but it's the least hacky way to feed the title back. #}
{% block title %}
Search Results for: {{ q }}
{{ result.specific.search_description|safe }}
{% endif %}No results found for {{ q }}.
{% else %}No search term supplied.
{% endif %} {% endif %} {% endblock %}


Reverse Text
问题描述 :
In most languages, text is written from left to right. However, there are other languages where text is read and written from right to left. As a first step towards a program that automatically translates from a left-to-right language into a right-to-left language and back, you are to write a program that changes the direction of a given text.
输入:
The input contains several test cases. The first line contains an integer specifying the number of test cases. Each test case consists of a single line of text which contains at most 70 characters. However, the newline character at the end of each line is not considered to be part of the line.
输出:
For each test case, print a line containing the characters of the input line in reverse order.
样例输入:
3 Frankly, I don't think we'll make much money out of this scheme. madam I'm adam
样例输出:
hcum ekam ll'ew kniht t'nod I ,ylknarF .emehcs siht fo tuo yenom mada m'I madam
#include<stdio.h> #include<string.h> int main() { char str[70]; int n; scanf("%d",&n); getchar();//吸收回车 while(n--) { int i; gets(str); for(i=strlen(str)-1;i>=0;i--) printf("%c",str[i]); printf("\n"); } return 0; }
解题报告转自：http://www.cnblogs.com/TheLaughingMan/archive/2013/05/16/3082735.html
(adsbygoogle = window.adsbygoogle || []).push({});
#!/usr/bin/env python
def cou(n):
arr =
i = 1
while(i<n):
arr.append(arr[i-1]+selfcount(i))
i+=1
return arr[n-1]
def selfcount(n):
count = 0
while(n):
if n%10 == 1:
count += 1
n /= 10
return count
能不能说一下tmp数组和solve都是干嘛的？
正确性是关键，冲突是都会有的，主要是那种算法冲突的概率低
网站不错，支持一个
此题答案确实应该是A。文中已修改，感谢一楼的提醒！
第二个解法好像不对
gcc环境
太好了，收藏
大哥，你复制也看看是不是这题的答案才复制吧。
不错的代码！
文章写得挺好，就是最后的斐波那契那个没有看明白
还是有些难度的！
受益匪浅！！
学习了！！


Genshin Impact is an open-world action role -playing game developed and
published by miHoYo.
The game features a fantasy open-world environment and action-based battle system using elemental magic
and
character-switching, and uses gacha game monetization for players to obtain new characters, weapons, and other
resources.
Genshin Impact is a game that allows the player to control one of four interchangeable characters in a party. Switching between characters can be done quickly during combat, allowing the player to use several different combinations of skills and attacks.


|
MetroCollect
2.3.4
|
Small struct to implement MetricsController delegate. More...
Public Member Functions | |
| void | set (size_t iterations, std::vector< std::pair< std::string, std::string >> metricsNames) |
| Update members. More... | |
| void | metricsContollerCollectedMetricsValues (const MetroCollect::MetricsController &, const MetroCollect::MetricsDiffArray &diff, const MetroCollect::MetricsDataArray &, const MetroCollect::MetricsDataArray &) override |
| Function called every time the MetricsController has collected new values. More... | |
| void | metricsContollerCollectedMetricsStats (const MetroCollect::MetricsController &, const MetroCollect::MetricsController::MetricsStats &) override |
| Function called every time the MetricsController has computed statistics. More... | |
| bool | metricsContollerShouldStopCollectingMetrics (const MetroCollect::MetricsController &) override |
| Function called after each iteration to ask the delegate whether the controller should stop collecting metrics. More... | |
Public Attributes | |
| size_t | i = 0 |
| Iteration index. More... | |
| size_t | iterationCount |
| Number of iterations remaining to be done. More... | |
| std::vector< std::pair< std::chrono::duration< double, std::milli >, std::vector< MetroCollect::DiffValueType > > > | values |
| Array of all collected metrics and their relative timestamps. More... | |
| std::vector< std::pair< std::string, std::string > > | names |
| Name of collected metrics. More... | |
| std::chrono::time_point< std::chrono::system_clock > | start |
| Start time of metric collection. More... | |
Small struct to implement MetricsController delegate.
Definition at line 117 of file MetroCollectFile.cc.
|
inlineoverridevirtual |
Function called every time the MetricsController has computed statistics.
| metricsController | the calling MetricsController |
| metricsStats | computed statistics |
Implements MetroCollect::MetricsControllerDelegate.
Definition at line 144 of file MetroCollectFile.cc.
|
inlineoverridevirtual |
Function called every time the MetricsController has collected new values.
| metricsController | the calling MetricsController |
| metricsDiff | computed metrics differences |
| previousMetrics | earlier collected metrics |
| currentMetrics | latest collected metrics |
Implements MetroCollect::MetricsControllerDelegate.
Definition at line 138 of file MetroCollectFile.cc.
|
inlineoverridevirtual |
Function called after each iteration to ask the delegate whether the controller should stop collecting metrics.
| metricsController | the calling MetricsController |
Implements MetroCollect::MetricsControllerDelegate.
Definition at line 147 of file MetroCollectFile.cc.
|
inline |
Update members.
| iterations | sets the number of iterations |
| metricsNames | sets the metric names |
Definition at line 130 of file MetroCollectFile.cc.
| size_t MetroCollectFile::i = 0 |
Iteration index.
Definition at line 118 of file MetroCollectFile.cc.
| size_t MetroCollectFile::iterationCount |
Number of iterations remaining to be done.
Definition at line 119 of file MetroCollectFile.cc.
| std::vector<std::pair<std::string, std::string> > MetroCollectFile::names |
Name of collected metrics.
Definition at line 121 of file MetroCollectFile.cc.
| std::chrono::time_point<std::chrono::system_clock> MetroCollectFile::start |
Start time of metric collection.
Definition at line 122 of file MetroCollectFile.cc.
| std::vector<std::pair<std::chrono::duration<double, std::milli>, std::vector<MetroCollect::DiffValueType> > > MetroCollectFile::values |
Array of all collected metrics and their relative timestamps.
Definition at line 120 of file MetroCollectFile.cc.


Class: FelFlame
- Inherits:
-
Object
- Object
- FelFlame
- Defined in:
- lib/felflame.rb,
lib/felflame/scene_manager.rb,
lib/felflame/stage_manager.rb,
lib/felflame/entity_manager.rb,
lib/felflame/system_manager.rb,
lib/felflame/component_manager.rb
Overview
The FelFlame namespace where all its functionality resides under.
Defined Under Namespace
Classes: ComponentManager, Components, Entities, Scenes, Stage, Systems
Constant Summary collapse
- Ent =
An alias for Entities
FelFlame::Entities
- Cmp =
An alias for Components
FelFlame::Components
- Sys =
An alias for Systems
FelFlame::Systems
- Scn =
An alias for Scenes
FelFlame::Scenes
- Stg =
An alias for Stage
FelFlame::Stage
Class Method Summary collapse
-
.call ⇒ Object
An alias for Stage.call.
Class Method Details
.call ⇒ Object
An alias for FelFlame::Stage.call. It executes a single frame in the game.
15 16 17 |
# File 'lib/felflame.rb', line 15 def call FelFlame::Stage.call end |


404 pages
404 pages (usually described as a 'page not found') tell users that the page they were trying to access is not there.
Processes and systems should be put in place to prevent users encountering 404 pages in the first place.
Why users see 404 pages
There are three main reasons users encounter a 404 page:
- they followed a link (URL) that is broken or pointing to the wrong location
- they followed an old link or a link that has expired
- they typed or copied a link incorrectly
404 page design
As with all error messages, we should reassure users that their progress has been saved and then help them to fix the error.
Broken links or moved pages
There are a few possible reasons why this may happen:
- if a user clicked a broken link
- if a user bookmarked a page and the page has been moved or removed
Broken links
Testing should catch errors like this but because of the often disjointed nature of the services we build 100% coverage may not always be possible.
If a user has clicked a broken link, we will - in most cases - know this because the referring URL of the page will be from within a GOV.UK domain or other domain that we control. 404 errors should be logged and fixed as soon as possible.
In this situation, we can tell users that we are aware of the problem and are working to resolve it.
Example 404 page telling users that we know about the problem
If the result of a broken link is that a user can not complete the transaction and if the service they are using has an alternative channel that they can use. Users should be signposted to this channel to complete their transaction.
Example: 404 page with an alternative route
Moved pages
Whenever a page is moved or removed, a 301 redirect should be implemented to ensure that bookmarks or external links are handled in a friendly way.
If a 301 redirect has not or can not be implemented users will be shown a 404 page. In this case, we would not know the referring URL so we can determine that this has been linked to from an external source, outside of our control. In this case, the same 404 page should be used as if the user has made a mistake described below.
Copied links
When users copy links - either by copying and pasting or retyping a link - there is a higher chance of them making an error that they do not notice. In this situation, the content of the 404 page should help them to self-diagnose the issue and fix it.
We can help the user to:
- check the link is correct
- look out for spaces or other irregularities in the link
- search for the page that they were trying to access if the page is something that they can search for, such as a start page
- get help with the problem if the link is likely to be from official correspondence from HMRC such as a printed letter by providing an alternative channel if one exists
Example: 404 page when the user has made a mistake
Example: 404 page when the user has made a mistake, and there is an alternative channel that they can use
In the situation where a single user continually makes the same error either through copying and pasting or typing the link incorrectly. We can intercept these repeated attempts and provide more detailed help such as providing an alternative channel if one is available. In this situation, we may want to withhold this option initially so that users can self-help through a digital channel rather than diverting them to less efficient channels.
Example: 404 page when the user has repeatedly tried to access the same URL


Let's display at specified place!
Use "LOCATE" to specify place.
Press ENTER key, '*' will be displayed around the center.
It means that display on 16 from the left end, on 12 from the top end.
Let's display at different place.
Change the numbers in the "LOCATE", the place to be displayed will change.
Actually, it can also enter "LC" by abbreviating "LOCATE".
Also characters can be displayed on the two places.
Also the calculated answer can be displayed.
When it want to clear for monitor, Press F1 key or "CLS".
Try it!
1. Display a "IchigoJam" on 20 from the left end and on 10 from the top end
2. Display a '@' on 10 from the left end, on 17 from the top end, and on 25 from the left end, on 18 from the top end
3. Display a result of "10-5" on 15 from the left end and 24 from the top end
4. Display a favorite character at favorite place
5. Display a favorite calculation result at favorite place


|
ReactPhysics3D
0.8.0
C++ Physics engine library
|
This class represent the component of the ECS that contains the transforms of the different entities. More...
#include <TransformComponents.h>
Classes | |
| struct | TransformComponent |
| Structure for the data of a transform component. More... | |
Public Member Functions | |
| TransformComponents (MemoryAllocator &allocator) | |
| Constructor. | |
| virtual | ~TransformComponents () override=default |
| Destructor. | |
| void | addComponent (Entity bodyEntity, bool isSleeping, const TransformComponent &component) |
| Add a component. | |
| Transform & | getTransform (Entity bodyEntity) const |
| Return the transform of an entity. | |
| void | setTransform (Entity bodyEntity, const Transform &transform) |
| Set the transform of an entity. | |
| Public Member Functions inherited from reactphysics3d::Components | |
| Components (MemoryAllocator &allocator, size_t componentDataSize) | |
| Constructor. | |
| virtual | ~Components () |
| Destructor. | |
| void | removeComponent (Entity entity) |
| Remove a component. | |
| bool | getIsEntityDisabled (Entity entity) const |
| Return true if an entity is disabled. | |
| void | setIsEntityDisabled (Entity entity, bool isDisabled) |
| Notify if a given entity is disabled. | |
| bool | hasComponent (Entity entity) const |
| Return true if there is a component for a given entity. | |
| uint32 | getNbComponents () const |
| Return the number of components. | |
| uint32 | getNbEnabledComponents () const |
| Return the number of enabled components. | |
| uint32 | getEntityIndex (Entity entity) const |
| Return the index in the arrays for a given entity. | |
Friends | |
| class | BroadPhaseSystem |
This class represent the component of the ECS that contains the transforms of the different entities.
The position and orientation of the bodies are stored there. The components of the sleeping entities (bodies) are always stored at the end of the array.


Created by Unknown User (rchekaluk), last modified by Unknown User (zionyx) on Sep 23, 2016
Steps to enable an access log
For Ubuntu:
- Add these lines to /etc/default/jenkins above JENKINS_ARGS:
# Enable access log
JENKINS_ACCESSLOG="--accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file=/var/log/jenkins/access.log"
- Edit /etc/default/jenkins and add $JENKINS_ACCESSLOG to JENKINS_ARGS
- Enable log rotation: edit /etc/logrotate.d/jenkins and change /var/log/jenkins/jenkins.log to /var/log/jenkins/*.log
For Windows service:
- Add the line to %JENKINS_HOME%/jenkins.xml in <arguments> block.
--accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file="%BASE%/logs/access.log"
- Restart Jenkins service after edit.
<service>
<id>jenkins</id>
<name>Jenkins</name>
<description>This service runs Jenkins continuous integration system.</description>
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
The following value assumes that you have java in your PATH.
-->
<executable>%JAVA_HOME%\bin\java</executable>
<arguments>-Xrs -Xmx3072m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war" --accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file="%BASE%/logs/access.log"</arguments>
<!--
interactive flag causes the empty black Java window to be displayed.
I'm still debugging this.
<interactive />
-->
<logmode>rotate</logmode>
<onfailure action="restart" />
</service>
- Access logs will be created in "%BASE%/logs/access.log" but log will be lost on service restart.


DfE enquiries
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
Press release
Information about Jill Pullen, who has been re-appointed as a member of the School Teachers’ Review Body (STRB).
Jill Pullen has been re-appointed to serve as a member of the School Teachers’ Review Body (STRB) and will serve for a further three years.
The STRB provides independent advice to the government on pay and conditions for just under half a million teachers and school leaders in England and Wales.
Miss Pullen retired in 2007 after 25 years as a head teacher of a large primary school. She has maintained a close involvement with education since her retirement through work as chair of an interim executive board and was a member of the governing council of the National College. She has been a non-executive director in the NHS for a number of years and is a lay member of employment tribunals. She is presently a schools adjudicator.
| Name | Term of Office | Political activity declared | Remuneration | Other public appointments |
|---|---|---|---|---|
| Jull Pullen | Three years | None | £300 per day for approximately 25 days per year |
NHS non executive director
schools adjudicator |
The STRB was established under the terms of the School Teachers’ Pay and Conditions Act 1991 (as replaced by the Education Act 2002). It is a statutory independent advisory body. Its function is to consider matters referred to it by the Secretary of State for Education in relation to the remuneration, professional duties or working time of school teachers and to report to the Prime Minister and the Secretary of State.
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
Published: 17 December 2012


Google Maps now speaks place names so you don't have to
by News DeskIf you sometimes find yourself repeatedly spelling, or yelling, a destination name to total strangers, fear not, Google Maps’ text-to-speech feature will save you the hassle.
Communication issues can get in the way of what is supposed to be a relaxing trip. Translation apps or dictionaries do not usually provide names for places, as they are more focused on everyday vocabulary.
With this feature, currently available for 50 languages and counting, users can simply tap on a speaker button next to the address, and Google Maps will say the name out loud for them.
Read also
Furthermore, Google Maps will also link you to Google Translate, if you wish to continue the conversation. The app will determine whether the translation option is needed based on which language your phone is set to. So, Indonesians will not see a speaker button next to the ‘Monumen Nasional’, for instance.
Google has recently begun integrating its Translate feature with other services, including Google Home, Google Assistant, Google Lens and more, to the delight of users.
According to TechCrunch, the feature will be available for both iOS and Android users starting this month. (vel/kes)


Problem 5. Digit as word
- Write a script that asks for a digit (0-9), and depending on the input, shows the digit as a word (in English).
- Print “not a digit” in case of invalid input.
- Use a switch statement.
You could use Chrome console or Firebug to see the results.


‘Itzy? Itzy!’ showcase tour in PH
by Manila Standard ShowbizGlobe continues to bring the best of Korean entertainment to the country by partnering with JYP Entertainment and PULP Live World for Itzy Premiere Showcase Tour Itzy? Itzy! in Manila
on Dec. 8 at the New Frontier Theater in Quezon City.
Rookie girl group, ITZY is a new Korean girl group under JYP Entertainment. The group debuted in early 2019 and are composed of Yeji, Lia, Ryujin, Chaeryeong, and Yuna
.
ITZY
is unstoppable—with two successful album releases and recognitions such as the 2019 Genie Music Awards’ Female New Artist, 2019 Soribada Best K-Music Awards’ Rookie Award, and 2019 Brand of the Year Awards’ Female Rookie Idol of the Year, it is set to end 2019 with a bang through its showcase tour.
First dibs on concert tickets and a chance to win an exclusive VIP concert experience are in store for Globe Prepaid, Globe Postpaid, and Globe At Home Prepaid WiFi customers.
Join the K-mmunity PH Facebook group to get details on the Globe Exclusive Pre-Sale and Ultimate Stan Experience. Be the first to know more about upcoming K-Pop events, and interact and bond with fellow K-Pop fans by joining the K-mmunity PH group at glbe.co/KmmunityPH.
Public selling of tickets started on Nov. 10 at TicketNet outlets nationwide and online through www.ticketnet.com.ph. Plus, another 10 lucky members will win the Ultimate Stan Experience and receive VIP tickets, and a Special VIP experience to the venue on concert day.
Most recently, Globe has brought massive KPop acts like GOT7, EXO, TWICE, BLACKPINK, Wanna One, and Super Junior
to the country to delight Filipino K-Pop fans. With more exciting artists like ITZY lined up, Filipino fans are sure to experience world-class music entertainment—a commitment that Globe will continue to strengthen for years to come. For more information, join the K-mmunity PH group at glbe.co/KmmunityPH or follow Globe ICON on Facebook and Instagram.
For more about Globe Telecom, visit www.globe.com.ph.


A really awesome framework called Bootstrap was recently released by a couple of guys at Twitter. You probably already heard of it by now. And you probably already fell in love with it.
One of my favorite Boostrap plugins is dropdowns, but I had a bit of difficulty getting started with them. The docs say you can apply a dropdown to nearly any element, but they really seem to work best with Bootstrap’s navbar, tab, and pill components. Since I was retrofitting an app that was around long before Bootstrap, this wasn’t going to work for me. That and I was hoping to get a scrollable dropdown (with tips!) and a few other features out of the deal. Thus, this plugin was born.
While the appearance of these dropdowns is almost identical to those of Bootstrap’s, it’s important to note that JavaScript for this plugin was developed entirely from scratch. Some CSS was borrowed, however, especially for generating those gorgeous tips.
Wanna see what they look like? Try it! Wanna contribute to this project? It’s on GitHub
1. Start by including the necessary files into your app:
<link type="text/css" rel="stylesheet" href="jquery.dropdown.css" />
2. Create a dropdown by placing a div
with a unique id
and the dropdown
class immediately before your closing body
tag.
For dropdown menus, the div
should contain a ul
with the
dropdown-menu
class:

Item 1

Item 2

Item 3

Item 4

Item 5

Item 6

For dropdown panels, the div
should contain a div
with the
dropdown-panel
class:

 You can put whatever HTML you want in a panel!

3. Add the data-dropdown
attribute to any HTML element, using the id
of the
dropdown as the value.  The plugin
also works on dynamically generated triggers.
dropdown
Dropdowns can be attached to any element that you want:
Here’s a link and here’s a button and here’s a span
Now let’s see a really long dropdown that will scroll: Example
You can add form controls to your dropdowns: Example
You can use CSS to add icons to your dropdowns: Example
Dropdowns can have regular HTML, too. Example
dropdown-disabled
class to the trigger elementdata-horizontal-offset="10"
and/or data-vertical-offset="10"
to the trigger elementdropdown-tip
class to the dropdown elementdropdown-anchor-right
class: Exampledropdown-relative
class to the dropdown containerYou probably won’t need these, but they’re there just in case:
attach
– attach a dropdown to the selected trigger element(s); pass in the #dropdown-id
as value
detach
– detach a dropdown from the selected trigger element(s)enable
– enables the dropdown and removes the dropdown-disabled
class from the triggerdisable
– disables the dropdown and adds the dropdown-disabled
class to the triggerhide
– hide the dropdownshow
– show the dropdown
Example usage: $('#trigger').dropdown('method', [value]);
You can attach events to each dropdown:
show
— triggered when the dropdown is shownhide
— triggered when the dropdown is hiddenExample usage:
$('#dropdown-id').on('show', function(event, dropdownData) { console.log(dropdownData); }).on('hide', function(event, dropdownData) { console.log(dropdownData); });
dropdown-anchor-right
class.
id
intact.
dropdown-tip
class from your dropdown.


--- layout: page title: "About" description: "Hey, this is Gwod." header-img: "img/post-bg-starts.jpg" ---
无冥冥之志者，无昭昭之明；
无惛惛之事者，无赫赫之功。
Hello，大家好，我是国得杰(Gwod)，一只出没于北京五道口地区的单身狗🐶
我喜欢音乐和数学，爱写代码，也爱跑步，游泳和健身。
这是我用 GitHub Pages 与 Jekyll 搭建的个人博客。我在GitHub的主页👉GitHub·JayGwod。欢迎访问我的空间，也欢迎大家在评论区留言~
Somehow serious ...
Hello, everybody, I'm @JayGwod (Guo Dejie), an Algorithm Engineer and a Musician (at least I think so 😝). Currently I'm studying at Peking University as a PhD student majoring in Machine Intelligence, and previously I worked as an Algorithm Engineer at Lingban Technology.
Actually I had no idea about I would have any relationships with Computer Science just several years ago. At that time, my dream was to become a great Composer and my career was all about music and arts. I graduated from Communication University of China and then got a master degree of Arts in Music from China Conservatory of Music. Meanwhile, I also took a job at China National Theatre for Children as a Sound Designer to chase my music dream.
Now I believe that Arts and Science are the same thing. Not only would I never give up the dream of Music, but also I'm trying to use the fantastic techniques of Artificial Intelligence to help me achieve this goal. If you're also interested in the combination of Arts and Science, welcome to contact me 👉GitHub·JayGwod. Let's build some cool stuff together💪


GFZ Data Services
Current Selection
Search
(press ESC to close suggestions)
Spatial Filter
Datacenters
Top Categories
Top Sub-Categories
Top Subjects


--- layout: page title: Hi, I'm Wentao Zhang subtitle: PhD student in Computer Science use-site-title: true ---
Wentao Zhang is a PhD student in Computer Science at Peking University, advised by Dr.Bin Cui. His research interests are Automated Machine Learning and Graph Computing.


AngularJS Security is something I have looked into in the past. In 2016, I conducted a workshop on AngularJS Security in MWR’s MWRICON which highlighted some common security issues and how they could be exploited. The materials of this workshop can be seen here: MWRICON 2018.
I recently took notice of Semgrep which is a Lightweight static analysis tool. Semgrep is an interesting tool for code reviewers which is more expressive than grep, and is easily customizable to conduct semantic analysis. Since Semgrep is lightweight and fast, it is easy to implement this in a CI/CI pipeline.
Semgrep
Semgrep is fairly easy to setup and install pip3 install semgrep
. Furthermore, the Semgrep Live Editor can also be used to write and save rules on r2c’s system.
Semgrep uses pfff (PHP Frontend For Fun) which is a static analysis engine previously developed by facebook and was then deprecated. The developer Yoann Padioleau who initially wrote this now works for r2c. pfff is written in OCaml and it is a set of modules (only few are used as part Semgrep I think).
Semgrep internally uses a generic parser using yacc and ocaml-tree-sitter and some custom code to convert any programming language into an Intermediate Language/AST and then it is possible to conduct Fuzzy AST to AST Matching on this result.
Looking at the engine code, there are references to pointer analysis and datalog but this doesn’t seem to be currently use and Dataflow/taint analysis seems to be planned in the future release by r2c.
Semgrep can be considered a good alternative for ESLint since
- Well documented, rules are meant to be powered by community
- Semgrep is provided under LGPL-license and is free for commercial use
- Very easy to write custom configurations and semantic rules.
- Supports popular languages incuding Python, JavaScript, Java, Go, C with PHP and TypeScript support on the way 🥳
As such I ported multiple rules from AngularJS Security Rules For ESLint to Semgrep. The pull request I made can be seen here: Pull Request to semgrep-rules repository. This blog post will highlight the basics of using Semgrep with some AngularJS examples.
Writing Rules - Strict Contextual escaping (SCE) Example
In the code below, the $sceProvider is set to false. Disabling Strict Contextual escaping (SCE) in an AngularJS application could provide additional attack surface for XSS vulnerabilities.
1
2
3
4
5
6
7
8
9
10
11
12
13
var app = angular.module('MyApp', []).config(function ($sceProvider) {
// ruleid: detect-angular-sce-disabled
$sceProvider.enabled(false);
});
app.controller('myCtrl', function($scope) {
$scope.userInput = 'foo';
$scope.sayHello = function() {
$scope.html = "Hello <b>" + $scope.userInput + "</b>!"
};
});
An example such as the above can be easily solved by using Semgrep since you only need to check if the value of $sceProvider.enabled is false. Live Editor - SCE Disabled
1
2
3
4
5
6
7
rules:
- id: my_pattern_id
pattern: |
$sceProvider.enabled(false);
message: |
Semgrep found a match
severity: WARNING
And due to the Semgrep only matching AST, this can be used to easily traverse through large codebases quickly.
Writing Rules - Open Redirect Example
The below code is a command example of open redirect that might happen when user input is conce $window.location.href
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var app = angular.module('MyApp', []);
app.controller('myCtrl', function($scope, $sce) {
$scope.userInput = 'foo';
$scope.sayHello = function() {
$window.location.href = input + '/app/logout';
input = $scope.input;
$window.location.href = input + '/app/logout';
//Data is not coming from user input
$location.location.location = test
$window.location.href = "//untatintedredirect"
};
});
One way to match code like this is to use MetaVariables and Expression Matching and the pattern: |
option. Expression matching searches code for the given pattern. This pattern can match a full expression, or be part of a subexpression and this can be used to identify concatenation., and metavariables are used to track a value across a specific code scope.
This includes variables, functions, arguments, classes, object methods, imports, exceptions, and more. Typed Metavariables are also supported for Java. More information regarding these two features can be seen here: Pattern Features
1
2
3
4
5
6
7
patterns:
- pattern-either:
- pattern: |
$SOURCE = $INPUT;
$window.location.href = $SOURCE + $STATICVALUE;
- pattern: |
$window.location.href = $SOURCE + $STATICVALUE;
This can even be taken one step further using the pattern-inside option and the ellipsis operator. The ellipsis operator can be used to search for specific function calls or function calls with specific arguments. To search for all calls to a specific function, regardless of its arguments. This can be used to check if my initial pattern is occurring inside the app.controller function.
1
2
3
app.controller(..., function($scope,$sce){
...
});
The ellipsis operator itself is very useful and can be used to check for specific function calls, method calls, function definitions, class definitions, strings, arrays and conditionals.
Another example of using ellipsis is identifying the usage of angular.element method. angular.element can lead to XSS if after,append,html,prepend,replaceWith,wrap are used with user-input. This can be matched using a pattern such as the below:
1
angular.element($SOURCE).html(...);
The same concept can also be applied to match expressions that could be nested deep within another expression. Deep Expression Operator
Semgrep YAML File Breakdown
Patterns/Rules can be contributed to the semgrep-rules as a YAML file. An example of a pull request can be seen here: Pull Request
An example of a YAML file can be seen below:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
rules:
- id: detect-angular-translateprovider-useStrategy-method
patterns:
- pattern-either:
- pattern: |
$translateSanitization.useStrategy();
- pattern-inside: |
app.controller(..., function($scope,$sce){
...
});
message: |
If the $translateSanitization.useStrategy is set to null or blank this can be dangerous.
languages:
- javascript
severity: WARNING
metadata:
references:
- https://docs.angularjs.org/api/ng/service/$sce#trustAsUrl
- https://owasp.org/www-chapter-london/assets/slides/OWASPLondon20170727_AngularJS.pdf
- id: detect-angular-translateprovider-translations-method
patterns:
- pattern-either:
- pattern: |
$translateProvider.translations(...,$SOURCE);
- pattern-inside: |
app.controller(..., function($scope,$sce){
...
});
message: |
The use of $translateProvider.translations method can be dangerous if user input is provided to this API.
languages:
- javascript
severity: WARNING
metadata:
references:
- https://docs.angularjs.org/api/ng/service/$sce#trustAsUrl
- https://owasp.org/www-chapter-london/assets/slides/OWASPLondon20170727_AngularJS.pdf
This can be broken down as:
- patterns – Pattern option to match
- language – Language syntax that can be matched
Import YAML keys:
- id - ID of a rule, multiple rules can be added in the same file which can be triggered by one ID
- metadata - Provide additional information such as references/links
- message -Message to display when pattern is matched
- pattern - Here we specify the logical option for a pattern to be matched. This can be pattern-not, pattern-inside, pattern, pattern-not-inside etc
- severity - Severity of the rule
Concluding Thoughts
While Semgrep doesn’t support fully fledged static/program analysis such as CodeQL, it can be useful for writing quick patterns to search through large codebases quickly. I often find these sorts of features useful when trying to find interesting starting entry points while code reviewing which I can then dig into myself.
I looked forward to Semgrep being the successor of other grep based code scanning projects such as GrepBugs and other open source projects which have died in the past.