1. Value
proposition
The challenge: According to 2014 data from the World Bank, 2
billion adults globally were unbanked such as people with low or unstable
incomes, or who have experienced a significant life shock. Accenture says that this
demographic is denied the fundamentals of economic empowerment. Being unbanked also
comes at a price: retail purchases are more expensive than online shopping,
paying per bill costs more than direct debit and non-bank remittances are quite
costly.
The solution: Headquartered in London and launched in 2014,
Comp-X provides an online account, a contactless MasterCard debit card and a
mobile app to the unbanked and underserved with a vision to be the world’s most
inclusive bank. Salaries and government benefits can be directly paid into Comp-X
accounts. Cash can be deposited at 28,000 partner locations. Fees are economical,
simple and transparent. The service is fully automated, quick and straight forward.
Comp-X’s roadmap includes further services such as sending remittances abroad,
overdrafts, home and car insurance, credit score builders, micro loans and credit
cards.
2. Market
size, trends and drivers
The Financial Inclusion Commission says that
50% of the 1.5 million unbanked adults in the UK would like to use banking
services. An additional 9 million customers have access only to basic bank
accounts. Although many of those people live in areas without bank branches,
40% of branches had been closed between 1989 and 2012 predominantly in low
income areas, most of them could easily sign up with Comp-X because smartphone
penetration is 61% even in the DE socioeconomic segments (UK average is 71%). Comp-X
estimates that over the next 4 years approximately 40% of this target market
would become active banking customers each generating a revenue of £55-60 p.a.
This would create a £210-£230 million market, of which Comp-X plans to capture
9%.
3. Competitive
landscape and positioning
Comp-X is focused on a digital-first strategy
targeting low-income customers with a simple sign-up and transaction process,
along with low and transparent pricing. The Company had signed up XXX,000 users
by Nov 2016 and is expecting to increase its user base to XXX,000 by EOY2018. Comp-X
is facing competition from various angles:
High
street and traditional challenger banks (e.g. Barclays, TSB, Metro): Historically,
established banks have found it difficult to service this target market due to
(i) its relative low revenue potential; (ii) limited availability of KYC
information, and (iii) the average banks’ high operating costs. Then in
December 2014 the 9 largest banks agreed with the UK government to roll out
free basic accounts to the financially disenfranchised, starting in Jan 2016. However,
given their high cost base, it is not likely that those banks would actively
solicit business to Comp-X’s target market. Combining this with the established
banks’ complex processes, legacy systems and slow pace, Pocket believes that
the Company would be able to fend off this threat. Their view has been proven by
Comp-X’s ability to almost triple their monthly customer acquisition from 3,000
in Jan 2016 to 8,000 in Nov 2016.
Large
retailers offering banking services (e.g. Tesco, ASDA): Although most of those
competitors rely on the infrastructure of traditional banks, they have various
cost advantages over banks due to their extensive footprint, lower cost
locations and broader product set to spread their marketing expenditure. They
also have stronger brands and higher customer satisfaction, better m-commerce
channels and longer experience with low income customers than banks.
Nevertheless, large retailers tend to target higher income customers with their
financial products. Even, ASDA, the discount retailer, still does not offer
debit cards and simple bank accounts.
Digital
challenger banks
(e.g. Atom, Loot, Monese): Although
some of them appear to be similar to Comp-X in terms of current product
offering and transparent pricing, none of them focuses on Comp-X’s target
market. Most digital banks are in an earlier stage of their development giving Comp-X
the opportunity to build its brand and market share. While Comp-X operates
under an e-money license and heavily rely on the infrastructure of external
partners, other digital challengers use banking licenses and have built their
own IT infrastructure, which make Comp-X much more cost and capital efficient.
4. Business
model
A substantial part of Comp-X’s operations has
been outsourced to reputable external partners which are linked together
through a proprietary platform.
It is entirely cloud-based, running from Amsterdam and Dublin data centres,
hosted in Provider A. Basic tenets of platform are performance, scale, redundancy
and flexibility. Comp-X’s development teams are based in the UK and Poland.
External partners include Provider
B providing custody and sort-code. Provider C has the e-money license and
provides settlement to Provider D. Provider E processes transactions and Provider
F runs KYC. Cyber security penetration testing is provided by a 3rd party
supplier. Product development
is driven by customers through continuous monitoring of the activities of 5,000
users. For each product Comp-X assesses the best way to build or partner. For
example, credit products will involve partnering with no risk on balance sheet.
Low-cost social media and ‘guerilla’ marketing channels are used for customer acquisition such as Facebook
advertising, affiliates, direct response advertising in local papers, community
marketing, refer-a-friend and partnerships. For example, Comp-X is just about
to partner up with the Department of Work and Pensions for the distribution of
monthly benefits. The revenue model
includes (i) 99p charges for 5 basic services (e.g. ATM cash withdrawals); (ii)
currency conversion; (iii) rebates from merchants, and; (iv) affiliate
relationships with retailers. The most important cash deposit channel is Provider G’s nationwide network of 28,000
outlets. KYC/AML is fully
automated. Account opening checks are performed by Provider H while transactions
are monitored by Comp-X’s proprietary tool. Any suspicious activity is reported
to Provider I and passed on to the FCA.
5. Leadership
team
Broad experience in building and
scaling fintech businesses. Planning to add more banking & compliance
execs.
 Financial
projections
7. Return
for investors
So far Comp-X has raised £Xm seed capital from
Investor A plus £Xm from a VC fund and prominent individuals. Now Comp-X is
seeking to raise further £Xm. Exit envisaged via trade sale or IPO in X years. Based
on a conservative revenue multiple of #.#x, estimated money multiple on exit
would be #-#x for investors. By using transaction comparables with an average
customer value of £XXX, the exit multiple would rise to #-#x.
8. Key risks and mitigants
Risk: Executing a complex, partnership-based
business model
Mitigants: Basic building blocks and partners are in
place; team has gained experience; platform is highly flexible
Risk: Product diversification will increase cost
base and complexity of business model
Mitigants: New products will have higher value add and
higher margin; platform is highly flexible
Product and service development are driven by customer analytics; business model is modular


APC’s Oshiomhole Reveals What Will Happen On 2020 Valentines Day
by George OgboluThe National Chairman of the All Progressives Congress (APC), Adams Oshiomhole, has said the Bayelsa State Governor-elect, David Lyon, will be sworn in on Valentine Day February 14, 2020.
The embattled APC Chairman stated this after a closed-door meeting with President Muhammadu Buhari at the Presidential Villa, Abuja.
Oshiomhole was accompanied to the Villa by the Bayelsa State Governor-elect, David Lyon, Gov. Atiku Bagudu of Kebbi State, Gov. Badaru Abubakar Jigawa as well as Minister of State, Petroleum Resources, Mr Timipre Sylva.
Recall that the National Electoral Commission (INEC) had declared David Lyon the winner of the Bayelsa Governorship Election.
Lyon scored a total of 352,552 votes to defeat his closest rival and candidate of the Peoples Democratic Party (PDP), Nigeria’s main opposition party, Duoye Diri, who polled 143,172 votes.
Speaking to State House correspondents, Oshiomhole said Buhari now has a “brand new baby boy”.
“As the President and our father, he has a brand new baby boy who will be sworn- in on Valentine Day February 14, 2020, as governor of Bayelsa State”, he said.
“We thanked the president for his fatherly role and he insisted that we must ensure that while we are determined to win the election that we must play by the rules and ensure that the process is transparent.
“Above all the president has always been concerned about peaceful election and we were proud to inform him that besides very isolated cases of ballot box snatching, the election in Bayelsa can be described as the most peaceful.
“I believe since 1999, you as very seasoned journalists who have covered elections in Bayelsa in the past, you will agree that this is the only time we can say the election is truly transparent and peaceful.
“Again, our candidate attracted support across the political divide when you see territories and communities where his victory was being celebrated you will agree that not only did he had the support of the APC family, he had support beyond the APC family.”


|
lwIP
2.1.3
Lightweight IP stack
|
Macros | |
| #define | LWIP_ARP 1 |
| #define | ARP_TABLE_SIZE 10 |
| #define | ARP_MAXAGE 300 |
| #define | ARP_QUEUEING 0 |
| #define | ARP_QUEUE_LEN 3 |
| #define | ETHARP_SUPPORT_VLAN 0 |
| #define | LWIP_ETHERNET LWIP_ARP |
| #define | ETH_PAD_SIZE 0 |
| #define | ETHARP_SUPPORT_STATIC_ENTRIES 0 |
| #define | ETHARP_TABLE_MATCH_NETIF !LWIP_SINGLE_NETIF |
| #define ARP_MAXAGE 300 |
the time an ARP entry stays valid after its last update, for ARP_TMR_INTERVAL = 1000, this is (60 * 5) seconds = 5 minutes.
| #define ARP_QUEUE_LEN 3 |
The maximum number of packets which may be queued for each unresolved address by other network layers. Defaults to 3, 0 means disabled. Old packets are dropped, new packets are queued.
| #define ARP_QUEUEING 0 |
ARP_QUEUEING==1: Multiple outgoing packets are queued during hardware address resolution. By default, only the most recent packet is queued per IP address. This is sufficient for most protocols and mainly reduces TCP connection startup time. Set this to 1 if you know your application sends more than one packet in a row to an IP address that is not in the ARP cache.
| #define ARP_TABLE_SIZE 10 |
ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached.
| #define ETH_PAD_SIZE 0 |
ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure alignment of payload after that header. Since the header is 14 bytes long, without this padding e.g. addresses in the IP header will not be aligned on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms.
| #define ETHARP_SUPPORT_STATIC_ENTRIES 0 |
ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table entries (using etharp_add_static_entry/etharp_remove_static_entry).
| #define ETHARP_SUPPORT_VLAN 0 |
ETHARP_SUPPORT_VLAN==1: support receiving and sending ethernet packets with VLAN header. See the description of LWIP_HOOK_VLAN_CHECK and LWIP_HOOK_VLAN_SET hooks to check/set VLAN headers. Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check. If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. If ETHARP_VLAN_CHECK is not defined, all traffic is accepted. Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan) that returns 1 to accept a packet or 0 to drop a packet.
| #define ETHARP_TABLE_MATCH_NETIF !LWIP_SINGLE_NETIF |
ETHARP_TABLE_MATCH_NETIF==1: Match netif for ARP table entries. If disabled, duplicate IP address on multiple netifs are not supported (but this should only occur for AutoIP).
| #define LWIP_ARP 1 |
LWIP_ARP==1: Enable ARP functionality.
| #define LWIP_ETHERNET LWIP_ARP |
LWIP_ETHERNET==1: enable ethernet support even though ARP might be disabled


