Professor of Green Chemistry
Director, Institute for Green Science
Professor Collins has been recognized internationally for his invention of a new class of oxidation catalysts, "TAML Activators". This is the first full functional mimics of any of the great families of oxidizing enzymes, solving in the process one of the all-time great challenges of reaction chemistry and catalysis. This invention underpins new technologies for treating municipal wastewaters and the effluents of diverse industries.
Hamerschlag University Professor and Department Head, Civil and Environmental Engineering
Professor Dzombak specializes in water quality engineering, environmental restoration, and energy-environment issues. One of his current research focus is the use of low-grade heat for membrane treatment processes for wastewater management and reclamation in power production. Dzombak serves on the U.S. Environmental Protection Agency Science Advisory Board, the U.S. Department of Defense Strategic Environmental Research and Development Science Advisory Board, the Water Science and Technology Board of the National Research Council, and the Roundtable on Science and Technology for Sustainable of the National Academies.
Ed Pinero works to support programs at company operations and to facilitate relations with key stakeholders in regard to sustainability as well as development and implementation of sustainable programs, concerning with infrastructure, water, energy, and waste. Before, Ed Pinero has served in the public sector as the White House Federal Environmental Executive, White House Council on Environmental Quality, where he focused on developing and implementing policies and practices within the federal government, and the Pennsylvania state government in energy and sustainability.
Zappa leads the Pittsburgh, PA- based non-profit, Conservation Consultants Inc., which focuses on residential energy efficiency and home performance, especially for low-income households. CCI is driving an effort to convene a statewide working group on the Department of Energy’s Home Energy Score and facilitates the regional ReEnergize Pittsburgh Coalition. Zappa serves on the Board of Directors of the Allegheny Land Trust and Pittsburgh Green Innovators, and she is a former member of the Pittsburgh Technology Council’s Green Advisory Council, the Nine Mile Run Watershed Association Board, Crafton Public Library Board, Hollow Oak Land Trust Board, and the PowerLink Board. Her previous professional roles include serving as the first Sustainability Manager for Allegheny County, Deputy Director of the Green Building Alliance, Director of Strategic Marketing for Descartes Systems Group and Marketing Manager for Vocollect voice recognition technology.
Ms. LeGros has practiced environmental and natural resources law for over 20 years. Her work at CSSD promotes collaborative efforts by industry and its stakeholders called for by the Shale Gas Production Subcommittee of the U.S. Secretary of Energy’s Advisory Board. LeGros has advised chemical, battery and renewable energy companies on regulatory issues and defended them against claims of contamination. Before moving to corporate and private sectors, LeGros served as a section chief at Environmental Protection Agency (EPA) in the mid-1970s.
CEO & Founder of EEme, LLC
Dr. Hoşgör is a young entrepreneur. He also co-teaches a graduate-level course “Technology Commercialization: Non-Market Public Policy Strategies for Entrepreneurs and Innovators" at the engineering school of Carnegie Mellon University. Before, he was a consultant of Cambridge Energy Research Associates. Project he worked on includes oil and gas field commerciality analysis for national and international oil companies and institutions on up-, mid- and downstream levels.
Vice President of Strategic Engagement & Pittsburgh 2030 District Director, Green Building Alliance (GBA)
Anna has almost 25 years of experience fostering internationally recognized brands in partnership with corporations, nonprofits, and the government sector. Anna creates, fosters, and manages GBA’s strategic engagement and stakeholder outreaches. She also manages the Pittsburgh 2030 District, including the convening of District Partners, serving as the initiative’s primary spokesperson, and acting as the liaison between GBA and District stakeholders. Anna is responsible for developing relationships with and supporting new and existing property, community, and resource partners to help meet holistic District goals, as well as designing tools, educational opportunities, and communication strategies for them.
Director of Technology Development and Application, Westinghouse Electric Company
Dr. Rita directs more than 70 engineers and technicians, and leading-edge characterization and hot cell laboratories at Westinghouse, the world's pioneering nuclear energy company. She leads game-changing innovation projects to advance nuclear energy industry, and directs subject matter experts in Robotics, Advanced Manufacturing, Nuclear Analysis, Chemical Engineering, and Instrumentation & Controls to support projects and operating fleet. She also collaborates with domestic and international laboratories and universities to develop advanced concepts for application in nuclear industry.
Honored Guest
Richard S. Caliguiri University Professor of History and Policy
Professor Tarr studies the environmental history of cities, and the history and impact of their technological systems. He is particularly interested in using history to understand contemporary problems. In 2014 the American Society for Environmental History awarded him its Distinguished Service Award for 2015. His book, Technology and the Rise of the Networked City in Europe and America, edited with Gabriel Dupuy, won the 1988 Abel Wolman Prize of the Public Works Historical Society.
Professor of Computer Science Founder and Director of the Electronic Marketplaces Laboratory.
Joined on January 2016, Bo Tao has been the Vice President of Cheetah Mobile. Before, he was VP of Symantec, where he was responsible for building and operating cloud and big data platforms based on OpenStack & Hadoop families of open source technologies, respectively. The platform spans in multiple data centers worldwide and operates tens of thousands of VMs and dozens of petabytes of data. Graduated from Tshinghua University and went to Princeton for ECE PHD. He has more than 10 patents and have received two major book rewards: Book Chapter C0-Author and Book Co-Editor. He is also in the organization of China Institution of Electronics and Internet of Things 2012.
Founder of Raven Tech, Cheng Lv earned his degree at University of Liverpool. Before Raven Tech, Lv founded timeet in the Junior year, and acquired million-dollar of angel investment to found Raven Tech in Graduate years. Founded in May 2014, Raven Tech is the one of the fifth batch of graduates from Microsoft Ventures Accelerator, and the only startup from Mainland China enrolled in the Y Combinator W15. Its mission is to make our lives easier, more elegant and more efficient with the power of technology and design. Raven Tech focuses in the next generation of human-machine and human-human interaction system, which is called Project Flow. Music Flow, a pure simple music player, is the music feature of Project Flow. It is the way users interact with mobile phones and intelligent terminals in the future.
Director of Language Technologies Institute(LTI) University Professor, Allen Newell Professor, School of Computer Science
Tone has been working on Wall Street for almost 10 years starting as a risk analyst at Bear Stearns and later becoming a VP at JP Morgan Chase in the aftermath of the financial crisis. His expertise is in Economic Trends, Trading and Risk Analysis. Ever since getting involved in Crypto Currencies in early 2013 he has been very active in spreading the relevance and importance of this technology to people looking to better understand the current financial system. He is the Head of Research at BraveNewCoin where you can find his latest work after previously writing at CoinTelegraph. Tone still attempts to maintain his personal blog LibertyLifeTrail focused on sound economics, privacy, free-thinking and adventurous travel. Tone holds a Masters Degree in Financial Engineering from Florida State University along with Bachelor Degrees in Mathematics and Geology.
Mr. McLaughlin is the Founder and Managing Partner of Financial Technology Partners (FT Partners), a San Francisco-based boutique investment bank focused exclusively on the financial technology sector. A Wharton MBA and Palmer Scholar, Mr. McLaughlin formerly was Head of the Global Financial Technology in Goldman, Sachs & Co., advising on several high-profile and complex transactions that provided him with the experience and competency to launch FT Partners. Steve has been advising FinTech companies for over 18 years. Steve’s firm was awarded “Investment Bank of the Year” in 2011 for the third time since 2004, and the firm has also received numerous awards for its outstanding transaction results. Steve was recognized as Dealmaker of the Year in three times since 2007.
Co-Founder and Co-CEO of WiseBanyan
Ms. Zhou is the Co-Founder and Co-CEO of WiseBanyan, the world’s first free financial advisor that allows everybody to make the same level of investment advisory and services previously only available to the wealthiest clients. She decided to start WiseBanyan while she was the Vice President of Archipelago Capital Management. Vicki was awarded “2015 High Tech Entrepreneur Award” by Las Vegas Women in Technology Awards. She graduated from Johns Hopkins University with Bachelor of Science degree in Applied Mathematics and Statistics and Biomedical Engineering.
Co-Founder and Co-CEO of WiseBanyan
Mr. Moore is the Co-Founder and Co-CEO of WiseBanyan, the world’s first free financial advisor that allows everybody to make the same level of investment advisory and services previously only available to the wealthiest clients. Before he decided to start WiseBanyan, he was the Founder and CIO of Archipelago Capital Management and has 7 years of experience in investment management. He holds a Master of Science degree from Stanford University and a Bachelor of Arts degree from George Washington University.
Yao Zhang has worked with a variety of companies and organizations in both China and the US on educational investing, program evaluations and business-public partnerships in education. In past years, she has worked with: McKinsey & Company’s research arm, McKinsey Global Institute and China Knowledge Center in Shanghai; Edison Learning Inc. Trace Foundation; and Plan International and PACT’s headquarter offices in China. She has also provided advisory on investment opportunities in education for several venture capital funds. Yao was an invited speaker at the United Nations 2008 Gender and Empowerment Week addressing educational development and NGOs in China, China Scope Conferences at MIT in 2010 and NYC in 2011 . Yao Zhang received her undergraduate degree in Beijing at the Central University of Finance and Economics. She holds a Master's degree in Education Economics from Columbia University Teachers College, where she is currently an advanced doctoral candidate. Yao's research includes education de
林国宇是北美留学生日报主编,曾经在美国四大会计事务所工作,参与过非洲艾 滋病志愿者行动,美国 50 个州去过 37 个,私人飞行爱好者。“多年前迈阿密大 学的留学生活让我认识到留学生这个特殊群体中信息的匮乏以及因信息缺口带 来的种种问题。虽然我的专业是会计,但是在经历了一系列的事情之后,我还是 决定创立‘北美留学生日报’微信公众号。”从最初一个人创立的公众号到现在 北美留学圈关注量最大的平台,“北美留学生日报”微信公众号坚持每天不间断 推送优质原创内容,为在北美的中国留学生以及在国内准备去北美留学的学生提 供咨询,获得了很大的肯定。
王涵:「燎原」创业社交平台创始人/CEO,2013 年毅然放弃高薪拉起 5 人团队从 零开始创业,倾力打造波士顿美食App FotoDish。后团队转型IT咨询行业,三 个月内获得数十万美金订单。2015 年创立「燎原」创业社交平台,目前已经发 展成为美东最具影响力的华人创业社交平台之一。「燎原」结合线上社交及线下 合作活动,开阔创业者的社交圈子,解决创业中的琐碎难题。我们集结优秀的创 业者、投资人和各类资源,通过领域的精准细分,第一时间为创业者分享信息、 匹配志同道合的创业伙伴。
苏奇,Modelo 的 CEO 和联合创始人, Modelo 是针对于建筑工程施工领域的在线 协作和流程管理平台。在创立 Modelo 之前,苏奇曾经是建筑师和设计讲师,曾 在南加州大学和同济大学任教,在纽约洛杉矶等地多家事务所任职。苏奇毕业于 哈佛大学设计学院,是学校历史上唯一一个同时拿过结构创新奖和数字设计奖的 研究生。
张鑫曾为美国谷歌软件工程师,从事谷歌核心技术底层系统研发。 2012 年至 2014 年,作为主要技术人员从事谷歌数据中心(IDC)集群管理系统(Cluster Management)的研发,该集群系统自动管理和维护 95%以上的谷歌集群机器; 带头开发的自动故障应对系统将谷歌集群的故障率大大降低,为谷歌节省了每年 千万美元的运维成本;作为核心技术人员参与了谷歌云计算平台的系统到产品的 全栈式开发;开发的图形化应用部署(Click-to-deploy)、部署经理(Deployment Manager)等产品上线后即获得用户广泛使用;设计了谷歌倡导的新一代“云服务” (Managed Cloud)的设计,此理念获得了美国IBM,VMWare,Redhat等云计 算巨头公司一致响应。于 2012 获美国顶级计算机学府 Carnegie Mellon University (CMU)大学计算机博士学位, 发表国际学术论文数十篇,成为分布式系统和网 络安全方向的学术专家, 曾为美国个性医疗初创公司 SMART-MD, AllPancreas 提供应用软件平台构架、安全技术咨询和基于云平台的系统开发。
Harry Zhou is the founder and CEO of jEugene. Prior to founding jEugene, Harry worked as a corporate attorney for the New York office of White & Case LLP, where he routinely advised U.S. and international financial institutions on leveraged finance transactions and compliance issues. Harry holds a J.D. degree from Harvard Law School and a B.S. degree in Computer Science from Dickinson College.
Founder of Raven Tech, Cheng Lv earned his degree at University of Liverpool. Before Raven Tech, Lv founded timeet in the Junior year, and acquired million-dollar of angel investment to found Raven Tech in Graduate years. Founded in May 2014, Raven Tech is the one of the fifth batch of graduates from Microsoft Ventures Accelerator, and the only startup from Mainland China enrolled in the Y Combinator W15. Its mission is to make our lives easier, more elegant and more efficient with the power of technology and design. Raven Tech focuses in the next generation of human-machine and human-human interaction system, which is called Project Flow. Music Flow, a pure simple music player, is the music feature of Project Flow. It is the way users interact with mobile phones and intelligent terminals in the future.
Zheng Xin, CEO, Founder and chairman, earned his degrees in Beijing University of Aeronautics and Astronautics and China Academy of Space Technology (CAST). In 2014, Xin founded ANTVR and developed new product ANTVR KIT, Virtual Reality device. ANTVR is developed from the previous holographic glasses display device, and can be used in better experience in 3D video games.
杭州硅谷公司(Westlake) 首席执行官
Start-up Panel Moderator
Over 15 years of working experience in Start-up Investment and Angel Fund, successfully leading high tech startups including Kangsheng Shares（SZ:002418) and many other startups going IPO or being acquired
Establish and operate the first official FOF; primarily invest over 40 VC and Angel Funds over 6 billion Yuan
Establish the first overseas guide fund; invest five overseas guide fund over 300 million dollars
董和创立了PoloyQolor公司，现在担任该公司首席执行官，PoloyQolor专注于量子点技术的开发研究，已获得210万美金的首轮投资，并申请获得了数项专利。他曾在北京大学获物理本科学位以及在新奥尔良大学获电气工程硕士学位，并曾在麻省理工学院担任过研究助理。在创立PoloyQolor前，他曾在Cadexterity Inc，Avant! Corp以及Synopsys Inc担任软件研发工程师，并在此期间申请了两项技术专利。同时，他于2008年创立InnovaNano Inc， 该公司已在欧美具有一定的市场。
Feng focuses on Education, TMT, and Deep Technology. He pays strong attention to E-commerce, Fintech, online education, new generation lifestyle businesses and O2O enterprises. Previously as a partner at IDG-Accel, he led investments on a series of successful projects, including CreditEase, Zhubajie, Prosper, Three Squirrels, Tongbanjie, Didapinche, Bilibili, Coinbase, and etc. Among them, Zhubajie, CreditEase and Prosper successfully joined Billion Dollar Club.
Larry Li founded Amino Capital (Formerly known as zPark Capital) in 2012, and he also co-founded TEEC Angel Fund in 2010. His passion is helping entrepreneurs build disruptive products in big data, consumer electronics, drones, enterprise services and et.al. He sits on the board of Darma Smart Cushion, Yttro Mobile, Droplet, Candy House, SkuChain, Battlefy, SherpaShare, Cassia, Mage, and also led investment on companies which experienced fast growth, such as Assemblage (acquired by Cisco – NYSE: CSCO), Orbeus (acquired by Amazon – NYSE: AMZN), Skycatch, and Trustlook.
Ricky is a Senior Investments Manager at Idea Bulb Ventures with experience in software engineering, product management, startups, and angel investing. He is responsible for investment on connected hardware and developer tools. Earlier in his career, he founded and ranMobnotate, an ad network for eBooks. Prior to that, he started Google's data warehousing and business intelligence teams in the US - in addition to rotational stints in London, Hyderabad, and Beijing.Ricky received his MS/BS in Computer Science from UCSB, with emphasis on Artificial Intelligence and Distributed Systems, and MBA from INSEAD.
Hong Xue is the Managing Director of Westlake Ventures, and the partner of Cybernaut Investment in Silicon Valley. He leads the practice of early stage investment and merge & acquisition initiatives in Silicon Valley and Israel for Westlake Ventures and Cybernaut. His investment focuses including big data and cloud technologies; cyber security; FinTech; productivity-based applications and digital healthcare. He has more than 20 years of experience across engineering, product management, business development, and venture capital investment. He holds mentor and advisors positions for multiple start-up companies in Silicon Valley. His earlier professional experience includes technology management position in companies such as Motorola and Oracle. He obtained his M.S. degree in Computer Science and Business Administration from Carnegie Mellon University and his B. S. EE in China.
Co-founder of the RoboticsHub
Associate Director of National Robotics Engineering Center (NREC)