Issues and Notes of EPICS V4 Development
The following are broad issues of the working group that should be addressed
at the PSI face-to-face meeting and soon after.
Priorities
- Clarify Marty's medium term schedule. Python support should be scaled
back. Defining and writing "ezpv" should be started
- Matej's medium term objectives and schedule?
Issues and Worries
Gather Data
- My feeling is Gather Data is getting more work than its use cases warrant
- How would gather data be used by services?
- It seems to me the intended architecture patterns for Gather Data are not well
understood, so a lot of time is going into it to make sure it does everything. If
its UCs were better known, it could be more targeted. For instance, is it seen or
known how arguments are communicated to a single "gather service?"
- Is gather "service" really a single service, or intended to be a framework for
services?
- The gather service review didn't help me. It seems to be a way simply of telling a
server to make a lot of acquisitions for you and return them as a record. That does
not strike me as useful for services because services are distinguished by their
need to make acquisitions subject to parameters and for pre and post processing. It
may be useful as is for "beamline" acquisitions - I don't know.
- Need an architecture tip for when to use pvManager (whose UC I do see) and
gather service/es. To do an orbit acquisition for orbit display, that seems like
pvManager, if it's a value added graphical display, I take it that's still
pvManager. If I use pvManager library (normally intended for display clients - I
know) to write a service, how's that different functionally from "a" gather service
(ie, a service that uses the gather service framework, once written as such)?
- Why was server side so hard it occupied Marty for 2 years?
Difficulty of Getting Started
- We have a very difficult client side (and server side) programmer API.
- What steps can we take to cookie cutter the API, or ideally wrap it away completely?
- Good news is, for a services framework, this wrapping looks easy.
Communications and communicating nominal architectures
- External communications has been just awful. We need to more than make up
- "Home page" recently fixed.
- Need FAQ urgently - by pvAccess FPWD announcement
- All normative work must be under the same web roof
- Things in orbit around EPICS V4 are not in the EPICS V4 web site. need some
predictable scheme for that. is it that all normative work is in epics-pvdata and
non-normative isn't? That would be OK, but it needs to be explicit for a
reader. Note, this works for pvManager as it is now so that's good. Doesn't work
for services Guobao has made because they're non-normative but in the epics-pvdata
web site and in epics-pvdata sourceforge.
- Need a list of nominal patterns. Both architectural diagrams and source code
would be idea. Starting right at the beginning
- Need a graphical map of all technologies/standards and how they fit together,
as well as nominal architectures
- Need to publish a road map.
Services architecture
Directory Service Requirement
- There is no specific "directory service" functionality, though there are tools
with which a directory service could be constructed. That needs to be
fixed. Services often "don't know that they know", eg relational database service,
model service, archive service, so they can't answer broadcasts. Also, you can't
have a list without a directory.
- Should the directory service be implemented in terms of channel finder? To do
so means Channel Finder support has to be open, willing, in scope, and to be an
EPICS v4 core product not require a web service I think (because getting web
servers approved in labs is hard!). It's easy to do without channel finder - is
using channel finder worth it?
- Whatever directory service we write, I think it has to do query aliasing aka translation
Uses cases for services
- Need to make everyone clear on the use cases of services, which motivates then the architecture
- This suggests a Use cases document, to illustrate services,
their requirements and user interfaces.
- The basic UCs are also a great starting reference for a reference services description document
- UCs -> UC patterns -> illustrates APIs -> Determines function of reference
services.
- Having got UCs, set priorities
pvService role in services
Presently both the core "support for" services, ie org.epics.pvService.rpc, and
essentially prototype frameworks for services, and services themselves, are all 3
in org.epics.pvService! Need to separate core, from frameworks, from services.
EPICS services architecture
Suggest we write a services architecture framework. Wouldn't be hard. I can do a
synchronous version easily. I think this will be done prior to doing the model
service for PSI, which would then be in it.
Data Types and pvManager
MK: A suggestion was made that standard types be provided as pvManager types. What
does this mean?
GW: Alarm and timestamp are controls ideas, they have no place in defining any
kind of double used at a high level, any more than the web service your bank offers
encodes timestamp and alarm when it sends you the amounts of transactions.
And why would standard types be defined in terms of pvManager anyway? Surely
it's pvManager's job to understand the normative aggregate types and normative functional
types, not the other way around.
We need to define a taxonomy: type (Field, PVField), display
"V", aggregate type (table, multi-channel array, possibly image data
too). Those would be normative. On top of the normative types we might
also suggest non-normative functional types: archive data retrieval record,
bpm orbit data, Twiss Parameters, Transfer Matrix, etc
Practices
We need guidelines for practices. This is the same as what Marty called
Documentation Standards I think. I have a list I'd like to see.
Naming
- The web site is called epics-pvdata, but pvdata is just one component. Confusing for new users
- The web site is called epics-pvdata, but it's about EPICS Version 4!
- The "PV" says Process Variables, but what it concentrates on is specifically
not about process variables
- All in all, I think we should rename the project and all internal references to EPICS V


Thanks Gods to help me maintain and search resource easily, it is the key for me to led happy life!
SharePoint | Technology-Tips | TimeSeries-Tools | TimeSeries WiKi | Beijing-Sharepoint
ReleaseTpl | Error Dictionary | DeploymentStatus | TSRelease-Sharepoint | OPS-SharePoint
CapacityModel | DCHS | CMDB | HBaseConf | TSDBInterface | CBUS
NGRelease | NGDesign| WI | NGTrainning | NG-Hub | Hub-NewJoiners |
ETSPerf | Hbase-PERF | Hbase-PERF-health | PERF-Report
ETS DataFlow | ETS-SWAT | ETSLLD | ETSHLD | ETS-INT | ETS Diagram
Dist-SAMI | Collection-SAMI | SAMI-FTP | SAMIAuto | SubVersionBook | FAQ
Package | SPB | WIX | TSAuto_Dev | Robot | PERF_QE | ETS-Server
TSDB | Historical Stats | PAWZ | Dict | NewServer BulkEdit | 2Partition | RoadMap
Process
Jira-TimeSeries | The Hub | Jenkins | TSAutomation | Spirit | SCP
OPM | AbsManager | CIIC | InsideCareer | IT-SR | Clarity | Workday | TeamStructure | PlatFormTeam | Expense
GSD | FaceBook | GSDDial | EIKON_MON
ETS Rlease
Hub-Wiki | Pre/Post | Sensu
| PuppetPractice |
Techs
HBaseDoc | MAPR | HBaseJira
| ClouderaBlog | Zookeeper | MiddleWare-Hadoop
| InfoQ
CPlus | System-ErrorCode | MSDNSubscriber | PERL
| PerlOrg | Interface-Intra
| MSDN
| VS2005
Trello-CodeKata | Blog-CodeKata | SAMIAdmin | Webmail | Trello | Link In | Eikon WM
Brain | BOOK24X7 | W3cSchool | Puppet
This
year the NG
of TimeSeries is starting, enjoy…
JD
| TMall |
SinaF | JSJ | 12306
| thougthworks
| wikihow | GaoHua | LearnLanguage | WangYiCloud


{% extends 'layout-email.html' %} {% set version = "emails-v4" %} {% set bodyClasses = "app-email-body" %} {% set emailFrom =<EMAIL_ADDRESS>%} {% set emailTo =<EMAIL_ADDRESS>%} {% set emailSubject = "NHS COVID-19 Notification" %} {% set serviceName = "Get a coronavirus test" %} {% block beforeMain %} {% endblock %} {% block content %}
Dear Joe Bloggs,
Birth date – 15 March 1984
Your coronavirus test result is negative. You did not have the virus when the test was done.
You may return to work if you have not had a fever for 48 hours and feel well. Talk to your employer first.
If you feel well but someone you live with tests positive, self-isolate for 14 days from when their symptoms started. If you get symptoms of coronavirus, self-isolate for 7 days.
If you are shielding or you have been traced as a contact of someone who tested positive, or this is for a care home resident, follow the relevant guidelines. If the care home resident still has symptoms, they will need a medical assessment and may need a repeat test.
If this result is for a child or staff member at school or nursery, tell the school or nursery.
Contact 111 if you need medical help. In an emergency, dial 999.
Sign up to be contacted for taking part in coronavirus vaccine research
{% endblock %}


Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
Training guides project creates open source OpenStack Training content primarily used by:
Developers Team
Trainers Team
Topics to be covered:
Using Openstack dashboard to:
OpenStack Command line clients
Questions??
Use a spacebar or arrow keys to navigate


Reverse SSH Portforwarding:
Note that if you use OpenSSH sshd server, the server’s GatewayPorts option needs to be enabled (set to yes or clientspecified - GatewayPorts yes) for this to work (check file /etc/ssh/sshd_config on the server). Otherwise (default value for this option is no), the server will always force port bound on the loopback interface only.
connect from local(attacker) to target:
ssh -R <targetip>:<targetport>:<localhost>:<localport>
on target:
telnet <targetip> <targetport>
-> forwards to attacker machine on port


Previous answer
Where are you exporting from?
{{ selected_origin_country_name }} United Kingdom
Change{% extends 'core/base.html' %} {% load urlparams %} {% block title %}Search{{ title_suffix }}{% endblock title %} {% block content %}
Where are you exporting from?
{{ selected_origin_country_name }} United Kingdom
Change


We pair you put with users who share your tastes in order to find reviews and recommendations that are meaningful to you.


class: center, top # .NET Core https://dontpad.com/netcore3days2023 Code : http://msprogrammer.serviciipeweb.ro/NetCore3Days.zip https://roadmap.sh/aspnet-core Learning a new tech stack is an 80/20 thing. You can learn 80% in a relatively short period. (2-3 weeks depending on effort and immersion). That’s enough to be productive and effective. The other 20% takes significantly longer and provides far less benefit https://twitter.com/unclebobmartin/status/1673093055929364481 --- # Agenda Day 1 1. .NET Core, .NET Standard, .NET Framework 2. C# main points 3. C# advanced 4. ASP.NET Core introduction Day 2 1. .NET Core WEBAPI / MVC / Blazor 2. .NET Core backend – BL, DAL, Security, tests 3. EF – console, ASP.NET Scaffolding 4. Functional Anatomy of ASP.NET Core 5. Ecosystem 6. .NET Core WebAPI – demo and exercises/questions Day 3 1. ASP.NET Core Latest 2. Roslyn Code Generators 3. EF Core Latest 4. Practical Exercise with WebAPI / MVC --- class: center, top # About me ![:img ignat, 10%](ignat.jpg) Andrei Ignat http://msprogrammer.serviciipeweb.ro/ www.ASP.NET forum moderator YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/ --- # .NET Core, .NET Standard, .NET Framework https://docs.microsoft.com/en-us/dotnet/standard/net-standard https://dotnet.microsoft.com/en-us/platform/dotnet-standard#versions .NET Standard 2.0 is that it ups the number of available APIs from 13,000 to 32,000, compared to .NET Standard 1.6. https://raw.githubusercontent.com/dotnet/standard/v2.1.0/docs/versions/netstandard2.0_diff.md Compatibility Problems https://github.com/dotnet/standard/issues/481 NET 5.0 => 1. .NET Standard project visible in both .NET Core and .NET Framework 2. Environment.CurrentDirectory Demo: DemoNetStandard folder, What's new 1 + What's new 2 --- # C# and .NET Latest version .NET 7 : https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-7 Latest version C# : https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11 What can you do: - Console - Desktop ( WPF, Winforms) - Web ( ASP.NET Core WebAPI / MVC / RazorWebPages , Blazor) - Mobile ( and try to unify desktop ): MAUI - Game Development ( Unity) - ML/ AI : ML.NET - Azure Cloud ( + integrations) - IOT (Windows IoT Core) - WindowsService (WindowsService demo) Demo : Let's see if you have installed VS with templates --- # Some C# main points - Task ASYNC AWAIT 1. Race conditions - who has the error ? Virus up 1. https://channel9.msdn.com/Events/TechDays/Techdays-2014-the-Netherlands/Async-programming-deep-dive – to gain inner knowledge about what code is async / await 2. Read https://blog.stephencleary.com/2012/02/async-and-await.html to have started into async await 3. Read MSDN for a better understanding : https://msdn.microsoft.com/en-us/magazine/jj991977.aspx?f=255&MSPPError=-2147217396 4. Common pitfalls in ASP.NET Framework( not in console! ) with async await: https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html 5. https://blog.stephencleary.com/2017/03/aspnetcore-synchronization-context.html 3. DemoAsyncAwait - problem in windows forms, No problem in ASP.NET Core --- # Some C# main points - part 2 1. IEnumerable vs Array vs yield 1. Async enumerable :Console, WebAPI NetCore3WhatsNew/DemoAsynEnumerable.csproj 1. Default Interface Inheritance :NetCore3WhatsNew/CSharp8WhatsNew.csproj 1. Switch, Deconstruct 1. COM objects:NetCore3WhatsNew/WpfCom.csproj 1. Automatic Update -ClickOnce 1. using , indexes, others: NetCore3WhatsNew/CSharp8WhatsNew.csproj 1. record : CSharp9WhatsNew https://khalidabuhakmeh.com/csharp-records-the-with-keyword-and-reference-types --- # C# advanced 1. Nullable Enable : Demo : Part3/Part3.sln 1. CallerArgumentExpression and others :Demo: Part3/Part3.sln https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/attributes/caller-information 1. Build ( trim, single file, self contained ) https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-build https://learn.microsoft.com/en-us/dotnet/core/deploying/single-file/overview?tabs=cli 1.  Static interfaces and math support , file class, raw strings https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/static-virtual-interface-members Demo: WhatsNewNet7/code/WhatsNewCSharp11/WhatsNewCSharp11.sln --- # ASP.NET Core introduction WebAPI - data, ActionResult , Result
/TypedResults https://learn.microsoft.com/en-us/aspnet/core/web-api/action-return-types?view=aspnetcore-7.0 Demo: Start from scratch. --- # .NET Core WEBAPI / MVC / Blazor Demo: Start from scratch Blazor demo with JS : WhatsNewNet7/code/TestBlazor/TestBlazor.sln --- # .NET Core backend - BL, DAL, Security, tests http://haacked.com/archive/2012/01/02/structuring-unit-tests.aspx/ https://docs.microsoft.com/en-us/ef/core/miscellaneous/testing/in-memory Demo: DemoNETCoreTest --- # EF - console, ASP.NET Scaffolding https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding https://learn.microsoft.com/en-us/ef/core/managing-schemas/scaffolding/templates?tabs=dotnet-core-cli https://learn.microsoft.com/en-us/ef/core/logging-events-diagnostics/interceptors Find IInterceptor: https://github.com/search?q=repo%3Adotnet%2FEntityFramework.Docs+AddInterceptors&type=code See create.sql Demo interceptor,executedelete/executeupdate,T4: WhatsNewNet7/code/EFCoreDemos --- class: center, top # Functional Anatomy of ASP.NET Core 1. DI 2. WebAPI + Swagger 4. Routing 5. Middleware https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/extensibility 4. Versioning https://github.com/microsoft/aspnet-api-versioning/wiki/Versioning-via-the-URL-Path Not in this demo : 1. Formatters https://learn.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-7.0 https://learn.microsoft.com/en-us/aspnet/core/web-api/advanced/custom-formatters?view=aspnetcore-7.0 2. Filters Demo: demoFromAttributes ,Versioning --- class: center, top # Ecosystem 1. Logging with NLOG - demo Logging https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-5 2. HealthChecks - demo NETCoreHealthChecks/Xabaril https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks 3. Activity - demo JaegerNetCore --- class: center, top # ASP.NET Core Latest RateLimiter https://learn.microsoft.com/en-us/aspnet/core/performance/rate-limit Problem details service https://learn.microsoft.com/en-us/aspnet/core/web-api/handle-errors IParsable .TryParse https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-binding?view=aspnetcore-7.0#itp7 TypedResults https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.inestedhttpresult IValidatableObject Demo : WhatsNewNet7\code\ASPNET7 --- class: center, top # Roslyn Code Generators Just add code, do not modify, at Build Time Deprecated but easy to demo: https://github.com/dotnet/roslyn/blob/master/docs/features/source-generators.cookbook.md Demo: RoslynCodeGenerators/RSCG_VerySimple RoslynCodeGenerators/RSCG_TimeBombComment More examples: https://ignatandrei.github.io/RSCG_Examples/v2/ --- class: center, top # General discussion architecture --- class: center, top # Practical exercise Sunteti BNR. Fiecare banca care are sucursala in RO va trimite datele cu persoane ( id )si datorii . Cerinta 10: Afisati Bancile si Persoanele care au datorii la banci ( amount>0) . Trebuie afisata fiecare Banca cu id si nume si , pentru fiecare banca, lista de persoane pentru acea banca care au datorii la banca respectiva Cerinta 20: Afisati persoanele care au datorii la cel putin 2 banci Cerinta 30: Transferati datoria unei persoane de la o banca aceleaiasi persoane la alta banca . Daca in urma transferului se depaseste MaxDebt pe banca respectiva, transferul nu se mai face. Intoarceti un status code de la https://en.wikipedia.org/wiki/List_of_HTTP_status_codes --- class: center, top # Questions ? Andrei Ignat http://msprogrammer.serviciipeweb.ro/


Your Amazon Order Has Been Delayed
Show this conversation is important.
Inbox
|
Feb 12, 2021, 4:41 PM
| |||
|
Links have been disabled in this email for testing purposes.
Please select "real" in the survey question below to move to the next question.
Yes, this email is real (assuming you actually ordered something from Amazon


Galvanize Delivers
menu
Home
About
Services
Home
About
Services
Fine Dining, Delivered.
PLACE AN ORDER
2017 Galvanize Delivers


My Team
Bill Lumbergh
Manager
ID: 666
Email:
<EMAIL_ADDRESS>Office Number: 1313
Peter Gibbons
Engineer
ID: 1222
Email:
<EMAIL_ADDRESS>GitHub:
tpsreports80
(not that) Michael Bolton
Engineer
ID: 1133
Email:
<EMAIL_ADDRESS>GitHub:
michaelbolton1
Samir Nagheenanajar
Engineer
ID: 1137
Email:
<EMAIL_ADDRESS>GitHub:
samir_printer
Milton Waddams
Intern
ID: 5
Email:
<EMAIL_ADDRESS>School: Slimline Academy


Create a new user.
All passwords are one-way encrypted on the server, but they are passed in plain-text to the server (no SSL). In human terms, that means that even if someone gained access to this site, it's doubtful they'd be able to discover your password. However, someone could listen in on your login request, or your user creation request, and steal your password that way. So be careful with what you choose.
The site also asks for your email address. The site requires an entry that looks like an email address, but you don't have to give a real one (we don't require authentication by email). If you decide not to supply a real email, that would mean that you can't receive email notifications or password recovery emails. We only use the emails for site related issues or the recovery emails, but we understand a desire to keep things like this private.


Everything asynchronous. Whether it is I/O connections or processing routines
Easily define I/O connections with an endpoint, supported HTTP server/client, Kafka, RabbitMQ, Redis and more
Everything is message. You write code to handle events and that's it
Lowcost and rich support for serialization formats. Json, xml, msgpack, protobuf, avro... and pluggable custom format
<dependency>
<groupId>io.gridgo</groupId>
<artifactId>gridgo-core</artifactId>
<version>x.x.x</version>
</dependency>


| 011:041 Khan | : |
And he [Nuh (Noah)] said: "Embark therein, in the Name of Allah will be its moving course and its resting anchorage. Surely, my Lord is Oft- Forgiving, Most Merciful." |
| 011:041 Maulana | : |
And he said: Embark in it, in the name of Allah be its sailing and its anchoring. Surely my Lord is Forgiving, Merciful. |
| 011:041 Pickthal | : |
And he said: Embark therein! In the name of Allah be its course and its mooring. Lo! my Lord is Forgiving, Merciful. |
| 011:041 Rashad | : |
He said, "Come on board. In the name of GOD shall be its sailing, and its mooring. My Lord is Forgiver, Most Merciful." |
| 011:041 Sarwar | : |
(Noah) said, "Embark in it. It will sail in the name of God, in His Name it will sail and in His Name it will cast anchor. My Lord is All-forgiving and All-merciful". |
| 011:041 Shakir | : |
And he said: Embark in it, in the name of Allah be its sailing and its anchoring; most surely my Lord is Forgiving, Merciful. |
| 011:041 Sherali | : |
And he said, 'Embark therein. In the name of ALLAH, be its course and its mooring. My Lord is assuredly Most Forgiving, Merciful.' |
| 011:041 Yusufali | : |
So he said: "Embark ye on the Ark, In the name of Allah, whether it move or be at rest! For my Lord is, be sure, Oft-Forgiving, Most Merciful!" |
Concepts/Themes Covered:
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Daily Digest #41
- Technical debt
- 2 Fast 2 Furious: migrating Medium’s codebase without slowing down
- Understanding Git — Index
- Common Patterns for Analyzing Data
- Automated front-end development using deep learning
- 🎁 Releasing “Supervisely Person” dataset for teaching machines to segment humans
- Integration and End-to-end Tests Made Easy with Node.js and MongoDB


Likelihood-mapping and split network analyses of SARS-CoV-2. Likelihood-mapping (A) and split network (B) analyses of SARS-CoV-2 for “dataset_112” are shown. For likelihood-mapping analysis, corners represent tree-like phylogenetic signals and those at sides represent network-like signals. Central area of likelihood map represents star-like signals of unresolved phylogenetic information.


logo text
0 Items
Consumer
Menu
Your request has been placed.
Thank you for your request! Your request is subject to an approval process before fulfillment and delivery.
Please contact your administrator with any questions.
Total Initial Price:
$ 0.00
Total Recurring Price:
$ 0.00 yearly


{{ define "main" }}
$ cd /{{ lower .Title }}
Forbidden : You don't have permissions to access
$ sudo chmod -R 777 /{{ lower .Title }}
$ cd /{{ lower .Title }}
$ ls
content.txt
$ cat content.txt
Maybe you're lost. There is nothing to see here.
{{ end }}