Placed Orders are typically placed in a "Shopping Cart" state (order.is_ready == false
), where they do not affect Customer balance and Product quantities until a subsequent Make Order Ready transaction is executed. So, we need to devise logic that, when an Order is "made ready" (PUT a purchase order, setting order.is_ready == true
)...
We solve this transaction by declaring the following logic:
Since the Customer has a Sum:
Derive customers.balance as sum(ordersList.amount_un_paid) where is_ready = true
The Balance is increased due to the Qualification Condition Change (is_ready
) now being met.
Similarly, we don't want to reduce Product
inventory, and set reorder flags, until Purchaseorders are marked as ready. So, we need to define logic to make this happen.
This is a bit more challenging, since the Product
is not directly related to Orders,
so that the qualification condition cannot reference orders.is_ready.
So, we introduce Lineitem.is_ready
, enabling us to define the following logic.
Implementation Notes:
Product.totalQtyOrdered
products.is_reorder_required


| Customer Number | First Name | Last Name | Available Reward Points | Account Balance | Last Login Date |
|---|---|---|---|---|---|
| 183 | Jackson | Pollack | 128 | $1,492.90 | 1/04/2016 |
| 8293 | Sara | Bibber | 279 | $0.27 | 3/26/2015 |
| 2344 | Bill | Billings | 925 | $976.72 | 7/24/2015 |
| 3734 | Deborah | Smith | 567 | $12.56 | 12/31/2015 |
© 2016 - Robert W. Dempsey All Rights Reserved
These pages were created for the Web Scraping and Data Mining Course


If you think you have covid, get tested yourself as soon as possible
The aim of this website is to implement a secure COVID19 status certificate for citizens of Canada and USA who live in a border city. The solution will outline a diagnostic testing strategy to detect the presence or absence of COVID19 virus and antibodies and transfer the result in secure portal


Marketing Tier - Innovative Design
Innovative Design is Berkeley's premier student-run creative agency that
does graphic design work, photography, web development, and more for a wide array of both campus
organizations and off-campus clientele. InnoD makes Berkeley beuatiful, and Marketing Tier makes
InnoD beautiful! I've been on Marekting Tier for the past two semesters, and have helped ideate, develop,
and execute many marketing campaigns for InnoD's recruitment, campus events, and internal events. Below are
some of the assets that I have made for InnoD over the past year.


yay
Yet Another Yogurt: A utility for Arch Linux to build and install packages from the Arch User Repository.
Also see `pacman`.
More information: home page
- Interactively search and install packages from the repos and AUR:
yay package_name|search_term
- Synchronize and update all packages from the repos and AUR:
yay
- Synchronize and update only AUR packages:
yay -Sua
- Install a new package from the repos and AUR:
yay -S package_name
- Remove an installed package and both its dependencies and configuration files:
yay -Rns package_name
- Search the package database for a keyword from the repos and AUR:
yay -Ss keyword
- Remove orphaned packages (installed as dependencies but not required by any package):
yay -Yc
- Show statistics for installed packages and system health:
yay -Ps


Docker tips, tricks and troubleshooting
MongoDB with Docker
You can access the MongoDB running in the Docker image through the terminal. To enter the image "OS" run:
exec -it mongo /bin/bash
To access the database run:
mongo
You can now use MongoDB commands like you normally would, show dbs
,
db.dropDatabase()
etc.
To enter the database "eventDB" that contains all the events write use eventDB
.
To show what type of events that exist in the database write show collections
.
To display the json-object that actually exists in the database write eg
db.EiffelArtifactCreatedEvent.find({})
.
To drop the whole database write db.dropDatabase()
.
Clear images and disk space
Docker images take up a lot of space.
- Run
docker images
to see how many you have and how much space the take up.
To clear the saved images run:
- Run
docker image prune
to see how many you have and how much space the take up.
Troubleshooting Docker for Windows
If you receive the following error:
ERROR: for mongo Cannot create container for service mongo: b'Drive has not been shared'
Follow these steps to solve it:- Type the following in cmd/Powershell
set COMPOSE_CONVERT_WINDOWS_PATHS=1
- Restart Docker
- Go to Settings in Docker->Shared Drives->-Reset credentials->-Select drive->Apply


Best pre-Black Friday deals on headphones: Bose, Sony, and more
by Miller KernWhatever you're looking for in a pair of headphones (whether that's noise cancellation, Bluetooth connectivity, or something else) you want to make sure they're high quality.
While Black Friday is a good time to make electronics purchases, you don't have to wait to score a great deal. We're already seeing some sales leading up to Black Friday. Check out the best deals we found on headphones this week:
Sony
- Sony wireless noise-canceling extra bass headphones — $128 (list price $248)
- Sony wireless on-ear headphones — $39.99 (list price $79.99)
Bose
- Bose SoundSport wireless Bluetooth earbuds — $129 (list price $149)
- Bose SoundSport Free wireless Bluetooth earbuds — $199 (list price $249)
- Bose QuietComfort 25 noise-canceling headphones for Apple devices — $129 (list price $177.23)
Beats by Dr. Dre
- Powerbeats3 wireless earphones — $119 (list price $199.95)
- Beats Solo2 Luxe wired on-ear headphones — $99 (list price $149.95)
- Beats Studio3 wireless noise-canceling headphones — $199.99 (list price $349.99)
- Beats Solo3 wireless headphones — $164.99 (list price $299.99)
Jabra
- Jabra Elite true wireless sport earbuds (manufacturer refurbished) — $99.99 (list price $189.99)