I am obviously not going to include all the missions here (or even most of them). Only the ones relevant to the story and the main characters will be listed.
- Marche Radiuju, the new kid on the block in the city of St. Ivalice, is having his first day at school, where apparently the curriculum consists of a snowball fight. Most of the kids pick on Mewt Randell, a rather sullen youngster; however, a spunky girl named Ritz Malheur berates them.
- Mewt tells Marche he's planning on buying a book. Marche, however, has to go home to meet his invalid brother Doned, who's coming out of the hospital. Marche invites Mewt and Ritz to come over to his house afterwards to look at Mewt's book.
- On the way home they meet Mewt's father, Cid, being accosted by his boss. He's a pretty pathetic sight (having lost his wife, Remedi, sometime earlier and never really recovering).
- That evening, Marche, Ritz, Mewt, and Doned pore over the book Mewt brings home, and talk about how nice it would be to make a video game come to life.
- The spell in the book activates during the night, turning St. Ivalice into the country of Ivalice, a fantasy world populated by humans, moogles, bangaa, nu mou, and viera. Marche is deposited smack into the heart of the city of Cyril, where he bumps into a nasty bangaa. He's saved by a moogle named Montblanc, and has his first engagement (battle) right there. He also finds out about Laws.
- Montblanc takes Marche to the Cyril pub, where he's introduced to Montblanc's clan. Marche decides to join them, having nothing better to do in his quest to find out what happened and how to get home.
- After doing a bunch of missions from the pub, Marche eventually catches up to Ritz in Nubswood. She's also joined a clan - this one's all-viera (and Ritz herself has viera job commands). After a battle against the Cheetah clan, Ritz introduces Marche to her new viera buddy Shara. Ritz has figured out what happened, but has decided she doesn't want to go back to the real world, mainly because in that world she has to continually dye her naturally white hair, whereas in the new one she's a natural pink.
- The next story mission takes place in Eluut Sands, where Montblanc informs Marche of a rumor of five Crystals, which alter monsters' minds.
- The next one is in Ulei River. Marche is sent to investigate, and finds himself warped to a strange place which houses a large Crystal. Upon approaching it, however, a Totema (guardian) named Famfrit comes out of it and attacks Marche! Marche defeats it, the Crystal is destroyed, and Famfrit allows himself to be summoned by the Moogles in Marche's clan. Marche sees a brief vision of Mewt after destroying the Crystal.
- We now discover what happened to Mewt - he's in Bervenia Palace, and is now Prince Mewt.  The wacky Laws are all the prince's doing.
- Marche next visits the city of Cadoan, where he hears about a character named Ezel Berbier who's concocting a way to fight the Laws. Marche soon meets up with him being pursued by units from the palace. Marche protects him, but Judgemaster Cid shows up and immobilizes Ezel with a Law. However, Ezel demonstrates his Antilaw cards, which remove the Law and teleport Ezel and Marche out of there. Ezel sets up a secret Law Card shop in Cadoan for Marche's use afterwards.
- More missions, then Marche reaches Roda Volcano. Again Marche is warped to a room with a Crystal. This time he fights eight Ultima Crystals, after which the second Crystal explodes and the Ultima totema summon is granted to the nu mou in his party.
- The next important mission takes place at Salikawood, where Marche meets up with Babus, Mewt's personal nu mou retainer. Mewt's sent Babus to try to stop Marche from destroying any more Crystals. Marche defeats him, and he escapes.
- Next up is Nargai Cave, home of the third Crystal and its totema, Adrammelech. After it's defeated, it grants the Totema summon to bangaa members of Marche's clan. Babus rushes up to Marche, but sees the vision of Mewt and rushes back to the palace to check on him.
- In Baguba Port, Marche meets with Nono, Montblanc's little brother. Nono's airship was attacked by thieves, who retreated to Jagd Dorsa, a location where Laws have no power. However, the whole "not-dying" deal in the rest of Ivalice also doesn't apply, so it's dangerous. Marche chases the thieves and retrieves Nono's merchandise. A grateful Nono sets up a trade shop in Baguba.
- Marche soon finds out that Bervenia Palace has put a bounty on his head. (Flashbacks of FF Tactics.) The first contenders catch up to Marche in Kudik Peaks, and are quickly dispatched.
- The next mission, involving forged clocks, is in Jeraw Sands. Ritz and Shara again show up having taken the same job as Marche.
- Marche meets with Ezel in the city of Muscadet, who tells him that the judges are on a blitz searching for not only Marche, but anyone associated with him. In Muscadet, a judge is apprehending a moogle just because someone said Marche is traveling with one. Marche takes on the judge's noxious associates and prevails. However, Judgemaster Cid shows up and takes Marche away to prison.
- Marche explains to Cid and Babus about the "real world" and the false one. Before he's done, though, another warp opens up and takes them to the next Crystal. Babus fights Marche alone as Marche destroys the Exodus Flowers protecting the Crystal. After Marche wins, the Crystal is again destroyed and Exodus is given to the viera as a summon. After this, the three see a vision of Mewt and Cid from the "real world". Cid finally wakes up to reality, and tells Marche that he's free to go. He also removes the judges from the power of the palace and declares them to be an independent entity.
- After Cid's leaving the palace, Remedi introduces Mewt to his new protector, Llednar Twem. Llednar is actually an aspect of Mewt - the very nasty one that deals with hurting things badly.
- After fighting off some more bounty hunters, Marche catches a glimpse of Doned in Gotor Sands - but it seems like his brother is trying to get Marche captured! Doned, of course, isn't interested in going back to a wheelchair in the real world.
- In Delia Dunes, Marche meets with Llednar, who tries to stop him. However, a warp opens up to the final Crystal. Llednar attacks Marche, but Cid shows up and uses a special Law that prevents Llednar from using his super-nasty powers against Marche. However, Llednar ignores it, allowing Cid to red-card him and get him out of the way.
- Marche continues to the Crystal room, where he fights the final Totema, Mateus, which then gives itself as a summon to the humans in his party. However, even after destroying all five Crystals, the world of Ivalice remains - because, as Queen Remedi explains, Mewt, Ritz, Doned, and even Marche aren't really interested in going back in their hearts.
- Montblanc tells Marche of Gift Day, a day when everyone goes to the palace to give gifts to the prince. Marche sees this as the perfect way to get ahold of Mewt and convince him to go home. However, first Marche has to find a present. Montblanc says Nono can come up with a great gift if Marche can find some Materite.
- Marche searches for the Materite in the Materiwood. However, Doned again tattles on him, with another clan attacking him. After the battle, Doned steals the Materite and runs off.
- Nono manages to whip something up anyway, and while Marche and Montblanc make it fairly far into the palace, they're then ambushed. Babus saves Marche from the rest of the guards, though, and takes him to Mewt. Marche fails to convince Mewt not to listen to Queen Remedi, and Llednar then appears and attacks. Babus sends for Cid, who again arrives and gets rid of Llednar.
- Mewt and Remedi run away to a place called Ambervale, where Remedi apparently hopes Marche won't be able to find them.
- Marche also needs to convince Doned, so he places a bogus mission at the pub designed to coax Doned out of hiding. In Tubola Cave, he finally meets up with Doned. Marche tells Doned that while Doned was an invalid, that resulted in his continually getting their mother's attention, whereas Marche was always relegated to secondary status. Doned finally apologizes and joins Marche.
- Cid sends a message to Marche to meet him at Deti Plains. After fighting some monsters, Cid informs Marche of Mewt and Remedi's hiding place, but also tells him he'll need some amber from Siena Gorge, with which Ezel can craft a special Antilaw allowing Marche to hurt Llednar. Marche agrees.
- This time, though, the gorge is guarded by Ritz and her clan, who try to stop Marche from continuing. After they lose, though, Ritz agrees to let Marche try to return the world to normal, although she won't help him.
- Marche travels to Ambervale, to be accosted by Llednar. However, this time Cid appears and stops his superpower with Ezel's new Antilaw.
- After defeating Llednar, Marche travels inside the palace at Ambervale to find Remedi and Mewt. After several fights with Remedi and fake Totema she summons, Remedi turns into Li Grim (aka "Le Grimoire"), the personification of the dreams of those who called Ivalice into being. After her defeat, Mewt finally wakes up to the truth. Ivalice begins to revert back to St. Ivalice.
- While it's happening, Ritz and Shara have one last talk where Shara claims that white hair is beautiful and a sign of honor among the viera. Ritz takes the hint, and back in the real world, leaves her hair white. Cid meets Biggs, an old employee of his, who has a new prospect for him. As to what happened to the country of Ivalice, no one really knows if it disappeared for good or not...
Side Quests:
- Ezel's antilaw crusades culminate in him being a mediator between the resistance and the palace. He asks Marche to come along to help protect him from the rabble who show up protesting the talks. Marche manages to do so, and a treaty is signed whereby the resistance agrees to step down, and the palace agrees to allow limited antilaws and not to persecute former members. Ezel joins Marche's clan in gratitude.
- After finishing the game, many more missions open up. Apparently Mewt and Remedi are still gone, but everyone else, including Marche, Ritz, Doned, and Cid, remain in Ivalice. The game doesn't really explain how that happens.
- A mission is posted about a woman screaming in Tubola Cave. Marche goes to investigate, and it's none other than Shara, who was frightened by antlion larvae. Doned convinces her to join the clan in an effort to get Ritz and Marche to make up.
- Babus posts a mission in an effort to find the teddy bear Mewt left behind (which was originally given to him by his real mother). Marche goes with him to Ambervale, where he meets a ghost of Queen Remedi, whom they fight off. Babus agrees to join Marche's clan after they find the bear.
- Marche finds a mission posted about zombies (actually vampires) in Lutia Pass. Ritz also expresses interest in it, and goes with him there. The zombies have the same names as the bullies from the snowball fight way back from the beginning of the game... so that's where they ended up! After the fight, Ritz also joins the clan and has a rather awkward moment with Marche.
After doing all 300 missions:
- The judges, after the secession from the palace, begin to abuse their power to make ridiculous laws, like "no jumping" or one that requires girls to kiss someone. 8p Judgemaster Cid gets fed up and joins Marche's clan to help stop the judges. They finally stamp out the rogues, but Cid realizes that a clan like Marche's will be required to police the judges from time to time. He also tells Marche that when he retires, Marche would be a good judgemaster. 8-) Credits roll (again).
Final Fantasy, all games and animation bearing the Final Fantasy name, and all characters in said games or animation are copyright their respective creators, including but not limited to Squaresoft, Square Enix, Square EA, Tokyo TV, and ADV Films.


Let's try compiling and running a sample Java program included with hsqldb.
We'll create a new directory to hold a script file to compile and run the program.
Select File - New - Folder from the File Explorer menu.
Let's name the new folder prog.
Enter the following code using a text editor and save the file as runTestdb.bat. runTestdb.bat
@ECHO OFF
REM Local environmental variables
SETLOCAL
SET COMPILE_CP=.;..\lib\hsqldb.jar
SET EXECUTE_CP=.;..\lib\hsqldb.jar;test;../src
REM directory where compiled class file will be created
IF EXIST .\test (GOTO TEST_EXISTS)
MD test
:TEST_EXISTS
ECHO --------- compile ---------
javac -classpath %COMPILE_CP% -d test ..\src\org\hsqldb\sample\Testdb.java
REM if compile error abort
IF ERRORLEVEL 1 (GOTO END)
ECHO ------------ execute ------------
ECHO -- data source access sample
REM get employee name
java -classpath %EXECUTE_CP% org.hsqldb.sample.Testdb
REM -- end
:END
REM wait for key press
PAUSE
REM -- end local mode
ENDLOCAL
From the File Explorer, select the created script file.
The sample program will be compiled and executed.Press any key to close the windows. A new database file will be created in the "prog" folder.