@load
decorator API
Usage
@load(queries<Object, Function(props<Object>)>)
The load decorator accepts a single argument: an object of keys to queries or a function which returns an object of keys to queries.
Functions passed to @load
will have all props from parent components as the
first argument, so you can generate queries based on these props:
class Parent extends Component {
render() {
<Child slug='some-post' />
}
}
@load((props) => ({
posts: PostModel.getItem({ slug: props.slug }),
}))
class Child extends Component {
}
Note that using a static object is much more performant:
@load({
user: window.userId,
})
class Wrapper extends Component {
}
If you don’t need props to calculate your queries you should always use a static obejct.
And the keys of the object passed into @load
will be used as the prop names
for data loaded by tectonic.
Props
The universal props passed into your decorated component are:
status<Object>
: An object where key names match the keys passed into@load
.  Similar to the@load
decorator, it accepts an object of queries. The component will receive new props using the object keys as prop names.query<opts<Object>, callback<Function(err<?null>, result<Object>))>
: A function which resolves any query to update or modify resources. This does not pass data into your component on success; it should be used for create, update and delete queries.
Read this guide for more information on using this to create queries with side effects.
Additionally, there are a number of helper functions which automatically add
queryType
as an option to the query
function:
createModel(opts<Object>, callback<Function(err<?null>, result<Object>))>
:
Helper to callquery
withopts.queryType = 'CREATE'
, for create queries.updateModel(opts<Object>, callback<Function(err<?null>, result<Object>))>
:
Helper to callquery
withopts.queryType = 'UPDATE'
, for update queries.deleteModel(opts<Object>, callback<Function(err<?null>, result<Object>))>
:
Helper to callquery
withopts.queryType = 'DELETE'
, for delete queries.
Loaded data as props
And finally, all of your data from the queries needs to be in there too! If you use the decorator as follows:
@load({
foodiddy: UserModel.getItem({ id: 1})
})
class SomeComponent extends Component {
static propTypes = {
foodiddy: PropTypes.instanceOf(UserModel),
}
}
Then the user model loaded will be passed in as this.props.foodiddy
.
Basically, the object keys are going to be your prop names. They’re also
going to be your status names, accessible at this.props.status.foodiddy
.
Fantastic stuff.


Large button Large button
Default button Default button
Small button Small button
Extra small button Extra small button


This tests context.storage.set/get in before functions in a workflow. Click the blue workflow icon : reach 17-workflow-storage-2.html Input field content: "Set by workflow step 1"


Google Sign In
Local
New File
Open File
Save File
Delete File
Import File
Export File
Add Item
Edit Item
Remove Item
Sign Out
TxtNotes
OK
Cancel


{% extends 'projects/base.html' %} {% load static %} {% block content %}
Adjetey Anang (born 8 July 1974) is a Ghanaian actor, popularly known as "Pusher",
which was his screen name in the television series Things We Do for Love. He is married to Elorm Anang.[1] He has featured in many Ghanaian movies, including Deadly Voyage, A Sting in a Tale, The Perfect Picture and others. He has also featured in a Dutch movie titled Slavery.
Adjetey Anang studied at Labone High School and proceeded to the University of Ghana,
where he studied Fine Arts. He went further to study his masters in Dramatic Arts at Wits University in Johannesburg
Adjetey Anang has won himself a lot of fans from his role in Things We Do For Love. He has also won awards including An Arts Critique and Review Association of Ghana (ACRAG) Talent Award and A Ghana Union of Theatre Societies (GUTS) Best Actor Award


trello
Businessmodel of Trello
Customer Segments
Trello has a mass market business model, with no significant differentiation between customers. The product is marketed at anyone who wants to manage projects individually or with teams. It has a wide range of potential personal and work uses, including software project management, real estate management, law office case management, school bulletin board planning, and lesson planning.
Value Proposition
Trello offers five primary value propositions: price, accessibility, convenience, risk reduction, and brand/status.
The company’s product offers a free version. Users can create as many cards, boards, and teams as they like, and also add as many people as they desire at no extra cost. That said, there are paid options offering more advanced features.
The company creates accessibility by offering apps for the iPad, iPhone, Android phones, and Kindle Fire tablets. It also works with most mobile browsers, including Internet Explorer, Safari on iOS8, and Android 4.0+.
The company’s product offers convenience through its drag-and-drop interface. The feature enables users to easily move people over to cards and designate tasks. It also provides notifications and works in real-time so that changes that a user makes are seen right away by other team members.
The company’s product reduces risk through its security features. Users have total control over who can see their boards. Also, all data is transmitted through an SSL/HTTPS connection, the same encryption technology utilized by financial institutions such as banks. Trello also maintains off-site, encrypted backups of all data just in case it is somehow lost.
The company has established a strong brand due to its popularity. The product has over 12 million registered users, with one million of them being monthly active users. Further, it has a number of major clients, including Google, PayPal, Pixar, Adobe, Kickstarter, The Verge, Icon, and FreshDirect.
Channels
Trello’s main channel is its website, through which customers can easily sign up for its Free or Business Class plans. The company’s direct sales team focuses on acquiring large organizations as customers. Trello also promotes its product through its website and social media pages.
Customer Relationships
Trello’s customer relationship is primarily of a self-service, automated nature. Customers utilize the service through the main platform while having limited interaction with employees. The company’s website offers a few self-help resources, namely articles addressing common questions, API documentation, and a newsletter for developers.
Key Activities
Trello’s business model entails maintaining and updating its software platform for its more than 12 million users. The platform includes its website and mobile apps.
Key Partners
Trello works with various partner companies to offer “Power-Ups”, third-party tools that can be integrated into its app to make it more powerful. Specific partners include Giphy, SurveyMonkey, Zendesk, Harvest, Join.me, Corello, Publicate, Elegantt, and FogBugz.
Key Resources
Trello’s main resource is its proprietary software platform, which serves 12 million users. It also depends on its human resources in the form of technology and sales staff. Lastly, as a relatively new start-up it has relied heavily on funding from outsiders, raising $10.3 million from three investors as of July 2014.
Cost Structure
Trello has a cost-driven structure, aiming to minimize expenses through significant automation and low-price value propositions. Its biggest cost drivers are likely in the areas of administration and sales.
Revenue Streams
Trello has one revenue stream: the subscription fees it charges for access to advanced versions of its solution. Its pricing tiers are as follows:
- Business Class – Offers team overviews, app integrations, and more security; price is $8.33 per user per month, and the company only charges for active users (when team members become inactive, it automatically credits the team leader’s account)
- Enterprise – Has same offerings as Business Class but is targeted at large organizations managing multiple teams across the solution; price is $20.83 per user per month


Help
General
Directory View
Log View
|
ViewVC Help: Log View
The log view displays the revision history of the selected source
file or directory. For each revision the following information is
displayed:
- The revision number. In Subversion repositories, this is a
link to the revision
view
- For files, links to
view,
download, and
annotate the
revision. For directories, a link to
list directory contents
- A link to select the revision for diffs (see below)
- The date and age of the change
- The author of the modification
- The CVS branch (usually MAIN, if not on a branch)
- Possibly a list of CVS tags bound to the revision (if any)
- The size of the change measured in added and removed lines of
code. (CVS only)
- The size of the file in bytes at the time of the revision
(Subversion only)
- Links to view diffs to the previous revision or possibly to
an arbitrary selected revision (if any, see above)
- If the revision is the result of a copy, the path and revision
copied from
- If the revision precedes a copy or rename, the path at the
time of the revision
- And last but not least, the commit log message which should tell
about the reason for the change.
At the bottom of the page you will find a form which allows
to request diffs between arbitrary revisions.
|


This is a multi-page boilerplate template that you can copy to build your first Tizen Web UI Framework page.
This template contains multiple "page" containers inside.
You link to internal pages by referring to the ID of the page you want to show.
For example, to
link to the page with an ID of "two", my link would have a
href="page2.html" in the code.
Show internal pages:
Show page "two"
Battery


CURLOPT_ERRORBUFFER explained
NAME
CURLOPT_ERRORBUFFER - set error buffer for error messages
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf);
DESCRIPTION
Pass a char * to a buffer that libcurl may store human readable error messages on failures or problems. This may be more helpful than just the return code from curl_easy_perform and related functions. The buffer must be at least CURL_ERROR_SIZE bytes big.
You must keep the associated buffer available until libcurl no longer needs it. Failing to do so will cause very odd behavior or even crashes. libcurl will need it until you call curl_easy_cleanup or you set the same option again to use a different pointer.
Do not rely on the contents of the buffer unless an error code was returned. Since 7.60.0 libcurl will initialize the contents of the error buffer to an empty string before performing the transfer. For earlier versions if an error code was returned but there was no error detail then the buffer is untouched.
Consider CURLOPT_VERBOSE and CURLOPT_DEBUGFUNCTION to better debug and trace why errors happen.
DEFAULT
PROTOCOLS
EXAMPLE
curl = curl_easy_init(); if(curl) { CURLcode res; char errbuf[CURL_ERROR_SIZE]; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* provide a buffer to store errors in */ curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf); /* set the error buffer as empty before performing a request */ errbuf[0] = 0; /* perform the request */ res = curl_easy_perform(curl); /* if the request did not complete correctly, show the error information. if no detailed error information was written to errbuf show the more generic information from curl_easy_strerror instead. */ if(res != CURLE_OK) { size_t len = strlen(errbuf); fprintf(stderr, "\nlibcurl: (%d) ", res); if(len) fprintf(stderr, "%s%s", errbuf, ((errbuf[len - 1] != '\n') ? "\n" : "")); else fprintf(stderr, "%s\n", curl_easy_strerror(res)); } }
AVAILABILITY
RETURN VALUE
Returns CURLE_OK
SEE ALSO
CURLOPT_DEBUGFUNCTION, CURLOPT_VERBOSE, curl_easy_strerror, curl_multi_strerror, curl_share_strerror
This HTML page was made with roffit.


This plugin allows you to use a user-written custom script to authenticate the username and password. This is useful if you need to plug into a custom authentication scheme, but don't want to write your own plugin.
Plugin Information |
|---|
View Security Realm by custom script on the plugin site for more information. |
- script to authenticate the user.
Each time the authentication is attemped (which is once per session), the specified script will be invoked with the username in the 'U' environment variable and the password in the 'P' environment variable. If the script returns exit code 0, the authentication is considered successful, and otherwise failure.
simple authentication script
#!/bin/sh if [ "$U" == "domi" ] && [ "$P" == "imod" ]; then exit 0 fi exit 1
- a second script to resolve the groups for a user loging in.
The specified script will be invoked with the username in the 'U' environment variable.
If the script returns exit code 0, the output will be tokenized by the delimiter (default: ',') to create a groups with each token.
simple group command script
#!/bin/sh if [ "$U" == "domi" ]; then echo "admin,superuser" fi
Help and Support
For Help and support please use the Jenkins Users mailing list.
The comment list below is not monitored.
Changelog
Version 1.5 (June 24, 2012)
- fix issue while resolving groups through the UI
Version 1.4 (Jul 29, 2011)
- define 'SystemRoot' variable on Windows to prevent SocketException
Version 1.3 (Jan 16, 2011)
- fix JENKINS-8172
Version 1.2 (Nov 7, 2010)
- adding support for groups
Version 1.0 (Nov 5, 2009)
- Initial release


| Suggestion | Messages |
|---|---|
| Warning | ../../src/HAAP/Graphics/Gloss/Capture.hs:SrcLoc "../../src/HAAP/Graphics/Gloss/Capture.hs" 107 1:type signature for saveFrameImpl has 6 arguments should be less than 5 |
| Warning | ../../src/HAAP/Graphics/Gloss/Capture.hs:SrcLoc "../../src/HAAP/Graphics/Gloss/Capture.hs" 135 1:type signature for saveFrames has 7 arguments should be less than 5 |


Logout
Home
Contact Us
MY PROFILE
Home
Edit Profile
DETAILS
Name
Photograph
Adhaar Card Photograph
More Information
Contact Number
Email Id
Address
City
College Name
Branch
Passing Year
Submit


The Hunchback of Notre Dame
by Victor Hugo
Book Eighth, Chapter 3
Additional Information
- Year Published: 1831
- Language: English
- Country of Origin: France
- Source: Hapsgood, I., trans. (1831). The Hunchback of Notre Dame. New York: Carey, Lea, and Blanchard.
-
Readability:
- Flesch–Kincaid Level: 12.0
- Word Count: 1,111
- Genre: Romance
- Keywords: culture, fate, love, loyalty
- ✎ Cite This
Downloads
When she re–entered the audience hall, pale and limping, she was received with a general murmur of pleasure. On the part of the audience there was the feeling of impatience gratified which one experiences at the theatre at the end of the last entr'acte of the comedy, when the curtain rises and the conclusion is about to begin. On the part of the judges, it was the hope of getting their suppers sooner.
The little goat also bleated with joy. He tried to run towards his mistress, but they had tied him to the bench.
Night was fully set in. The candles, whose number had not been increased, cast so little light, that the walls of the hall could not be seen. The shadows there enveloped all objects in a sort of mist. A few apathetic faces of judges alone could be dimly discerned. Opposite them, at the extremity of the long hail, they could see a vaguely white point standing out against the sombre background. This was the accused.
She had dragged herself to her place. When Charmolue had installed himself in a magisterial manner in his own, he seated himself, then rose and said, without exhibiting too much self–complacency at his success,—"The accused has confessed all."
"Bohemian girl," the president continued, "have you avowed all your deeds of magic, prostitution, and assassination on Phoebus de Châteaupers."
Her heart contracted. She was heard to sob amid the darkness.

"Monsieur, procurator of the king in the ecclesiastical courts," said the president, "the chamber is ready to hear you in your charge."
Master Charmolue exhibited an alarming note book, and began to read, with many gestures and the exaggerated accentuation of the pleader, an oration in Latin, wherein all the proofs of the suit were piled up in Ciceronian periphrases, flanked with quotations from Plautus, his favorite comic author. We regret that we are not able to offer to our readers this remarkable piece. The orator pronounced it with marvellous action. Before he had finished the exordium, the perspiration was starting from his brow, and his eyes from his bead.
All at once, in the middle of a fine period, he interrupted himself, and his glance, ordinarily so gentle and even stupid, became menacing.
"Gentlemen," he exclaimed (this time in French, for it was not in his copy book), "Satan is so mixed up in this affair, that here he is present at our debates, and making sport of their majesty. Behold!"
So saying, he pointed to the little goat, who, on seeing Charmolue gesticulating, had, in point of fact, thought it appropriate to do the same, and had seated himself on his haunches, reproducing to the best of his ability, with his forepaws and his bearded head the pathetic pantomine of the king's procurator in the ecclesiastical court. This was, if the reader remembers, one of his prettiest accomplishments. This incident, this last proof, produced a great effect. The goat's hoofs were tied, and the king's procurator resumed the thread of his eloquence.
It was very long, but the peroration was admirable. Here is the concluding phrase; let the reader add the hoarse voice and the breathless gestures of Master Charmolue,
"~Ideo, domni, coram stryga demonstrata, crimine patente, intentione criminis existente, in nornine sanctoe ecclesioe Nostroe– Domince Parisiensis quoe est in saisina habendi omnimodam altam et bassam justitiam in illa hac intemerata Civitatis insula, tenore proesentium declaremus nos requirere, primo, aliquamdam pecuniariam indemnitatem; secundo, amendationem honorabilem ante portalium maximum Nostroe–Dominoe, ecclesioe cathedralis; tertio, sententiani in virtute cujus ista styrga cum sua capella, seu in trivio vulgariter dicto~ la Gr ve, ~seu in insula exeunte in fluvio Secanoe, juxta pointam juardini regalis, executatoe sint~!"*
* The substance of this exordium is contained in the president's sentence.
He put on his cap again and seated himself.
"Eheu!" sighed the broken–hearted Gringoire, "~bassa latinitas~—bastard latin!"
Another man in a black gown rose near the accused; he was her lawyer.—The judges, who were fasting, began to grumble.
"Advocate, be brief," said the president.
"Monsieur the President," replied the advocate, "since the defendant has confessed the crime, I have only one word to say to these gentlemen. Here is a text from the Salic law; 'If a witch hath eaten a man, and if she be convicted of it, she shall pay a fine of eight thousand deniers, which amount to two hundred sous of gold.' May it please the chamber to condemn my client to the fine?"
"An abrogated text," said the advocate extraordinary of the king.
"Nego, I deny it," replied the advocate.
"Put it to the vote!" said one of the councillors; "the crime is manifest, and it is late."
They proceeded to take a vote without leaving the room. The judges signified their assent without giving their reasons, they were in a hurry. Their capped heads were seen uncovering one after the other, in the gloom, at the lugubrious question addressed to them by the president in a low voice. The poor accused had the appearance of looking at them, but her troubled eye no longer saw.
Then the clerk began to write; then he handed a long parch– ment to the president.
Then the unhappy girl heard the people moving, the pikes clashing, and a freezing voice saying to her,—"Bohemian wench, on the day when it shall seem good to our lord the king, at the hour of noon, you will be taken in a tumbrel, in your shift, with bare feet, and a rope about your neck, before the grand portal of Notre–Dame, and you will there make an apology with a wax torch of the weight of two pounds in your hand, and thence you will be conducted to the Place de Gr ve, where you will be hanged and strangled on the town gibbet; and likewise your goat; and you will pay to the official three lions of gold, in reparation of the crimes by you committed and by you confessed, of sorcery and magic, debauchery and murder, upon the person of the Sieur Phoebus de Châteaupers. May God have mercy on your soul!"
"Oh! 'tis a dream!" she murmured; and she felt rough hands bearing her away.


"This application allows you to build your savings regardless of where you hold them.
This program works locally on your computer, and stores all the data on your disk , NOT in the cloud.
It's open-source so it can be audited and approved by the community. There are no back doors to your data.
Well designed for the rapid development and longtime maintenance.
This software is free to use, but if you want to buy a cup of coffee for the developer this app could be better.


Army assistant coach Mike Viti wins Armed Forces Merit Award
WEST POINT, N.Y. (AP) - Army assistant football coach Mike Viti is the winner of the Armed Forces Merit Award.
The award began in 2012 to honor an individual or group in football. Viti was selected on Veterans Day by a seven-person committee made up of Football Writers Association of America members and Armed Forces Bowl officials.
Viti is in his fourth season as an assistant at his alma mater. He co-founded and directs the nonprofit Legacies Alive, whose goal is to support Gold Star families, those families that have lost a member in military service.
A fullback primarily used as a blocker, Viti played for Army from 2004-07 and was a team captain. He served in combat in Afghanistan and earned a bronze star.
After retiring from the military as a captain, Viti made a 4,400-mile (7,100 kilometers) cross-country trek in 2014 dubbed Mike’s Hike for Heroes . He walked 1 kilometer for every service member killed in action during the global war on terror, finishing at the Army-Navy game in Baltimore.
More AP college football: https://apnews.com/Collegefootball and http://www.twitter.com/AP_Top25
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


AMAZING PEOPLE ARE MAKING AMAZING DESIGNS IN A FUN ENVIRONMENT
When you work with us, you are part of a team of committed
collaborators. All aspects of our software developments are
intergrated, interactive
and agile
Our approach unifies design, development and product management to create exceptional products
We start each project by understanding your business goals, the user's needs and project requirements.
Then we help translate them into effective and elegant solutions.
Before we sign a contract or write a line of code our team will spend the necessary time needed to understand your product vision.The outcome of this scoping session is proposal or high-element statement of work.Based on your requirements, we can provide a complete offering or just the pieces you need.
Design practice offers a full range of services
including brand strategy, interaction and visual design
and user experience testing.
Throughout your project, our designers create
and implement visual design and workflows, solicit user
feedback and work with you to make sure what gets built
is what is needed.
All engineers are fluent in the latest enterprise, mobile
and web development technologies.
They collaborate with your team to write, and improve
code on a daily basis, using proven practices such as
test-driven development and pair programming.
Planning and development is iterative. Because we
are constantly coding and testing, the products we build
are always ready to go live.
This iterative process allows for changes as business requirements evolve.


[1]
pause and rewind work but all were watchable.
[2]
HD not figured out other then unplugging the stream has made new Starz movies have been at one HUGE problem is different movies but all were watchable.


Middleware¶
-
class
dragonfly.middleware.middleware_controller.
MiddlewareController
¶ Bases:
object
Compiles all registered middleware and controls their execution.
-
__create_action_cache
(action)¶ Create a cache of middleware that are currently in use.
-
__register_middleware
()¶ Register the middleware that is defined in the config file.
-
run_after
(action, response)¶ Run all the after methods on middleware that are assigned to the given action.
-
run_before
(action)¶ Run all the before methods on middleware that are assigned to the given action
- Parameters
action – The action currently being executed.
-