My Restaurant
Make your reservation
View Tables
Home
Table Reservation
Name
Phone Number
Email
Unique ID
Submit


Written by: Mark Kunerth
Produced by: Robert Carlock and Wendy Knoller
Transcribed by: Coffee Mug, Eleonora, Sebastiano & Vanessa
Final check by Kim
[Scene: Central Perk]
(Joey and Ross enter. Phoebe and Mike are sitting on the couch, reading a magazine.)

Phoebe: Hey!
Ross: Hey, what are you doing?
Mike: Oh, figuring out our wedding plans.
Chandler: That's funny, we were doing the same thing!
Ross: Yeah!
Phoebe: It's really crazy! The hall, the dress, the food... I-I had no idea how expensive this stuff was!
Chandler: Yeah it is really pricey. I mean, I freaked when I first heard the numbers.
Phoebe: So what did you two do about it?
Chandler: It was pretty simple actually, I came up with a couple of cost-cutting solutions, wrote out a list and Monica told me to go to hell.
Ross: There's no way around it Pheebs, you just gonna have to accept the fact that this is gonna cost you a lot of money.
Mike: I heard that weddings are like a 40 billion dollar a year industry.
Ross: Yeah, and I'm responsible for just like half of that.
Phoebe: But really, it does seem like this money could be put to better use?