31 Aug 2011
•
Reinventing the wheel
•
Ruby
•
Smalltalk
If you don't know JTalk yet, you're missing something.  Go check it out, now!
Now that you've played a bit with JTalk, let's get started.
If you're like me, you're a bit annoyed by WebDAV, the proposed solution to save changes to disk.
Let's hack something up to replace WebDAV!
Create a Rails application
[sourcecode language="bash"]
rails new jtalkonrails
cd jtalkonrails
bundle install
rm public/index.html
rails generate controller home index
printf "Jtalkonrails::Application.routes.draw do\n root :to => \"home#index\"\nend\n" > config/routes.rb
[/sourcecode]
(I should really make a script out of all my rails initialization commands, one of these days...)
Add Jtalk to your application
[sourcecode language="bash"]
cd public/
wget http://github.com/NicolasPetton/jtalk/tarball/master --no-check-certificate
tar zxvf master
cp -R NicolasPetton-jtalk-20cd63e/st .
cp -R NicolasPetton-jtalk-20cd63e/js .
cp -R NicolasPetton-jtalk-20cd63e/css .
cp -R NicolasPetton-jtalk-20cd63e/ide .
rm -rf NicolasPetton-jtalk-20cd63e
[/sourcecode]
JTalk stores source code in three forms: Smalltalk code, Javascript code and smaller Javascript code ("*.deploy.js").
Jtalk hello world: the Counter example
now, edit app/views/layouts/application.html.erb so that it looks like this:
[sourcecode language="html"]
<!DOCTYPE html>

<title>Jtalk On Rails</title>
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>

<button onclick="smalltalk.Browser._open()">Class browser</button>

<%= yield %>