Phoebe: Yeah! Now, how would you feel if we gave all the wedding money to charity and we just got married at City Hall?
Mike: I think it would make me wanna marry you even more. (he kisses her)
Ross: I've got to say you guys, that's an incredible gesture!
Chandler: (to Ross) Maybe you do that next time you get married!
Ross: No, no, no. The next time it's gonna be a Hawaii at sunset. [pause] But maybe the time after that!
Opening Credits
[Scene: Monica and Chandler's apartment]
(Monica is cleaning the table, Chandler is sitting on the sofa. Joey enters.)
Joey: Hey!
Chandler: Hey!
Joey: What's going on?
Chandler: Our adoption social worker is coming by today so we are cleaning the apartment.
Monica: (sarcastically) We?
Chandler: You know you don't want me to help. You can't have it both ways!
Joey: Hey, is this person who decides whether or not you... get a baby?
Chandler: Kind of. She's coming by to interview us and see where we live.
Monica: And it has to go perfectly, because if she doesn't like something about us she can keep us off every adoption list in the state.
Joey: Hey, maybe I should stop by! She could be a soap opera fan! It's very impressive when the little people know a celebrity.
Chandler: (pointing at himself) Little people?
Joey: (pointing at himself) Celebrity.
Monica: Ok, so I think I'm just about done here, unless you have any bad stuff hidden somewhere, like... porn or cigarettes?
Chandler: What...? NO!
Monica: Chandler?
Chandler: (he stands up and he feels very offended) I don't, and I'm offended by the insinuation!
Monica: Ok, so there's not a magazine under the couch, or a pack of cigarettes taped to the back of the toilet tank, or a filthy video in the VCR?
Chandler: I'll admit to the cigarettes and the magazine, but that tape is not mine.
Monica: It isn't mine!
Joey: (going out with the VCR in his hand) Well, I guess we'll never know whose
it is!
[Scene: The New York City Children's fund hallway.]
Charity guy: May I help you?
Phoebe: Yes. We're here to make a rather sizeable donation to the children.
Charity guy: Well, any contribution, large or small, is always appreciated.
Phoebe: Well, I think you're gonna appreciate it the crap out of this one (she gives him a check)
Charity guy: Well, this is very generous!
Phoebe: And we don't want any recognition. This is completely anonymous.
Mike: Completely anonymous. From two kind strangers.
Phoebe: Mr. X and Phoebe Buffay.
Charity guy: Well if you like, we can include your names in our newsletter.
Mike: Not necessary.
Phoebe: Buffay is spelled B-U-F-F-A-Y.
Mike: And "X" is spelled uhm... "Mike Hannigan".
Charity guy: Right. Well, on behalf of the children: thank you both very much.
Phoebe: Sure, I so glad we did this. It feels so good!
Mike: It does. It feels really good!
Phoebe: Oh, look! And we get these free t-shirts! (she takes a t-shirt which was on the counter)
Charity guy: Oh, actually, that's the shirt I wore to the gym.
Phoebe: Mhm... it's moist.
[Scene: Joey and Rachel's apartment.]
Ross: (he enters) Hi!
Rachel: Hi! Emma will be up in a minute!
Ross: Oh, good!
Rachel: Oh hey Ross... Listen, I heard about you and Charlie. I'm really sorry.
Ross: Oh, that's OK. I'm sure there are tons of other beautiful paleontologists out there.
Rachel: Absolutely.
Ross: There was one! She's it! All the rest look like they should live under a bridge!
Rachel: So, uhm... what are you gonna do today?
Ross: Well, I was thinking of taking Emma to the playground!
Rachel: Oh my God, what!?
Ross: Like I said I was thinking of taking Emma to the museum of knives and fire!
Rachel: Ok, look, Ross. I do not want Emma going to the playground.
Ross: Be-caaauuuse...
Rachel: (upset) All right, well, if you must know... I had a traumatic... swing incident... when I was little.
Ross: Seriously?
Rachel: Yes, I was 4 years old and I was on the swing and then all of a sudden my hair got tangled in the chain. And to get me out my mom had to-had to cut a big chunk of my hair! (crying) And it was uneven for weeks!
Ross: (sarcastic) And you made it through that? I wonder who's gonna play you in the movie!
Rachel: Ok, fine! You can make fun of me. I do not want Emma going there. And I was thinking Claire Danes.
Ross: Look, I'm sorry to hear about your tragedy, ok? But the swings are perfectly safe, and besides Emma loves them. You know what, you should come with us and you'll see!
Rachel: Ross, those things go like 40 miles an hour! Ok? When you're... and there is that moment when you are at the top, when you just don't know if you're gonna return back to earth!

Rachel: All right!

Rachel: Irrational, huh? All right, well, I’ll remember that the next time you freak out about a spider in your apartment!
Ross: Oh, yeah, that’s the same, I am sure there are thirty different
species of poisonous swings!
[Scene: Monica’s apartment. Somebody knocks the door]
Monica: Oh my God, the adoption lady is early!
Chandler: Ok, ok, here we go.
Monica: Ok.
Chandler: Here we go. Stand up straight. (smiling) Big smile. (opens the door and both are smiling exaggeratedly)
Phoebe: Hello, is this the creepy residence?
Monica: We’re waiting for the adoption lady, but, hey, I’m glad you’re here. I was cleaning this morning and I found this (she puts a box on the table and opens it). I don’t know if you wanna use it, but…
Phoebe: Awe, this is so sweet of you! But you know what? I won’t be needing a veil, I actually won’t be wearing a dress at all!
Monica: I told you! I am not coming to a naked wedding!
Phoebe: No, no, no, we’re not having a big reception, we took the money we were gonna spend on a wedding and we donate them to the children charity.
Monica: That’s crazy! (Phoebe looks bewildered). I am sorry. I just can’t imagine giving up my one wedding day like that!
Phoebe: We, you know, we’re different! We don’t care about having a huge party.
Monica: That’s right. You’re making a commitment and that’s the same, whether you do that at the Plaza or, where are you gonna do it?
Phoebe: City Hall.
Monica: Ow! (Chandler slaps her on her back) Oh, that sounds nice! I am just there for jury duty. They really spruce that place up!
Phoebe: It’s ok, it’s ok. I made my decision. What I really want is a great big wedding (she covers her mouth)
Monica: Yay!
Chandler: But you already gave all your money to charity!
Phoebe: Well, I’ll just ask for it back!
Chandler: I don’t think you can do that!
Monica: Why not!
Chandler: That’s sweet, honey, but save something for the adoption Lady.
[Scene: The playground. Ross put Emma on the swing and they’re ready to play]
Rachel: Ok, careful.
Ross: Ok.
Rachel: Careful, watch her hair. WATCH HER HAIR!
Ross: Rach, she’s got like three hairs!
Rachel: I know (she touches Emma’s head) but they’re just so beautiful! Oh, my God, I just pulled one out.
Ross: I promise you she’s safe! No watch how much she loves this.
Rachel: Ok.
Ross (to Emma): Ready sweety?
Rachel: Ok.
Ross: Here we go! (He starts pushing Emma)
Rachel: Ok, careful, ok. (Emma giggles) Oh, she’s smiling!
Ross: See, I told you!
Rachel: Awe! (Emma laughs) Oh my God! Looks, she’s a little dare-devil! Oh, let me push, can I push?
Ross: Oh, absolutely!
Rachel: Ok. Oh God. (To Ross) Get the camera, it’s in the diaper bag.
Ross: Ok! (he takes the camera and walks backwards to take a shot) See?
[Scene: The New York City Children's fund ]
Mike: We’re seriously asking for our money back?
Phoebe: It’s for our wedding day! Right, now, is this guy gay or straight, because one of us gonna have to start flirting.
Charity guy: Wow!  I don’t think that that’s ever happened before.
Phoebe (to Mike): Gay, go.
Mike (to the charity guy): Oh my God, I love your shirt!
Phoebe: The donation we made earlier, we k…, we w…, we want it back.
Charity guy: Excuse me?
Phoebe: Yeah. See, that money was for a big wedding, that we thought we didn’t want, but it turns out we do.
Charity guy: So you’re asking us to refund your donation to the children?
Mike: Yeah! This feels really good.
Phoebe: I am sorry. I am, but this wedding is just really important to me.
Charity guy: Hey, it’s not my business, (he takes their check from a drawer) besides it’s probably a good thing. We really would have been spoiling the children, all those food, and warm clothing…
Phoebe: Hey, that’s not fair! A person’s wedding is important! And especially to me! Ok? I didn’t have a graduation party! And I didn’t go to Prom.   She storms out)
Mike: She could have been talking about either one of us.
[Scene: Monica’s apartment. Somebody knocks the door]
Laura: Hi, I am Laura, I am here for your adoption interview.
Monica: Hi, I am Monica and this is Chandler. Please come in.
Laura: Thank you!
Monica: Would you like something to drink?
Laura: Oh, water would be fine.
Monica: Ok. Great. I am so glad that you are here. We’re really excited about getting this process started.
Chandler: Oh, because we love kids. Love ‘em to death.Well, not actually to death, that's just a figure of speech - we love kids the appropriate amount... as allowed by law.
Laura: Your place is just lovely.
Monica: Ah, thank you. This building does have a wholesome family feel to it.
Laura: You know, I... I feel like I've been here before. Are any other couples
in the
building adopting?
Monica: Is that that couple on the first floor? Because we should get a baby
before
them. Yeah! That guy tried to sell me drugs. (Laura looks shocked)
Chandler: But other than that... wholesome, wholesome building.
Laura: Oh...
Chandler: What?
Laura: I just realized why I remember this place.
Monica: Really? What is it?
Laura: Oh, it's nothing. I went on a date with a guy who lived in this building
and it
didn't end very well.
Monica: Ohh... that wouldn't by any chance be... Joey Tribbiani?
Laura: Yes!
Chandler: Of course it was!
Laura: Yeah, we had a really great night and in the morning he promised he
would call
me and he didn't.
Chandler: RAT BASTARD!
Laura: So you're not friends with him?
Monica and Chandler: OH GOD NO! Nope, no, no, no. No! No, no. Nope! No, no, no, no, no, no, no, no, no. NO! (finally Monica concludes) No!
Laura: Well, I'm sorry I brought it up. So, are either one of you planning
on staying at
home with your child... (someone knocks on the door)
Joey: (form the other side of the door) Hellooo? Anybody in there order a celebrity?
(He starts to enter the apartment and Chandler runs to the door and shuts it
back in
his face) OW!
Laura: What was that?
Chandler: Oh, it's just some crazy guy who roams the halls here. He's great
with
kids though.
[Scene: Ross and Rachel are at the playground with Emma.
 I didn't say the 'F' word! (They go away)
Rachel: Ross, see! I told you, those swings are evil! Alright, that is it.
That is
the last time Emma is getting on one of those things for her entire life.
Ross: No! No, no, no, no, okay, it wasn't the swing's fault. It was my fault
and kind
of that (point to the kid that kicked him) kids fault. Who is still laughing.
Nice.
Rachel: Ross, c'mon, please. Can we just get out of here, before somebody else
gets
hurt?
Ross: No wait, okay, okay, I have an idea. I want you to get on the swing,
okay? And
you'll see that there's nothing to be afraid of.
Rachel: (looks at him suspiciously) I know what this is all about... You've
always been
jealous of my hair.
Ross: Look, I just think you're an adult, okay?
Rachel: Alright fine. I'll do it.
Ross: Good.
Rachel: If you hold a spider.
Ross: (He freaks out and starts jumping around brushing his sweater) WHAT? WHERE? WHERE?
Rachel: IF you hold a spider.
Ross: I know. (Rachel bends down to Emma and Ross looks over his shoulder again,
afraid)
[Scene: Chandler and Monica's apartment. Chandler is still leaning against the door, keeping Joey out, who is still banging and shouting on the other side.]
Joey: Guys? Everything ok? It's me, Joe...
Chandler: (Screams to interrupt Joey) AAAAAAAAAAAAAAAAAAAAA......AAAaaa-doption!!
Laura: What's going on?
Chandler: Oh, just like I said. That crazy... Bert... roaming the halls. (Joey
bangs on
the door again)
Joey: Guys!?
Monica: Keep on roaming Bert! We don't want any crazy today!
Joey: What's going on?
Chandler: WE'LL TALK TO YOU LATER, BERT. EVERYTHNG'S FINE!!
(cut to Joey on the other side, who finally leaves the door and goes to his apartment)
Joey: Everything doesn't sound fine!
Laura: Is he alright out there by himself?
Chandler: Oh yeah! He has a caretaker. His older brother... Ernie.
Laura: Bert and Ernie!
Chandler: (nervous smile) You can't make this stuff up!
[Scene: Central Perk. Phoebe and Mike enter]
Mike: You never told me about that guy on your sweet sixteen. Oh, ugh. I'm
sorry about
that.
Phoebe: (Lightly) Oh! It ended okay. One of my friends shot him.
Mike: Well, hey, at least you're getting a proper wedding.
Phoebe: Yeah, I really do. You know, I had nothing growing up. (thinks for
a few
seconds) Just like the kids I took the money from.
Mike: No! No, no. I see where this is going. Don't make me go back there.
Phoebe: Look, I can't have a wedding with this money now. It's tainted.
Mike: Alright, fine. We'll give the money back.
Phoebe: And if that guy at the charity gives us a hard time, my friend hasn't
shot
anyone in a really long time.
[Scene: Monica and Chandler's. They are preparing to show Laura around. Laura is standing with her back to the window, Chandler and Monica are standing on either side of her, facing each other.
Laura: Well, I must say, this seems like a lovely environment to raise a child in.
Monica: Oh, by the way, you are more than welcome to look under any of the
furniture,
because, believe me, you won't find any porn or cigarettes under there!
Laura: Oh! Well, actually, before we look around, let me make sure I have everything
I need
up to here...
(She starts checking her form. Chandler sees movement near the window from
the corner of his eye and when he looks he spots Joey climbing up the fire escape
and
onto their balcony. He warns Monica silently.)
Monica: (Pulls Laura into the spare room) Why don't I show you the baby's room?

Joey: Well, you wouldn't let me in, so I thought you were in trouble.
Chandler: Well, we're not.
Joey: But you called me 'Bert'!? That's our code word for danger!
Chandler: We don't have a code word.
Joey: We don't? We really should. From now on, 'Bert' will be our code word for danger.
(Monica talks loudly in the baby's room)
Monica: So that was the baby's room. (They come out and Chandler throws Joey
behind
the couch and puts his foot on him. Monica looks at Chandler)
Monica: (To Chandler) What room should we see next?
Chandler: Any room that isn't behind this couch! (laughs nervously)
Monica: (laughs nervously as well, Laura looks confused) (To Laura) Some people
don't
get him, but I think he's really funny! (She takes Laura to their own bedroom).
(Joey gets up and look annoyed)
Joey: (quivering with anger) I did not care for that!
Chandler: (escorting Joey to the door) You have to get out of here. You slept
with
our social worker and you never called her back and she is still pissed, so
she can't
see you.
Joey: Ok, ok! (He leaves)
Chandler: Ok!
(Joey leaves and closes the door behind him. Chandler walks towards the living room, but then Joey enters again.)
Chandler: What?
Joey: I forgot my bat.
(He picks up his bat and holds it up, but then Monica and Laura enter the living room again. When Laura sees Joey, she freezes...)
Laura: Oh my God!
Chandler: And for the last time, we do not want to be friends with you! And we don't want to buy your bat! (Joey lowers his bat)
Laura: What are you doing here?
Joey: (to Chandler) Bert! Bert! Bert! Bert!
Laura: Are you friends with him?
Chandler: I can explain... Joey...
Joey: Uhm... ok... uhm... Well, yeah... You have got some nerve, coming back here. I can't believe you never called me.
Laura: Excuse me?
Joey: Oh... yeah... Probably you don't even remember my name. It's Joey, by the way. And don't bother telling me yours, because I totally remember it... lady. Yeah! I waited weeks for you to call me.
Laura: I gave you my number, you never called me.
Joey: No, no! Don't try to turn this around on me, ok? I'm not some kind of... social work, ok, that you can just... do.
Laura: (embarrassed towards Chandler and Monica) Well, I'm pretty sure I gave you my number.
Joey: Really? Think about it. Come on!
Laura: I don't know... Well, maybe I'm wrong... I'm sorry...
Joey: No, no, hey, no! Too late for apologies... ok? You broke my heart. You know how many women I had to sleep with to get over you? (and he leaves the apartment, leaving her shocked)
Laura: Joey, wait!
Joey: (acting sad) NO! I waited a long time, I can't wait anymore... (and closes the door behind him)
Laura: (laughing nervously) I'm sorry that you had to see that. I'm so embarrassed...
Chandler: Oh, that's really ok.
Monica: Yeah, that we totally understand. Dating is hard.
 And I've got to say... I think you're going to make excellent parents.
(Chandler and Monica hug each other, and then Joey enters the apartment again.)
Joey: LAURA! (and points to her, very confident)
[Scene: The New York City Children's Fund building. Phoebe and Mike are entering.]
Phoebe: (to the Charity guy) We're back!
Charity guy: Are you here to take more money? Because, I think what you're looking for is an ATM.
Mike: No, no, we're here to give the money back.
Phoebe: Yeah, because you know what, it's... it's all about the children.
(the Charity guy smiles wanting to take the check, but Phoebe pulls it back again. His smile fades.)
Phoebe: Although... it's also about the wedding... Ugh, alright... here. (she gives the check and pulls it back again) No... Oh God... Oh!
Charity guy: If I haven't said so already sir, (sarcastically pointing to Phoebe) congratulations!
Mike: (takes the check from Phoebe) Ok, look! Enough! Alright? I'm stepping in. I'm putting my foot down! As your future husband I'm going to make this decision for us. (thinking) Now... what do you think we should do?
Charity guy: You know what? It's not your decision anymore.
Mike: What?
Charity guy: On behalf of the Children of New York, I reject your money.
Phoebe: But... but... but we're giving you this!
Charity guy: Yeah... And I'm giving it back to you... Come on! Consider it a contribution. (gives the check to Phoebe)
Phoebe: (looks at the amount on the check, and gasps) Well, this is very generous!
Charity guy: Please, take the check, go have a great wedding and a wonderful life together.
Mike: Well, I mean... It sounds good to me. And that way we can save up, come back in a few years and make an even bigger donation.
Charity guy: Absolutely! And when you do, make sure you ask for Brian.
Phoebe: Oh, is that you?
Charity guy: No!
[Scene: Chandler and Monica's apartment. They are sitting in their living room when the phone rings.]
Monica: Hello...? Oh hi... Oh my God...! Really...? I can't wait to tell Chandler... Ok, goodbye. (hangs up)
Chandler: Wrong number?
Monica: It was Laura... She gave us a great report and we are officially on the waiting list.
Chandler: That's great!
Monica: Now we just have to wait for a call and... and someone tells us there's a baby waiting for us. Oh...
(Chandler and Monica hug and after a while the telephone rings again... Monica's eyes get bigger. Chandler answers.)
Chandler: Hello...? Have you seen Joey's bat?
COMMERCIAL BREAK
[Scene: The playground. Ross, Rachel and Emma are still there. Rachel comes walking to Ross and Emma with something between her hands.]
Rachel: Ok... I got a spider. There were two, I picked the bigger one.
Ross: (nervously) Ok...
Rachel: Ok... (and passes the spider to Ross who holds it in between his hands)
Ross: (Gasps and speaks at a higher pitch) This feels perfectly normal. Ok, get on the swing!
Rachel: (reluctantly) Ok... O-k...
(She slowly grabs the chains of the swing, swings her hair back, and sits down.)
Rachel: (more confident) Ok...
(She slowly walks forward and backward, to gain speed...)
Rachel: whoo... ok... wow... ok... OH!
Ross: See?
Rachel: A-alright! I can do this.
Ross: There you go! Good for you! And you know what, I'm actually getting used to this little guy. I don't really even feel him in here anymore.
Rachel: That's because he's on your neck.
Ross: Well... (realizes, screaming like a little girl, trying to get rid of the spider) Whaa... aaah... aaahhh...
(Ross is now preoccupied with the spider, and forgets that Rachel is still using the swing. While trying to get rid of the spider, he stands in front of Rachel, who bumps into him, throwing him on the ground again.)
Rachel: ROSS!
(Rachel tries to stop mid-swing, and the swing starts to turn from side to side)
end


Basic Bindings
Computeds
Methods, Events, and Watchers
Binding Classes
For/Foreach Bindings
Components
Components with Slots
Vue Router


The Mustang Mach-E is Ford's new electric SUV
by Staff WriterFord will unveil the Mustang Mach-E electric SUV on November 17, before the LA motor show begins. Leaked images reveal design details.
The name of the all-electric Ford SUV – the Mustang Mach-E, conceived as a high-performance rival to the Tesla Model Y – was officially confirmed ahead of its unveiling. The vehicle had previously been referred to as 'Mustang-inspired' but had not been given a name.
Images of the Ford Mustang Mach-E had surfaced online, showcasing the styling of the new electric SUV. The model seems to have carried over some design characteristics from the current generation Mustang, like the long hood and the wide rear haunches. It does, however, get some aerodynamically efficient design elements like the new grille (which is closed off) and smooth and almost crossover-like overall design. As per these images, the interior, too, sports a more minimalist design, with a large vertically-mounted infotainment screen taking centre stage on the dashboard and a neat digital instrument cluster replacing the traditional analogue unit.
The Ford Mustang Mach-E electric SUV will be revealed on Sunday November 17, ahead of the Los Angeles motor show.
The move suggests that Ford is planning to grow the Mustang nameplate into a fuller model line, taking advantage of its heritage in the US market while lending it authority in the crucial Chinese market. Sales of the current Mustang in Europe, where it dominates its sector, also suggest the name resonates globally.
Ford also announced today that it will begin taking bookings for the Mustang Mach-E in the US and Europe, immediately after it's revealed, with the first wave of buyers being offered the option of a highly specced First Edition model. However, full pricing hasn't yet been announced, while Chinese buyers won't be able to put down a deposit until a later date.
Internationally, the Mustang Mach-E is expected to hit the roads in 2020, suggesting the car in Los Angeles will be a production model rather than a concept. Ford is understood to have had huge internal debates over using the Mustang name in production. The new model was given the 'Mach 1' tag during early development because of strong public opinion against the use of the branding that’s historically reserved for Mustangs, but Ford has now decided to combine both.
The new car is the first Ford designed as an electric car from the ground up, with a bespoke new platform enabling both rear and four-wheel drive. It will crown the brand’s wide-reaching electrification plan under which European customers will be offered a hybrid, plug-in hybrid or fully electric version of every new model launched. Ford has officially revealed that the electric SUV will be capable of 595km of WLTP-certified range on a single charge. A less expensive version with lower battery capacity and range is also expected.
Ford has made no announcement regarding its plans to bring the Mustang Mach-E to the Indian market. However, the brand did announce a joint venture (JV) with Mahindra for the Indian market. As per the terms of the JV, Mahindra will co-develop seven new models with Ford for the Indian market.


Contact Us +91<PHONE_NUMBER> / 01 |<EMAIL_ADDRESS>UK
Hospital
HEALTH SERVICES SYSTEM
New User Registeration
USERNAME
PASSWORD
© UK Hospital, site designed & developed by Aditya Kumar Singh and Suyash gupta


Screen space refraction, much like screen space reflection, adds a touch of realism you can't find anywhere else. Glass, plastic, water, and other transparent/translucent materials spring to life.
Screen space reflection and screen space refraction work almost identically expect for one major difference. Instead of using the reflected vector, screen space refraction uses the refracted vector. It's a slight change in code but a big difference visually.
Like SSAO, you'll need the vertex positions in view space. Referrer back to SSAO for details.
However, unlike SSAO, you'll need the scene's vertex positions with and without the refractive objects. Refractive surfaces are translucent, meaning you can see through them. Since you can see through them, you'll need the vertex positions behind the refractive surface. Having both the foreground and background vertex positions will allow you to calculate UV coordinates and depth.
To compute the refractions, you'll need the scene's foreground vertex normals in view space. The background vertex normals aren't needed unless you need to incorporate the background surface detail while calculating the refracted UV coordinates and distances. Referrer back to SSAO for details.
Here you see the water refracting the light with and without normal maps. If available, be sure to use the normal mapped normals instead of the vertex normals. The smoother and flatter the surface, the harder it is to tell the light is being refracted. There will be some distortion but not enough to make it worthwhile.
To use the normal maps instead, you'll need to transform the normal mapped normals from tangent space to view space just like you did in the lighting calculations. You can see this being done in normal.frag.
Just like SSAO and screen space reflection, screen space refraction goes back and forth between the screen and view space. You'll need the camera lens' projection matrix to transform points in view space to clip space. From clip space, you'll have to transform the points again to UV space. Once in UV space, you can sample a vertex/fragment position from the scene which will be the closest position in the scene to your sample. This is the screen space part in screen space refraction since the "screen" is a texture UV mapped over a screen shaped rectangle.
Recall that UV coordinates range from zero to one for both U and V. The screen is just a 2D texture UV mapped over a screen-sized rectangle. Knowing this, the example code doesn't actually need the final rendering of the scene to compute the refraction. It can instead calculate what UV coordinate each screen pixel will eventually use. These calculated UV coordinates can be saved to a framebuffer texture and used later when the scene has been rendered.
The process of refracting the UV coordinates is very similar to the process of reflecting the UV coordinates. Below are the adjustments you'll need to turn reflection into refraction.
// ...
uniform sampler2D positionFromTexture;
uniform sampler2D positionToTexture;
uniform sampler2D normalFromTexture;
// ...
Reflection only deals with what is in front of the reflective surface. Refraction, however, deals with what is behind the refractive surface. To accommodate this, you'll need both the vertex positions of the scene with the refracting surfaces taken out and the vertex positions of the scene with the refracting surfaces left in.
positionFromTexture
are the scene's vertex positions with the refracting surfaces left in. positionToTexture
are the scene's vertex positions with the refracting surfaces taken out. normalFromTexture
are the scene's vertex normals with the refraction surfaces left in. There's no need for the vertex normals behind the refractive surfaces unless you want to incorporate the surface detail for the background geometry.
Refraction has one more adjustable parameter than reflection. rior
is the relative index of refraction or relative refractive index. It is the ratio of the refraction indexes of two mediums. So for example, going from water to air is 1 / 1.33 ≈ 0.75
. The numerator is the refractive index of the medium the light is leaving and the denominator is the refractive index of the medium the light is entering. An rior
of one means the light passes right through without being refracted or bent. As rior
grows, the refraction will become a reflection.
There's no requirement that rior
must adhere to the real world. The demo uses 1.05
. This is completely unrealistic (light does not travel faster through water than air) but the realistic setting produced too many artifacts. In the end, the distortion only has to be believable—not realistic.
rior
values above one tend to elongate the refraction while numbers below one tend to shrink the refraction.
As it was with screen space reflection, the screen doesn't have the entire geometry of the scene. A refracted ray may march through the screen space and never hit a captured surface. Or it may hit a surface but it's the backside not captured by the camera. When this happened during reflection, the fragment was left blank. This indicated no reflection or not enough information to determine a reflection. Leaving the fragment blank was fine for reflection since the reflective surface would fill in the gaps.
For refraction, however, we must set the fragment to some UV. If the fragment is left blank, the refractive surface will contain holes that let the detail behind it come through. This would be okay for a completely transparent surface but usually the refractive surface will have some tint to it, reflection, etc.
// ...
vec2 texSize = textureSize(positionFromTexture, 0).xy;
vec2 texCoord = gl_FragCoord.xy / texSize;
vec4 uv = vec4(texCoord.xy, 1, 1);
// ...
The best choice is to select the UV as if the rior
was one. This will leave the UV coordinate unchanged, allowing the background to show through instead of there being a hole in the refractive surface.
Here you see the refracted UV texture for the mill scene. The wheel and waterway disturb what is otherwise a smooth gradient. The disruptions shift the UV coordinates from their screen position to their refracted screen position.
// ...
vec3 unitPositionFrom = normalize(positionFrom.xyz);
vec3 normalFrom = normalize(texture(normalFromTexture, texCoord).xyz);
vec3 pivot = normalize(refract(unitPositionFrom, normalFrom, rior.x));
// ...
The most important difference is the calculation of the refracted vector versus the reflected vector. Both use the unit position and normal but refract
takes an additional parameter specifying the relative refractive index.
// ...
frag += increment;
uv.xy = frag / texSize;
positionTo = texture(positionToTexture, uv.xy);
// ...
The positionTo
, sampled by the uv
coordinates, uses the positionToTexture
. For reflection, you only need one framebuffer texture containing the scene's interpolated vertex positions in view space. However, for refraction, positionToTexture
contains the vertex positions of the scene minus the refractive surfaces since the refraction ray typically goes behind the surface. If positionFromTexture
and positionToTexture
were the same for refraction, the refracted ray would hit the refractive surface instead of what is behind it.
You'll need a mask to filter out the non-refractive parts of the scene. This mask will determine which fragment does and does not receive a refracted color. You could use this mask during the refracted UV calculation step or later when you actually sample the colors at the refracted UV coordinates.
The mill scene uses the models' material specular as a mask. For the demo's purposes, the specular map is sufficient but you may want to use a more specialized map. Refer back to screen space reflection for how to render the specular map.
You'll need to render the parts of the scene behind the refractive objects. This can be done by hiding the refractive objects and then rendering the scene to a framebuffer texture.
// ...
uniform sampler2D uvTexture;
uniform sampler2D refractionMaskTexture;
uniform sampler2D positionFromTexture;
uniform sampler2D positionToTexture;
uniform sampler2D backgroundColorTexture;
// ...
To render the actual refractions or foreground colors, you'll need the refracted UV coordinates, refraction mask, the foreground and background vertex positions, and the background colors.
tintColor
and depthMax
are adjustable parameters. tintColor
colorizes the background color. depthMax
ranges from zero to infinity. When the distance between the foreground and background position reaches depthMax
, the foreground color will be the fully tinted background color. At distance zero, the foreground will be the background color.
// ...
vec2 texSize = textureSize(backgroundColorTexture, 0).xy;
vec2 texCoord = gl_FragCoord.xy / texSize;
vec4 uv = texture(uvTexture, texCoord);
vec4 mask = texture(maskTexture, texCoord);
vec4 positionFrom = texture(positionFromTexture, texCoord);
vec4 positionTo = texture(positionToTexture, uv.xy);
vec4 backgroundColor = texture(backgroundColorTexture, uv.xy);
if (refractionMask.r <= 0) { fragColor = vec4(0); return; }
// ...
Pull out the uv coordinates, mask, background position, foreground position, and the background color.
If the refraction mask is turned off for this fragment, return nothing.
// ...
float depth = length(positionTo.xyz - positionFrom.xyz);
float mixture = clamp(depth / depthMax, 0, 1);
vec3 shallowColor = backgroundColor.rgb;
vec3 deepColor = mix(shallowColor, tintColor.rgb, tintColor.a);
vec3 foregroundColor = mix(shallowColor, deepColor, mixture);
// ...
Calculate the depth or distance between the foreground position and the background position. At zero depth, the foreground color will be the shallow color. At depthMax
, the foreground color will be the deep color. The deep color is the background color tinted with tintColor
.
Recall that the blue channel, in the refracted UV texture, is set to the visibility. The visibility declines as the refracted ray points back at the camera. While the visibility should always be one, it is put here for completeness. As the visibility lessens, the fragment color will receive less and less of the foreground color.
(C) 2019 David Lettier
lettier.com


Heroku only uses Postres for databases. That’s fine, so you just need install it locally for developement. Well, you are probably pulling your hair out trying to install the pg gem on Mavericks. That’s because you can’t (as of yet anyway). The good news is there’s a quick and easy way.
Just install the Postgres App, then install the gem in terminal, pointing it to the new config file.
Now, make sure the config is there first. If you are using another version of the app, you may have a different name there for “Postres93.app”. But that should do it. Run “bundle install” and click the app to get postres running. Your rails project should work fine now.


Testing the Cascade
Hello WebDevCon! This is Testing the Cascade . It's a talk on CSS testing. If you stumbled in here looking for JDD's talk on Lodash, you're in the wrong place. Please stick around—I don't blame you if you don't. Lodash is one of the most important JavaScript utility libraries right now.
Thank you for joining me today as we explore this interesting and severely underrecognized area of web development.
Hans Sprecher
www.hanssprecher.com | @honzie
My name's Hans Sprecher. You can find me on the web, hanssprecher.com, and on Twitter, @honzie. I currently work for Time Inc. We don't—unfortunately—make time machines, Tardises (Tardi?), DeLoreans, or even watches. But in a sense, we make Time.
But before working in publishing, I worked at a local book shop.
And massive shout out to Amazon for hosting this event and opening it up to the public—both speakers and attendees. This is my fourth time speaking here—it's a delight to see it grow and open up.
ca. 1999, from www.mozillazine.org
So, I realized the other day—I've been coding for more than half my life. This is roughly what the web looked like when I started. Actually, this was a couple years after starting. And I'd like to begin with the story of my first page.
But, not webpage page. Pager page.
The terrifying type of page. I was going to play the audio. Have a beautiful recording of the pager audio. But that is almost certainly against the Geneva convention.
I was working on an application within a b2b platform. My team owned both applications on the site as well as the platform architecture. One of the things we wanted to add was a CSS reset and a series of utility classes.
Utility Classes
.none {
display: none;
}
.left {
float: left;
}
.right {
float: right;
}
Utility classes—like the type every developer has. These are some of mine. It seems like everyone has a dozen classes they carry around from project to project. A framework. A set of tools.
Was .left
used?
One of the benefits of utility classes is easy-to-remember names that work everywhere in the project. One of the downsides is that easy-to-remember names are likely used elsewhere.
So, we looked at our code and the code of other applications on our platform to see who was using the class.
Comprehensive?
No.
Could exist in HTML
Could exist in JS
Programmatically constructed
Returned from AJAX injection
The deployment went smoothly, and a new feature was added to the dashboard. We basked in post-release bliss for a brief period of time.
Just like pad-left breaking the internet, class left broke one of our tenants.
* Not showing 1 result
What happened? Another app was using the same class name. It wasn't caught because the CSS and HTML files that included it weren't indexed in the search tool we were using. For full disclosure, we were not using Google.
I
Namespacing Classes
We can use namespaces. By namespacing classes, their influence is limited. That's an upside. Two downsides. (1) this removes some of our ability to fully use the cascade, limiting CSS' effectiveness—and code re-use. (2) and potentially more serious: namespacing isn't checked while writing code.
II
Scoping CSS
We can scope our CSS. A couple options exist. (1) Load only on pages that need it. Downside: extra HTTP requests—at least until we are on HTTP2—and doesn't solve for pages with multiple teams contributing to it. (2) Use technology that strictly sandboxes CSS, like React or Web Components.
III
Testing
We can test, automatically looking at our CSS to ensure it fulfills our needs. This is what I want to focus on today.
Why?
CSS is Declarative.
But, why bother? CSS is a declarative language.
4 Scope &
CSS years ago.
A CSS declaration is read and acted on as written by the browser.
That's not how we write CSS.
There's a difference between how we write CSS in practice and how we go about understanding how to represent a design in CSS.
Declaring Each Property
No Cascade
Only Override Defaults
Let's imagine a world without a cascade. Where every DOM node needs to have every non-default style overridden.
83 kB
11,939 kB
Amazon, for an unrecognized user, transfers a scant 83kb of minified CSS to the user.
Amazon: Original: 82.6 kB, Rendered: 12-20.5 MB (incognito vs logged in).
130 kB
20,138 kB
Facebook: Original: 130, Rendered: 20 MB
302 kB
8,854 kB
TIME: Original: 302, Rendered: 9 MB.
35 kB
2,062 kB
A List Apart: Original: 35 kB, Rendered: 2 MB
Power of Cascade
Brand
Increase
Amazon
0.7%
Facebook
0.6%
Time
3.4%
A List Apart
1.7%
Great CSS Captures Design
Great Good CSS Captures Design
Consider a section with a header and text.
Let's imagine that the section's font size changes. It gets a bit bigger. Should the header become larger? Should they remain the same size? The answer could be the difference between using em
and rem
units.
With Bootstrap, both header and text are coded in pixels, so they are independent—just like if we used rem
s. However, the font color inherits for both elements.
CSS is crafted. It is opinionated. The browser defaults have opinions about reading content. Responsive design and table-based designs approach the fundamental design direction of the web from two sides. Frameworks and themes have opinions. Bootstrap has opinions.
Otherwise—were these opinions not important, these tools would have worked better.
www.alistapart.com/article/material-honesty-on-the-web
Photo Casey Marshall
Opinions give CSS its grain. As one of three languages we work with in the browser, this grain defines the material of the web.
Like other designed objects, the best results are often derived when the work is honest to the medium it is crafted in. Consider the Eames lounge chair—a modern classic. It works with the grain (so to speak) of the plywood it is crafted with. A List Apart has a great article on materially honest design that's well worth a read.
Integration
Does it play nice?
Plain Demo
Shopping is hard. Let's write CSS.
Who likes live demos? I do. They go horrifically wrong in new and exciting ways. So, let's look at a set of tests written off of the redlines from our designer. Remember the declarative language? We change some semicolons and commas.
Framework Demo
More realistic complexity.
Unit Isolation
But how can we ensure the test only probes a 'unit' of code? CSS can be deep and complex.
We can render a page with only a block on it. The buy box might seem too large, or too small. I think it's pretty goldilocks-sized.
Unit Test Layout
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Unit Test Layout</title>
<link rel="stylesheet" href="defaults.css">
{block-styles}
</head>
<body>
{block}
{block-test-scripts}
</body>
</html>
Isolating Styles
index.styl:
@require 'header'
@require 'article'
> stylus header/index.styl --out ./header.css
> stylus article/index.styl --out ./article.css
Relative Styles
// 'frame' is the Quixote test frame.
var header = frame.get("#header");
var navbar = frame.get(".navbar");
navbar.assert({
top: header.bottom.plus(10),
left: frame.page().left,
width: frame.viewport().width
});
Unit Tools
Quixote
Hardy
CSS U
Selenium
The majority of CSS testing tools seem to be built around unit testing. Quixote is the most fluid and powerful. It is the spiritual successor to Hardy. CSS U was what we did our first demo in and is written as an extremely lightweight tool specifically for this talk. And Selenium has built-in supprot for style testing.
The only CSS tests I've owned in production were in Selenium. It wasn't the most fun to write in, which hampered our adoption. Used to have a red and a green lava lamp. The green lit up when all tests failed. Bless Selenium. The red one was always on. Einstein's definition of insanity doesn't at all work for selenium.
Integration
Unit testing works in isolation and is good for test driven development (kidding). Most importantly, unit testing ensures our code meets our specs.
The tech behind unit testing—computing the properties of a rendered DOM can be leveraged for integration tests.
www.fastcompany.com/1288618
This is where integration testing hits its stride. In 2009, Dustin Curtis reimagined the American Airlines homepage and posted it on his blog. An American employee (think it was a senior UX designer) commented back that the homepage was the cummulative work of several dozen teams. That's a fairly massive integration.
Run All Tests
<!DOCTYPE html>
<html>
...
<body>
...
{#test-scripts}
<script src="{.}"></script>
{/test-scripts}
</body>
</html>
Our first plan is to take the conjunction of our integration tests. This is straightforward, since HTML and CSS act globally.
Benefits
Catches overly broad changes
Increases confidence in refactors
Photo By ori2uru
Writing well-integrated CSS is like pouring champagne into a champagne tower and watching it cascade down to the bottom. The entire structure feels unstable. But it's so graceful.
Of course, since it's unstable, it's easy to knock down. That's when the party gets interesting, but you have to get more champagne saucers.
Deploying CSS feels like setting up a perfect spread on a table and then pulling out the tablecloth and seeing if the candles are still standing.
Reference Snapshot
Define canonical snapshot
Compute styles from Frozen DOM
Display diff
Define new snapshot
Regression testing follows a pattern. Define what things currently look like, see what the new version looks like, find the difference, and then declare the new snapshot to be proper if it looks like how we expect.
Brand
Increase
Amazon
0.7%
Facebook
0.6%
Time
3.4%
A List Apart
1.7%
Earlier in the talk, when I showed this table, it was built off of a computed stylesheet for an entire DOM.
Hashed Output
1WjQjFEhaUrZQnduRU7HwgrP+61eVtQPCXF2QqTRvu8=
MBnRDpjsEOHQIyp7dU6Bi9b1rd671RW7hr7jU9hWfhM=
We can compute a hash based on the computed stylesheet. When these hashes are the same, no styles on the page were affected.
Output Diff
And this allows us to view the difference between the computed stylesheets when there is a difference.
Image Diff
https://en.wikipedia.org/wiki/File:Spot_the_difference.png
Hashing and comparing 20mb stylesheets can be slow, and the output is arcane. A better solution might come from the Sunday comics. Remember sitting on a carpet as a kid trying to find all the changes between two images?
This is The Drive. It's a site my team owns about cars and car culture. On the left is the production version. On the right is a local version I was playing with. It has a different header.
By comparing these two sites, I can see—highlighted in blue—what my changes were. It's important that the content on the sites is the same.
Wraith
github.com/BBC-News/wraith
The tool I'm using is called Wraith, and it was developed at the BBC.
One fascinating note is that in development,they noted that the edges of text always showed as a difference. This was because of antialiasing and subpixel rendering differences. To fix this, they allow for a fuzz factor to be placed in. This helps avoid false negatives.
Bugs: Gotta Catch them All
Photo By Didier Desouens
If tests should cover somewhere between 0 and 100 percent of the code, one solution is to take a snapshot and codify all bugs as part of the canonical snapshot.
Important Components
Navigation
Purchase flow
Interactive Components
Avoiding Testing
Tests can be expensive to write and maintain, and can add to the friction of releasing a new feature. They should be created after weighing the benefits of the additional cost against the risk of a regression. To this end, we should consider how to avoid writing tests.
One strategy, which we touched on earlier is to sandbox our components. This can be done with new technologies like React and web components. Although sandboxing all CSS removes some of the benefits of the cascade—used responsibly, it can be a powerful tool.
Static Analysis
Not all sites can use react—nor should they. But static analysis provides some strong alternatives by standardizing the CSS we write.
Naming Philosophies
Flat specificity frameworks
OOCSS
BEM
Class Prefixes
.u-
: Utility
.js-
: JS hook
.qa-
: Test hook
._h-
: Hack
Confident CSS
These tools give us a new 'C' in 'CSS'.
We've created a stronger architecture for our styles and our views.
This reinforces quality in our products—fewer breaks and less regression.
By enabling us to move forward with confidence and refactor our CSS, we create cleaner sites with lower latency.
Slides: github.com/honzie/testing-the-cascade
github.com/BBC-News/wraith
github.com/jamesshore/quixote
github.com/honzie/cssu
csste.st/