[/sourcecode]
Here, we included a button to open the code browser, and added a Counter in a div. Oh, I forgot to tell you: Jtalk works seamlessly with JQuery :)
Now, go check it out, and you will seee the counter and be able to increase and decrease the value displayed (yes, that's a counter).
Editing the code
Click on the "Class browser" button to start the IDE. Select the "Examples" category, the "Counter" class, the "actions" method category, and the "increase method". You will see in the text box below the source code of the increase method:
[sourcecode language="smalltalk"]
increase
count := count + 1.
header contents: [:html | html with: count asString]
[/sourcecode]
Edit that method to increase by steps of 2 instead of 1, and hit "Save". Now, the counter on your page will increase by steps of 2.
Unfortunately, on the next page refresh, you will lose these changes. That's why the "Commit category" button is there.
It will take the updated files (here, Examples.st, Examples.js and Examples.deploy.js) and make a PUT request to their original URL.
A PUT, you said? Well, I can work something out with a PUT.
Saving the code
Let's create a new controller, called Uploader:
[sourcecode language="bash"]
rails generate controller uploader jtalk
[/sourcecode]
And edit config/routes.rb as follows:
[sourcecode language="ruby"]
Jtalkonrails::Application.routes.draw do
root :to => "home#index"
if Rails.env == 'development'
put 'st/:id' => 'uploader#jtalk'
put 'js/:id' => 'uploader#jtalk'
put 'js/:id.:deploy' => 'uploader#jtalk'
end
end
[/sourcecode]
Now the PUT requests are redirected to our controller, but only in the development environment. You do not want to make your JS editable from the browser in a production app. DO NOT WANT!
The only thing left is the controller itself:
[sourcecode language="ruby"]
class UploaderController < ApplicationController
def jtalk
path = Rails.root.join('public')
if(params[:format] == "js")
path = path.join("js")
elsif(params[:format] == "st")
path = path.join("st")
end
if(params[:deploy])
path = path.join(params[:id]+".deploy."+params[:format])
else
path = path.join(params[:id]+"."+params[:format])
end
File.open(path, "w") do |f|
f.write(request.body.read())
end
head 200
end
end
[/sourcecode]
Here, we build the file path from the parameters. I use request.body.read() to get the file content because Rails seems to truncate the beginning of the file.
Profit
Now, go back to the web page, click on "Commit category", and refresh the page. Your changes were saved! You can enjoy editing your frontend directly from the webpage itself, in the code browser, and more importantly, write your whole frontend in Smalltalk! It's still missing the workflow "edit-try-debug-edit-continue", but it already feels just like a "normal" Smalltalk environment. It feels like home :)
Post Scriptum
If you want to add a new category, it's easy: create a file Mycategory.js and put it in public/js, with this content:
[sourcecode language="javascript"]
smalltalk.addClass('Myclass', smalltalk.Object, [], 'Mycategory');
[/sourcecode]
and change your initialization from loadJtalk() to loadJtalk(new Array("Mycategory.js")). The new category will now appear in the code browser, and clicking on "Commit category" will create the deployment file and Smalltalk source file.
My Windows development environment is a bit complex. I work on multiple projects, at multiple versions, with different compiler environments, and with dependencies on different libraries and versions of these libraries.
Now, how do I specify where the compiler must search the libraries, and which version to use? Most of the time, I will add it directly in the project configuration. Easy at first, but quickly,I find myself writing by hand the path to each library (and header) in each project and each configuration of this project. And then, writing by hand the different names of the libraries (mylibrary.lib, mylibraryd.lib, mylibrary-static.lib, mylibrary-MTD.lib, etc).
And when I want to update to a new version of the library? If I'm lucky, I just have to change the library and header paths (in every project using the library). If not, I also have to change the name, because of the library developer's convention.
The first solution to these problems was to use a batch file to launch Visual Studio and MSYS, and set some environment variables in this file. I quickly ended up with one big file containing two environment variables (include path and lib path) per library, possibly more if there were some big changes in the library names. My Visual Studio configuration was cluttered with $(MYLIBRARY_LIBPATH), $(MYLIBRARY_INCLUDEPATH), $(MYLIBRARY_NAME). It is unreadable, and again, impossible to maintain.
My solution comes from the Unix world, where you have a correct organization for your development files:
- one folder containing the subfolders include, bin and lib
- library names including version, and a symlink (without the version number) to the latest version of the lib
Can I do that on Windows? YES \o/
Here is the trick: normal links on Windows won't work, but the mklink tool can create symlinks. And Visual Studio will recognize those as files and folders while looking for libraries.
Now, how would I organize my development environment? I chose to use (and abuse) symlinks, to create include, lib and bin folders for each project and configuration, and use generic names for the libraries.
- I create a folder containing include, lib and bin
- in the include/ folder, I put symlinks to the header file or the subfolder for each library I will use in that project
- in the lib directory, I create symlinks to the library version I want, one symlink per static/dynamic, MT/MD, Debug/Release version. But I could create one lib folder per static/dynamic, etc. A bit complex, but feasible (most of the time, I use only debug and release version, so it's still manageable).
With this setup, I only set the INCLUDE and LIB environment variables, and I use directly the library names I need.
Here is an example script I use to create different library folders for x86 and x64 libs:
[sourcecode language="text"]
echo "Building include and library directories for Windows %PLATFORM%"
@mkdir %PLATFORM%
@mkdir %PLATFORM%\include
@mkdir %PLATFORM%\lib
@mklink /D %PLATFORM%\include\boost %BOOST%\boost
@for %%i in (%BOOST%\lib\*.lib) do (mklink %PLATFORM%\lib\%%~ni.lib %%~fi)
@mklink /D %PLATFORM%\include\cpptest %CPPTEST%\include\cpptest
@for %%i in (%CPPTEST%\lib\*.lib) do (mklink %PLATFORM%\lib\%%~ni.lib %%~fi)
[/sourcecode]
I set up the BOOST and CPPTEST environment variables in another file. Then, I launch Visual Studio from another script which includes it.
There may be better ways, and that system will evolve in the future, but I'm pretty comfortable with it right now :)
Depending on my needs, I may grab from the bottom of my disk the package manager I wrote back in school, and make a big solution to download, build and link libs and personal projects. But later, I have some procrastination planned right now.
In the previous post, I showed how you could build a provider with oauth-plugin and Rails. Now, I will demonstrate how to build a consumer (it's a lot easier).
I will assume that your provider is already running on localhost:3000. The consumer will run on localhost:4000 (run it with "rails server -p 4000").
Here we go!
[sourcecode language="bash"]
rails new consumer
cd consumer
[/sourcecode]
Put this in your Gemfile:
[sourcecode language="ruby"]
source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'sqlite3'
gem 'devise'
gem "oauth-plugin", ">= 0.4.0.pre1"
[/sourcecode]
And run these commands:
[sourcecode language="bash"]
bundle install
rails generate devise:install
rails generate devise User
rake db:migrate
rails generate controller welcome index
rm public/index.html
[/sourcecode]
And here is your routes.rb:
[sourcecode language="ruby"]
Provider::Application.routes.draw do
devise_for :users
root :to => "welcome#index"
end
[/sourcecode]
Create the consumer
[sourcecode language="bash"]
rails generate oauth_consumer user
rake db:migrate
[/sourcecode]
in app/controllers/oauth_consumers_controller.rb, replace:
[sourcecode language="ruby"]
before_filter :login_required, :only=>:index
[/sourcecode]
by
[sourcecode language="ruby"]
before_filter :authenticate_user!, :only=>:index
[/sourcecode]
Uncomment the methods for devise (go_back, logged_in? currentuser=, deny_access!) in app/controllers/oauth_consumers_controller.rb.
Add to app/models/user.rb:
[sourcecode language="ruby"]
has_one :test, :class_name=>"TestToken", :dependent=>:destroy
[/sourcecode]
Now go to http://localhost:3000/oauth_clients/ to register your first application with these parameters:
Name: Test consumer
Main Application URL: http://localhost:4000/
Callback URL: http://localhost:4000/oauth_consumers/test/callback
You're redirected to http://localhost:3000/oauth_clients/1. It shows:
Consumer Key: CRcIJ15MwSqlDTxsH8MpO3En4wjaOxkqeofLioH4
Consumer Secret: C7uci8xkyMShCf4SNXWPclKbBo3ml1Zf2W2XWu4W
Request Token URL: http://localhost:3000/oauth/request_token
Access Token URL: http://localhost:3000/oauth/access_token
Authorize URL: http://localhost:3000/oauth/authorize
Now, you need to put the key and secret in config/initializers/oauth_consumers.rb:
[sourcecode language="ruby"]
OAUTH_CREDENTIALS={
:test =>{
:key => "CRcIJ15MwSqlDTxsH8MpO3En4wjaOxkqeofLioH4",
:secret => "C7uci8xkyMShCf4SNXWPclKbBo3ml1Zf2W2XWu4W",
:expose => true
}
}
[/sourcecode]
Create app/models/test_token.rb. This model will store the token for your provider. If you want to provide helpful methods, take inspiration from lib/oauth/models/consumers/services/.
[sourcecode language="ruby"]
class TestToken < ConsumerToken
TEST_SETTINGS={
:site => "http://localhost:3000",
:request_token_path => "/oauth/request_token",
:access_token_path => "/oauth/access_token",
:authorize_path => "/oauth/authorize"
}
def self.consumer(options={})
@consumer ||= OAuth::Consumer.new(credentials[:key], credentials[:secret], TEST_SETTINGS.merge(options))
end
end
[/sourcecode]
You should now be able to use the URLs "/oauth_consumers/test/client/", "/oauth_consumers/test/callback", "/oauth_consumers/test/callback2"," /oauth_consumers/test/edit",
and "/oauth_consumers/test".
Modify the welcome controller t get the provider data:
[sourcecode language="ruby"]
class WelcomeController < ApplicationController
def index
# cf http://oauth.rubyforge.org/rdoc/classes/OAuth/AccessToken.html
@consumer_tokens=TestToken.all :conditions=>{:user_id=>current_user.id}
@token = @consumer_tokens.first.client
logger.info "private data: "+@token.get("/data/index").body
end
end
[/sourcecode]
To connect a user to an external service link or redirect them to:
/oauth_consumers/[SERVICE_NAME]
Where SERVICE_NAME is the name you set in the OAUTH_CREDENTIALS hash. This will request the request token and redirect the user to the services authorization screen. When the user accepts the get redirected back to:
/oauth_consumers/[SERVICE_NAME]/callback
That's it
This tutorial is really short, and could be explained a bit more, but I'll leave that for another post. You have enough to start tinkering with OAuth. Have fun!
These days, I have been playing a lot with Oauth and its RoR implementation, oauth-plugin. Its documentation is a bit short, so here is a tutorial to show how to use it, both in provider and consumer mode. And we will even make them communicate with each other.
We will now build an Oauth provider using oauth-plugin for authorization and Devise for authentication. And we will add a controller protected by Oauth.
Starting up
A few instructions to create the application. You won't need an explanation for this:
[sourcecode language="bash"]
rails new provider
cd provider
[/sourcecode]
Put this in your Gemfile:
[sourcecode language="ruby"]
source 'http://rubygems.org'
gem 'rails', '3.0.7'
gem 'sqlite3'
gem 'devise'
gem "oauth-plugin", ">= 0.4.0.pre1"
[/sourcecode]
And a few more commands:
[sourcecode language="bash"]
bundle install
rails generate devise:install
rails generate devise User
rake db:migrate
rails generate controller welcome index
rm public/index.html
[/sourcecode]
And don't forget 'root :to => "welcome#index"' in config/routes.rb.
Create the provider
[sourcecode language="bash"]
rails generate oauth_provider oauth
rake db:migrate
[/sourcecode]
You could put something else than "oauth" as parameter, but for the moment, the generator has some bugs (it always generate the class OauthController, but with a different name). I'll check more recent versions of the code.
Now, modify config/application.rb and add:
[sourcecode language="ruby"]
require 'oauth/rack/oauth_filter'
config.middleware.use OAuth::Rack::OAuthFilter
[/sourcecode]
Put in app/models/user.rb:
[sourcecode language="ruby"]
has_many :client_applications
has_many :tokens, :class_name=>"OauthToken",:order=>"authorized_at desc",:include=>[:client_application]
[/sourcecode]
Put in app/controllers/oauth_controller.rb:
[sourcecode language="ruby"]
alias :logged_in? :user_signed_in?
alias :login_required :authenticate_user!
[/sourcecode]
and uncomment authenticate_user.
Put in app/controllers/oauth_clients_controller.rb:
[sourcecode language="ruby"]
alias :login_required :authenticate_user!
[/sourcecode]
And now some data
Create a new controller:
[sourcecode language="bash"]
rails generate controller data index
[/sourcecode]
And now, edit your controller:
[sourcecode language="ruby"]
class DataController < ApplicationController
before_filter :oauth_required
def index
@data = { "coincoin" => "o< o<" }
respond_to do |format|
format.json { render :json => @data }
end
end
end
[/sourcecode]
UPDATE
I discovered a few bugs in this tutorial, so here are the fixes.
oauth-plugin needs the function current_user=, so add this to your ApplicationController:
[sourcecode language="ruby"]
def current_user=(user)
current_user = user
end
[/sourcecode]
Next, to handle revocation, you need to add this to config/routes.rb:
[sourcecode language="ruby"]
post 'oauth/revoke'
[/sourcecode]
And at last, you need to fix the rack filter. The current code doesn't verify the token validity, and lets revoked tokens access your data.
You have to modify lib/oauth/rack/oauth_filter.rb in the oauth-plugin gem folder.
Replace the line 46:
[sourcecode language="ruby"]
oauth_token = client_application.tokens.first(:conditions=>{:token => request_proxy.token})
[/sourcecode]
by
[sourcecode language="ruby"]
oauth_token = ClientApplication.find_token(request_proxy.token)
[/sourcecode]
And that's it!
You now have a working provider. OauthController handles all the communication with the consumers. OauthClientsController manages the registration of new consumers. They both have customizable views: oauth for the authorization part (for users) and oauth clients for the consumers. And you just need the oauth_required filter to manage access to your data.
And now, you can go to /users/sign_up, then /users/sign_in, then /oauth_clients to register a new client application.
In the next post, we will build a consumer, and this consumer will access the provider's data.
Recently, I was asked to design a new authentication protocol for a web service. I know that I shouldn't do reinvent the wheel, so I immediatly proposed OAUTH. It turns out that it can't be used in this situation. Here are the constraints:
-calls to the webservice must be authenticated: I can keep the tokens and signature from OAUTH here. The problem is: how do I get that token?
-calls are made from devices or applications without access to a webbrowser (embedded devices, phones, etc.). The redirection dance of OAUTH is not acceptable here
-communications are done over an untrusted network, without SSL.
-I can't use application keys and secrets to encrypt and sign the authentication process: clients include open source software and smartphone applications. You can't hide a secret key in these.
-the protocol has to be simple to implement, on a lot of languages
-the server must not store the password in cleartext (I shouldn't have to precise this...), the client must not store the password
Summing it up: no preshared keys, no browser, no SSL, untrusted networks, no passwords stored, and an OAUTH-like environment once the client is authenticated (tokens, authorizations, revoking, etc)
Apparently, I should just give up. But I like to play, so I'll try!
First, I must say that I am not an expert in security nor cryptography. But I'm really enthusiastic about these subjects, and my day job is at a company providing strong authentication solutions (no, this protocol is not related to my day job). So, I know a bit about the subject, and I know that I should ask for reviews, hence this post.
Rough ideas
We need a safe communication over an untrusted network. TLS immediatly comes to mind, but the targeted applications might not have access to a TLS implementation. I'd like to use SRP, but I don't think I'm able to implement it correctly (and it has to be SIMPLE). Using Diffie-Hellman to establish a shared key is another idea, but it is not safe against MITM.
Here's my idea: we don't need to generate a shared secret, we already have it. It's the password!
But how can I use the password if the server doesn't store it in cleartext?
The trick: key derivation functions
Decveoplers are finally understanding that they should not use MD5 nor SHA1 to store their passwords, even with a salt, because computing power is so cheap these days that anyone could crack easily a lot of passwords.
It is now recommended to use other functrions tro store passwords. The key derivation functions are a class of functions that create a key from a password. Basically, they do it by interating a lot of times. That makes them very slow, which is an interesting property if you want to stpre passwords: it is too expensive to "crack" the password. PBKDF2, bcrypt and scrypt are well known key derivation functions. They're simple to use and available in a lot of languages.
With these functions, I can safely store the passwords, and generate a key shared with the client.
In short: if I store kdf(password, N) with N the number of iterations, I can send any M > N to the client and ask him to compute the key, without compromising what I store.
Designing the protocol
Now that we have a way to use a shared key, we can look at what will go over the wire to establish it. If I use directly kdf(pass, M), anybody getting access to the client storage will be able to obtain the key for any L > M. So, the key establishment has to use a nonce. That way, the client will only use the password once and forget it, and store the derivated key.
I would rather use a truly random key that has no relation with the password. It could be given to the client, encrypted with the derivated key. The derivated key could then be thrown away. But I still do not know if it is really necesary.
The server still needs to authenticate the client. The client will make a second call to the web service, signing it with HMAC and the key.
That's it! It is really simple, so if there are flaws I did not see, you will surely catch them.
TL; DR
The protocol is based on key derivation functions, like PBKDF or bcrypt.
- The server stores login and H = kdf(pass, N), with N integer
- The client wants to authenticate and makes a call to the server with the login as argument
- The server replies with M > N and i nonce
- The client calculates k1 = kdf(kdf(pass, M)+i, 1)
- The server calculates k2 = kdf(kdf(H, M-N)+i, 1)
- The client calls the server with args "user=login&sign=".HMAC("user=login", k2)
- If k1=k2. The signature matches and the client is authenticated.


---
layout: archive
title: Lean Prover Zulip Chat Archive
permalink: 113488general/24712Usingassocrw.html
---
The archive URL format has changed. Please find this page at:
https://leanprover-community.github.io/archive/stream/113488-general/topic/Using.20.60assoc_rw.60.html


Andrew McNab <Andrew.McNab AT cern.ch>
Vcycle is a VM factory system which implements the Vacuum Platform described in HSF-TN-2016-04, using a cloud service such as OpenStack to carry out its VM instantiation decisions.
By following this quick start recipe you can verify that your cloud service will work with Vcycle and see it creating and destroying virtual machines.
To follow the quick start, we assume you have access to an OpenStack service and a Scientific Linux 6 (or CentOS 6 or RHEL 6) machine to use as a VM factory on which to run Vcycle. This factory machine can itself be a VM, but don't choose a name which starts with "vcycle-" . You must be able to perform Nova VM management operations from the command line on this machine. This may require changes to the OpenStack and/or local firewall configuration. Make sure you can list VMs in the tenancy/project you plan to use, whether they are created with the Horizon web dashboard or from the command line too.
Then install the vcycle RPM. This installs a copy of this guide and some example files in /usr/share/doc/vcycle-VERSION and the vcycle.conf man page in the usual place.
Copy /usr/share/doc/vcycle-VERSION/example.vcycle.conf into /etc/vcycle.d the Vcycle configuration directory. You don't need to change the name, and it must end in ".conf" .
Make sure that root on the VM factory machine has an RSA ssh keypair. Run the command ssh-keygen if /root/.ssh/id_rsa does not exist already. This key pair will be authorized to ssh into the VMs which is very useful for debugging. You may need to copy the keypair to another machine if the factory is not allowed ssh access to the OpenStack VMs. If this is completely barred, then production use of Vcycle is still possible as this feature is just used for debugging.
Change the following values in the [space vcycle01.example.com] section of example.vcycle.conf:
The next options are for the the section [machinetype vcycle01.example.com example]
Now start vcycle with service vcycled start
You will see messages appear in /var/log/vcycled.log and you see a VM appear in your OpenStack tenancy once a message saying Vcycle has created a VM is logged. If you are able to ssh to VMs, then you should be able to ssh into the VM.
If everything is working, you can see from the log file how a CernVM image is fetched from https://repo.gridpp.ac.uk/vacproject/example/cernvm3.iso and uploaded to OpenStack, and a user_date template is fetched from https://repo.gridpp.ac.uk/vacproject/example/user_data and used to create the VM.
If you look in the subdirectories of /var/lib/vcycle/machines you will see files used to create the VM and record its state changes.
This part of the guide covers the same ground as the quick start guide but in a lot more detail. It's intended to help you choose how best to configure your site.
The configuration files /etc/vcycle.conf and /etc/vcycle.d/*conf use the Python ConfigParser syntax, which is similar to MS Windows INI files. The files are divided into sections, with each section name in square brackets. For example: [space vcycle01.example.com]. Each section contains a series of option=value pairs. Values can continue onto the next line by starting that line with some white space. Sections with the same name are merged and if options are duplicated, later values overwrite values given earlier. Any configuration file ending in .conf in the directory /etc/vcycle.d is read. These files are read in alphanumeric order, and then /etc/vcycle.conf is read if present.
Based on this ordering in /etc/vcycle.d/, options from space.conf would override any given in site.conf, but themselves be overwritten by options from vm.conf .
You may find it convenient to use multiple configuration files if you have a complicated setup. For instance: space01.conf, space01-machinetype01.conf, space01-machinetype02.conf, space02.conf, space02-machinetype01.conf each containing one [space ...] or [machinetype ... ...] section.
Vcycle uses an Apache httpd running on the VM factory to publish Machine/Job Features values according to HSF-TN-2016-02 and to receive $JOBOUTPUTS files according to HSF-TN-2016-04 which is essential for VMs using the heartbeat and shutdown_message mechanisms.
You can meet this requirement by installing the standard httpd RPM from SL6 (or CentOS 6 or RHEL 6) and copying two files from /usr/share/doc/vcycle-VERSION:
If this port access is not possible, then you should replace 443 in both configuration files with a suitable value, and set the https_port option in the [space ...] sections. This will cause the $MACHINEFEATURES, $JOBFEATURES, and $JOBOUTPUTS URLs to include this port number. See the vcycle.conf man page for more details.
Any ISO or HDD image which is compatible with your OpenStack service shoudl also work with Vcycle. However, Vcycle works best with images which look for a user_data contextualization file, and CernVM boot images are particularly convenient due to their very small size.
If you need to download an image, they can be found on the CernVM downloads page.
However, most experiments will supply you with their own URL from which Vcycle can automatically fetch their current designated image version using the user_data option of the [machinetype ... ...] section, which Vcycle caches in /var/lib/vcycle/imagecache .
RPM is the recommended installation procedure, and RPMs are available from the Vcycle downloads area.
It is also possible to install Vcycle from a tar file, using the install Makefile target.
Each [space ...] section must include a space name, which is also used as the virtual CE name. The section name is of the format [space vcycle01.example.com] .
The space must have a value for the option api which defines how to talk to the service (such as api = openstack), and then other API specific options. For OpenStack, these are url, tenancy_name, username, and password_base64.
See the vcycle.conf man page for more details.
Vcycle is designed to work within the WLCG/EGI grid model of sites composed of one or more CEs. Each Vcycle space name corresponds to one CE within a site, and can co-exist with conventional CREAM or ARC CEs. If you are at a site registered in the GOCDB, you should add your space name(s) to your site in GOCDB as services. There is a registered service type (uk.ac.gridpp.vcycle) for Vcycle spaces.
Problems encountered during the operation of Vcycle in production may appear as tickets in GGUS. The Vac/Vcycle Support Unit appears under "Second Level - Software" on the GGUS "Assign ticket to support unit" menu.
Vcycle writes APEL accounting records as described below. The GOCDB site name given by gocdb_sitename in the [space ...] section is included in these records. To avoid the risk of polluting the central APEL database with incorrect site names, please use your real GOCDB sitename for this option.
One [machinetype ... ...] section must exist for each machinetype in the system, with the name of the space and machinetype given in the section name, such as [machinetype vcycle01.example.com example] . A machinetype name must only consist of lowercase letters, numbers, and hyphens. The vcycle.conf man page lists the options that can be given for each machinetype.
The target_share option for the machinetype gives the desired share of the total VMs available in this space for that machinetype. The shares do not need to add up to 1.0, and if a share is not given for a machinetype, then it is set to 0. The creation of new VMs can be completely disabled by setting all shares to 0. Vcycle consults these shares when deciding which machinetype to start as VM slots become available.
For ease of management, the target_shares options can be grouped together in a separate file in /etc/vcycle.d apart from the main [machinetype ... ...] sections, which is convenient if shares are generated automatically or frequently edited by hand. For example:
[machinetype vcycle01.example.com example1] target_share = 5.0 [machinetype vcycle01.example.com example2] target_share = 6.0 [machinetype vcycle01.example.com example3] target_share = 7.0
The experiment or VO responsible for each machinetype should supply step by step intructions on how to set up the rest of the [machinetype ... ...] section and how to create any hostcert.pem and hostkey.pem pair to give to the VM.
The Vcycle daemon, vcycled, is started and stopped by /etc/rc.d/init.d/vcycled on conjunction with the usual service and chkconfig commands. As the configuration files are reread at the start of each cycle (by default, one per minute) it is not necessary to restart vacd after changing the configuration.
Furthermore, as vcycled rereads the current state of the VMs from status files and the cloud service at the start of each cycle, vcycled can be restarted without disrupting running VMs or losing information about their state. In most cases it will even be possible to upgrade vcycled from one patch level to another within the same minor release without having to drain the site of running VMs. If problems arise during upgrades, the most likely outcome is that Vcycle will fail to create new VMs until the configuration is fixed, but the existing VMs will continue to run. ("We want Vcycle failures to look like planned draining.")
When Vcycle detects that a VM has run for at least fizzle_seconds and now finished, it writes a copy of the APEL accounting message to subdirectories of /var/lib/vcycle/apel-archive . If you have set gocdb_sitename in [space ...], then the file is also written to /var/lib/vcycle/apel-outgoing .
Vcycle uses the UUID of the VM as the local job ID, the VM factory hostname as the local user ID, and the machinetype name as the batch queue name. A unique user DN is constructed from the components of the Vcycle space name. For example, vac01.example.com becomes /DC=com/DC=example/DC=vac01 . If the accounting_fqan option is present in the [machinetype ... ...] section, then for VMs of that type the value of that option is included as the user FQAN, which indicates the VO associated with the VM. The GOCDB sitename field is either the value you gave explicitly or the Vcycle space name as a placeholder.
These accounting messages are designed to be published to the central APEL service using the standard APEL ssmsend command, which can be run on each factory machine from cron. Please see the APEL SSM client documentation for details. To submit records you should agree use of APEL with the APEL team, have your certificate authorized, set up the correct APEL entries in GOCDB, and do any requested tests.
For each machinetype you can set values of fizzle_seconds and backoff_seconds to make the most efficient use of your resources when deciding to start VMs.
You may be able to optimize the value of fizzle_seconds by looking for VMs which fail to find work and seeing how long they ran for. However, for most VM architectures and VM factories a value of 600 seconds will work perfectly well and you do not need to spend a lot of effort arriving at an ideal number.
The value of backoff_seconds is a matter for your site policy about how quickly to recover from periods when each experiment has no work available. If you know a particular experiment usually has plenty of work, then you could set a low value of 600 seconds, so that Vcycle will try creating one VM every 10 minutes or so to see if work is available again after a short idle period. Alternatively, if you know that an experiment usually has no work for you, then you could set much larger values of many hours between creating VMs. In either case, once Vcycle identifies that VMs for the experiment are indeed passing fizzle_seconds and finding work to do, then the backoff_seconds option is ignored and VMs are created as VM slots become free in line with the machinetype's target_share.


About the Assignment
Create a webpage after watching the history channel videos of the Internet History.
The assignment must include 20 commits and 9 branches. Commits are to be labeled Bug, Feature, and Task. (Examples: Feature – a new page, Bug – fixed header, Task – created gitignore).
Each page needs to have a picture from a legal online source. 1-2 pages of text double spaced are required per page for each of the videos.
At least 1 picture per page from a legal online source.
Each partner needs to submit a word document and a link to the website.
The videos to watch are as follows:
- History Channel: Invention of Internet
- True Story of Internet: Browser Wars
- True Story of Internet: Internet Search
- True Story of Internet: Dot Com Bubble
- True Story of Internet: People Power


Drive.ai is a Silicon Valley startup founded by former lab mates out of Stanford University’s Artificial Intelligence Lab. We are creating AI software for autonomous vehicles using deep learning, which we believe is the key to the future of transportation. We founded Drive.ai because we believe that this technology has the potential to save lives and transform industries, and we think this is the right team to do it.


The look of an HTML form can be greatly improved with CSS:
Use the width
property to determine the width of the input field:
input {
width: 100%;
}
The example above applies to all <input> elements. If you only want to style a specific input type, you can use attribute selectors:
input[type=text]
- will only select text fieldsinput[type=password]
- will only select password fieldsinput[type=number]
- will only select number fields
Use the padding
property to add space inside the text field.
Tip: When you have many inputs after each other, you might also want to add some margin
, to add more space outside of them:
input[type=text] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
box-sizing: border-box;
}
Note that we have set the box-sizing property to border-box . This makes sure that the padding and eventually borders are included in the total width and height of the elements. |
Use the border
property to change the border size and color, and use the border-radius
property to add rounded corners:
input[type=text] {
border: 2px solid red;
border-radius: 4px;
}
If you only want a bottom border, use the border-bottom
property:
input[type=text] {
border: none;
border-bottom: 2px solid red;
}
Use the background-color
property to add a background color to the input, and the color
property to change the text color:
input[type=text] {
background-color: #3CBC8D;
color: white;
}
By default, some browsers will add a blue outline around the input when it gets focus (clicked on). You can remove this behavior by adding outline: none;
to the input.
Use the :focus
selector to do something with the input field when it gets focus:
input[type=text]:focus {
background-color: lightblue;
}
input[type=text]:focus {
border: 3px solid #555;
}
If you want an icon inside the input, use the background-image
property and position it with the background-position
property. Also notice that we add a large left padding to reserve the space of the icon:
input[type=text] {
background-color: white;
background-image: url('searchicon.png');
background-position: 10px 10px;
background-repeat: no-repeat;
padding-left: 40px;
}
In this example we use the CSS3 transition
property to animate the width of the search input when it gets focus. You will learn more about the transition
property later, in our CSS3 Transitions chapter.
input[type=text] {
-webkit-transition: width 0.4s ease-in-out;
transition: width 0.4s ease-in-out;
}
input[type=text]:focus {
width: 100%;
}
Tip: Use the resize
property to prevent textareas from being resized (disable the "grabber" in the bottom right corner):
textarea {
width: 100%;
height: 150px;
padding: 12px 20px;
box-sizing: border-box;
border: 2px solid #ccc;
border-radius: 4px;
background-color: #f8f8f8;
resize: none;
}
select {
width: 100%;
padding: 16px 20px;
border: none;
border-radius: 4px;
background-color: #f1f1f1;
}
input[type=button], input[type=submit], input[type=reset] {
background-color: #4CAF50;
border: none;
color: white;
padding: 16px 32px;
text-decoration: none;
margin: 4px 2px;
cursor: pointer;
}
/* Tip: use width: 100% for full-width buttons */


--- title: The data on white anxiety over Hispanic immigration date: 2014-08-14 19:30:00 Z tags: - immigration - links - media - polling - visualization layout: post type: post status: publish meta: tumblr_landlaborcapital_id: '94786008237' tumblr_landlaborcapital_permalink: http://landlaborcapital.tumblr.com/post/94786008237/the-data-on-white-anxiety-over-hispanic-immigration author: Nathaniel ---
The data on white anxiety over Hispanic immigration
(Via my pal, UMass Prof. Arin Dube)
A fantastic piece on racial anxiety and views on race. A nice little combination of academic research and polling insights.


This plugin extends the functionality of
Conventional Commit
to provide commit types and scopes
via Commitlint rules.
The only requisite is to have a .commitlintrc.json
file in the project's root
directory.
The considered rules are type-enum and scope-enum.
Read additional details at GitHub.


Studied core classes and took a very basic computer applications class.
While at Sam's Club, I took on quite a few roles. I mainly worked as a Cart Attendee and a Rotisserie Associate. As a Cart Attendee I had to help load member's vehicles which I learned to work quick and efficient, as well as gather carts from the lot. As a Rotisserie Associate I helped members locate items in the store which helped me learn to have better communication skills, neatly stock meat and deli items, unload trucks, and cook rotisserie chicken.
● JavaScript fundamentals leveraging readable code, modular, DRY and reusable components
● Built browser-based single page applications using React, Javascript, HTML, and CSS
- Created a Daily Journal to practice above skills
● Task Automation with Grunt: Linting with ESLint, module bundling with Browserify
- Created several projects to practice the use of Grunt and Browserify including Daily Journals
● Source code version control with Git/GitHub
- Several group projects have helped solidify this
● Styled applications with CSS Frameworks, Bootstrap/Reactstrap, and wrote some custom styling
- Most projects have used a little CSS in them regarding editting the background color to formatting the page.
● Integration of APIs
- Several tasks in class have allowed me to practice gathering information from APIs as well as adding and editing data.
● Creation of APIs
● C# MVC
● SQL


CEO & Founder
I am the founder of this website,i am currently in learnning phase and working with other blogging website
<EMAIL_ADDRESS>Web hosting & Server Hosting
I am working of hosting website, hosting server and domain.
<EMAIL_ADDRESS>Web Desginer
I am working on designing
deepanshuyadav374@gmail.com


Tabs make it easy to explore and switch between different views.
Tabs enable content organization at a high level, such as switching between views, data sets, or functional aspects of an app.
Types of Tabs Layouts
Fixed
Scrollable
Overflow with DropDown
Shrink
Wrap
Tab labels
Tab labels may include icons and text.
Usage
A tab provides the affordance for displaying grouped content. A tab label succinctly describes the tab’s associated grouping of content.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum
Contrary to popular belief, Lorem Ipsum is not simply random text.  Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics.
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).


SapphireDb supports running in a NLB configuration. The data between the different instances will be transferred through a webhook-like interface.


Sub Titulo (opcional)Titulo
Keep close to Nature's heart... and break clear away, once in awhile,
and climb a mountain or spend a week in the woods. Wash your spirit clean.
Sub Titulo (opcional)Titulo
Keep close to Nature's heart... and break clear away, once in awhile,
and climb a mountain or spend a week in the woods. Wash your spirit clean.


| Browser Navigation Mouse must be within browser window to navigate; click on track label if focus has been lost. | |
| ← | → | Move left | right (increase | decrease genomic coordinates) |
| ctrl ← | ctrl → | Next feature left | right above threshold in selected track (doesn't work for all data sources) |
| Space bar | Toggle zoom to base pair coordinates and back |
| Track Navigation Highlighted track label is selected track | |
| ↑ / w | ↓ / s |
Select track above | below |
| shift ↑ | shift ↓ | Expand | contract selected track |
| t | shift t | For tracks with ⊕ toogle expansion of selected | all tracks (genes ↔ transcripts) |
| Information | |
| i | Toggle description of selected track |
| h | Toggle help panel |
| u | Toggle ruler location indicator |


Create a Recipe
Recipe Name:
Ingredients:
Add Ingredient
Instructions:
Add Instruction
Story:
Submit Recipe


Lexer
open class Lexer : LexicalAnalyzer, CustomStringConvertible
Lexer
provides a concrete implementation of the LexicalAnalyzer
protocol and is used by default for the rest of the OysterKit stack (for example
in Grammar.stream<N:Node,L:LexicalAnalyzer>(lexer:L)->AnySequence<N>
).
In addition to the requirements of the LexicalAnalyzer
protocol, this implementation provides the ability to skip characters from a CharacterSet
when
a call to mark()
is made. This can be useful when the consumer always wants, for example, to ignore white space in a file.
-
If set, any characters in this set will be skipped when
mark()
is calledDeclaration
Swift
public var skip: CharacterSet?
-
Creates a new instance of
Lexer
for the suppliedString
.Declaration
Swift
public required init(source: String)
Parameters
source
The
String
to perform the lexical analysis on -
The integer offset of the current position in characters from the beginning of the
String
being scannedSee also
index
Declaration
Swift
public var position: Int { get }
-
The index of the
UnicodeScalarView
position of theString
being scannedDeclaration
Swift
public var index: String.UnicodeScalarView.Index { get set }
-
The current depth of the
Mark
stack used for unwinding failed rulesDeclaration
Swift
public var depth: Int { get }
-
The character at the current scanning position
Declaration
Swift
public var current: String { get }
-
Unwind the current scanning state to the previous position. Typically used when a scan for a match has failed and it is necessary to try another match.
See also
proceed()->LexicalContext
Declaration
Swift
open func rewind()
-
Creates a new
LexicalContext
from the start of top mark to the current scanner position. The mark is removed from the stack extending the range of the new top of the mark stack to this position.Declaration
Swift
open func proceed() -> LexicalContext
Return Value
A
LexicalContext
for the current match -
Removes the top most
Mark
from the stack without creating a newLexicalContext
effectively advancing the scanning position of the new topmost mark to this position.Declaration
Swift
open func consume()
-
Removes the top most
Mark
from the stack without creating a newLexicalContext
effectively advancing the scanning position of the new topmost mark to this position.Declaration
Swift
open func fastForward() -> LexicalContext
-
true
if the end of theString
being scanned has been reachedDeclaration
Swift
public var endOfInput: Bool { get }
-
Scans until the specified terminal is reached in the source
String
. If the end of theString
is reached before the suppliedString
is matched aGrammarError
is thrown. If the terminal is matched, the scanning position will be at the end of that match.See also
scanUpTo(terminal:String)
Declaration
Swift
open func scan(terminal: String) throws
Parameters
terminal
A string to scan for
-
Scans until one of the characters in the supplied
CharacterSet
is found. If the end of the source is reached before a character from the set is found aGrammarError
is thrown. The scanner position will be directly after the matched character.Declaration
Swift
open func scan(oneOf: CharacterSet) throws
Parameters
oneOf
A
CharacterSet
to scan for -
Scans up to (that is, the position of the scanner will be at the start of the match, not after it) the supplied
String
. If the terminal is not found aGrammarError
is thrown. The scanner position will be at the first character of the matchedterminal
.See also
scan(terminal:String)
Declaration
Swift
open func scanUpTo(terminal: String) throws
Parameters
terminal
A string to scan for
-
Scans up to one of the characters in the supplied
CharacterSet
is found. If the end of the source is reached before a character from the set is found aGrammarError
is thrown. The scanner position will be directly at the matched character.Declaration
Swift
open func scanUpTo(oneOf terminal: CharacterSet) throws
Parameters
oneOf
A
CharacterSet
to scan for -
Scan the supplied regular expression (
NSRegularExpression
). If not found anError
should be the thrown. The scanner position should be directly after the matched pattern.Declaration
Swift
open func scan(regularExpression regex: NSRegularExpression) throws
Parameters
regularExpression
The
NSRegularExpression
to scan for -
Advances the scanner one character. If the end of the source
String
has already been reached aGrammarException
will be thrown.Declaration
Swift
open func scanNext() throws
-
Returns the
String
from thesource
representing the supplied range.Declaration
Swift
public subscript(range: Range<String.UnicodeScalarView.Index>) -> String { get }
-
The
String
currently being scannedDeclaration
Swift
public var source: String { get }
-
A description of the current state of the
Lexer
Declaration
Swift
public var description: String { get }


I’m a computer science undergrad currently living in Bangalore, and teaching myself to be a better software engineer.
// posted on Jan 1, 0001 by saurav sachidanand


Happy Birthday!!!
Reasons why you are amazing!
Kindness
Compassion
Wisdom
Beauty
Vibrance
Brilliant Smiles
Infectious Laughter


Maintained physical & virtual servers for Transcore's Clients
Troubleshot issues with Transcore's propritary toll road management software
Adminstrated two seperate SolarWinds Orion instinces.
Applied software and firmware patches to servers to comply with Customer requests & SLAs.
Was responsible for the maintenance of Intelligent Transportation System (ITS) equipment along Florida's Turnpike Enterprise system roadways.
Performed basic system administration tasks in AD, WSUS, RADIUS, and DNS.
Monitored & managed hundreds of endpoints using SolarWinds Orion.
Provided Help Desk related support for internal IT issues.
Worked in the Office of Information Security at UCF. Redesigned the Identity and Access Management department Sharepoint Site.
Created various network topology diagrams using MS Visio.
Shadowed the Sr. IT Buisness Analyst & Information Security manager.


 We currently built this project using Node, HTML/CSS, React stack for this project.
Full Stack Developer, specializing in ReactJS and NodeJS.
Previously, I was a Senior Project Manager for a Low Voltage and Security company. I also carry a GA Low Voltage license.
I am currently a Team Leader for web 24 at Lambda school.
Zac is a web developer from Lambda School's web 24 cohort.
When he's not building something new, you can find him out on the trails of Wyoming on his gravel bike.
Dave is a software developer with experience in Support departments.
Dave loves spending time with his family, making coffee, and cheering for the San Francisco Giants baseball team.
Daniel Firpo is a Lambda School student studying full stack web development.
A former driver, current part-time postal worker, and scared of automation.
He wants to develop software & building his skills.
Joined Lambda's WEB22 cohort to become a full-stack web developer.
Corey is a current Lambda School student studying Full-Stack Web Development in the WEB25 cohort.
He is also owns Black Label Podcast Productions, a mobile podcast recording studio based in NYC.


Login to your account
Email
Password
Remember me
LOGIN
Forgot password?
Don't have an account?
Register


title = "Work Release Walk Route" url = "/jobs/walk" layout = "restricted" is_hidden = 0 == {% if user.groups.first.name == 'Users' or user.groups.first.name == 'Staff' %}
The walk route is outlined in green. This area represents approximately a square mile around the facility, or roughly a 45 minute walking distance from the facility. Please read the instructions below if you need help using this map.
We're sorry, but something went wrong and the page cannot be displayed.


Home
Venus
Known as the Planet of love and beauty... Love yourself!
Find Your Motivation :)
New Quote