Amazon Elastic Compute Cloud SpotFleet NetworkInterfaces
NetworkInterfaces
is a property of the Amazon Elastic Compute Cloud SpotFleet LaunchSpecifications property that defines the network interface of the instances in a Spot fleet.
Syntax
JSON
{ "AssociatePublicIpAddress" :
Boolean
, "DeleteOnTermination" :Boolean
, "Description" :String
, "DeviceIndex" :Integer
, "Groups" : [String, ...
], "Ipv6AddressCount" :Integer
, "Ipv6Addresses" : [IPv6 Address Type, ...
], "NetworkInterfaceId" :String
, "PrivateIpAddresses" : [PrivateIpAddresses, ...
], "SecondaryPrivateIpAddressCount" :Integer
, "SubnetId" :String
}
YAML
AssociatePublicIpAddress:
Boolean
DeleteOnTermination:Boolean
Description:String
DeviceIndex:Integer
Groups: -String
Ipv6AddressCount:Integer
Ipv6Addresses: -IPv6 Address Type
NetworkInterfaceId:String
PrivateIpAddresses: -PrivateIpAddresses
SecondaryPrivateIpAddressCount:Integer
SubnetId:String
Properties
AssociatePublicIpAddress
-
Indicates whether to assign a public IP address to an instance that you launch in a VPC. You can assign the public IP address can only to a network interface for eth0, and only to a new network interface, not an existing one.
Required: No
Type: Boolean
DeleteOnTermination
-
Indicates whether to delete the network interface when the instance terminates.
Required: No
Type: Boolean
Description
-
The description of this network interface.
Required: No
Type: String
DeviceIndex
-
The network interface's position in the attachment order.
Required: No
Type: Integer
Groups
-
A list of security group IDs to associate with this network interface.
Required: No
Type: List of String values
Ipv6AddressCount
-
The number of IPv6 addresses to associate with the network interface. Amazon Elastic Compute Cloud automatically selects the IPv6 addresses from the subnet range. To specify specific IPv6 addresses, use the
Ipv6Addresses
property and don't specify this property.Required: No
Type: Integer
Ipv6Addresses
-
One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet to associate with the network interface. To specify a number of IPv6 addresses, use the
Ipv6AddressCount
property and don't specify this property.Required: No
Type: List of EC2 NetworkInterface Ipv6Addresses
NetworkInterfaceId
-
A network interface ID.
Required: No
Type: String
PrivateIpAddresses
-
One or more private IP addresses to assign to the network interface.
Required: No
Type: List of Amazon Elastic Compute Cloud SpotFleet NetworkInterfaces PrivateIpAddresses
SecondaryPrivateIpAddressCount
-
The number of secondary private IP addresses that Amazon EC2 automatically assigns to the network interface.
Required: No
Type: Integer
SubnetId
-
The ID of the subnet to associate with the network interface.
Required: Conditional. If you don't specify the
NetworkInterfaceId
property, you must specify this property.Type: String


14 killed as bus, truck collide in Rajasthan’s Bikaner district
The bus was on its way from Bikaner to Jaipur and the accident occurred outside Lakhasar village
by Mohammed IqbalFourteen people were killed and 18 injured when a bus and a truck collided on National Highway 11 near Shri Dungargarh in Rajasthan’s Bikaner district on Monday. The injured were rushed to a nearby hospital.
The bus overturned after the accident and its front portion was mangled, in which several passengers got stuck. Rescuers faced difficulty in extricating the passengers as the bus caught fire after the collision.
The bus was on its way from Bikaner to Jaipur and the accident occurred outside Lakhasar village. According to police sources, 10 people died on the spot and four succumbed to injuries in the hospital.


This is a primary alert—check it out!
This is a scuess alert—check it out!
This is a danger alert—check it out!


Moby gets huge new ‘Animal Rights’ tattoo down both arms to mark his “vegan anniversary”
Dedication.
Moby has posted a new photo proclaiming his dedication to veganism, which shows the words ‘Animal Rights’ tattooed across his arms.
The musician and producer, who has been a vegan for the past 32 years, revealed his bold ‘Vegan For Life’ neck inking back in September. On Instagram, he said that “getting [the] tattoo seemed like a pretty safe bet” as his fight for the cause was his “life’s work”.
Now, Moby has posted an image of himself with the words ‘Animal Rights’ inked across his arms in huge letters. The star explained that he got the new tattoo to mark his 32nd “vegan anniversary”, which he reached this month.
“As November is my 32 year vegan anniversary I thought I’d get a tattoo (well, technically 12 tattoos) to celebrate,” Moby wrote alongside the Instagram photo earlier this evening (November 12).
“I’m a vegan animal rights activist for many reasons, but ultimately because I believe at the core of my being that every animal has the right to live their own life, according to their own will.” He concluded his post with the hashtags #veganforlife and #animalrights.
“Moby you are on another level,” said one follower in the comments section. Another wrote: “Now that’s commitment.”
The artist’s new tattoos come after he opened his own vegan eatery in Los Angeles back in 2015. His Little Pine restaurant is located in the Silver Lake neighbourhood and serves a selection of Mediterranean-inspired vegan dishes.
Earlier this year, Moby cancelled his UK book tour after he was branded “creepy” for claiming that he once dated Natalie Portman, a claim that Portman denies.


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import controllers.routes.{PdfDownloadController, RulingController} @import config.AppConfig @import models.{BTIApplication, Case, CaseStatus, Decision, StoredAttachment} @import views.html.partials.{attachments_list, tab_heading} @import models.forms.DecisionFormData @import views.html.partials.ruling.{ruling_certificate_link} @import models.request.AuthenticatedRequest @(d: Option[Decision], useTabIndex : Option[Int] = None)(implicit request: AuthenticatedRequest[_], messages: Messages, appConfig: AppConfig) @d.map { d =>
Commodity code for your goods: @{ d.bindingCommodityCode match { case "" => messages("case.decision.explanation.commodityCode") case _ => d.bindingCommodityCode } }
@d.explanation
I have made this decision under section 24 of The Taxation (Cross-border Trade) Act 2018 by HM Revenue & Customs.
Get more information about classification in the guide Apply for an Advance Tariff Ruling that can be used from 1 January 2021.


Conor O'Shea to succeed Nigel Melville as RFU director of performance rugby
Conor O'Shea will join the Rugby Football Union as director of performance rugby next year, the governing body has announced.
Irishman O'Shea resigned as Italy head coach this month and was previously director of rugby at Harlequins.
"I am privileged and honoured and it is an incredible opportunity to join at a really exciting time for English rugby," said the 49-year-old, who will become the RFU's director of performance rugby.
"There is an exciting vision at the RFU. It is not just about winning tomorrow, but also about sustaining success and winning long into the future.
"We can really look forward to rejuvenating and re-energising the performance pathway to help, support and push England rugby on."
Nigel Melville earlier announced he will step down as the RFU's director of professional rugby in December.
Melville, who joined the governing body in July 2016, has opted to pursue new opportunities.
"I am proud of all that the organisation has achieved over the last three years during some challenging times," said Melville.
"I believe that England Rugby is in a great place and that leaving after the 2019 Rugby World Cup is the right time as the RFU start a new era and prepare for the next Rugby World Cup cycle."
During Melville's tenure, Eddie Jones' England reached the World Cup final in Japan where they were beaten by South Africa earlier this month.
The 58-year-old also acted as the RFU's interim chief executive in the first half of 2019, ahead of Bill Sweeney's arrival as CEO in May.
Sweeney said: "On behalf of everyone at the RFU, I would like to thank Nigel for his valuable contribution to the organisation and to England Rugby.
"His professionalism and knowledge of rugby and sport is outstanding and he will be missed. In particular, I am grateful for the support that he has given to me since I joined. He leaves with our very best wishes for the future."
body check tags ::


Jacksonville plays host to BG
by EndPlayCORAL GABLES, Fla. - Bowling Green (1-1) vs. Jacksonville (1-1)
Watsco Center, Coral Gables, Florida; Monday, 7 p.m. EST
BOTTOM LINE: Bowling Green takes on Jacksonville in an early season matchup. Bowling Green fell 88-79 at LSU in its last outing. Jacksonville is coming off an 83-65 home win over Johnson (FL) in its most recent game.
LEADING THE WAY: Jacksonville's Aamahne Santos has averaged 18 points while Bryce Workman has put up 15 points and nine rebounds. For the Falcons, Justin Turner has averaged 23 points, six rebounds and two steals while Caleb Fields has put up 17 points and two steals.TERRIFIC TURNER: Turner has connected on 54.5 percent of the 11 3-pointers he's attempted. He's also made 100 percent of his free throws this season.
DID YOU KNOW: Bowling Green as a team has made 10.5 3-pointers per game this season, which is ninth-most among Division I teams.
___
For more AP college basketball coverage: https://apnews.com/Collegebasketball and http://twitter.com/AP_Top25
___
This was generated by Automated Insights, http://www.automatedinsights.com/ap, using data from STATS LLC, https://www.stats.com


@ui5/webcomponents
<ui5-segmentedbutton>
Basic SegmentedButton
Map
Satellite
Terrain
Map
Satellite
Terrain
SegmentedButton with Icons
SegmentedButton with 5 ToggleButtons
Button
Pressed ToggleButton With Bigger Text
Button
Pressed ToggleButton
Press me
Button
Pressed ToggleButton With Bigger Text
Button
ToggleButton
Press me


Web Server adapter settings
General
White List
IP:
Port:
Secure(HTTPS):
Public certificate:
Private certificate:
Chained certificate:
Authentication:
Login timeout(sec):
Cache:
Socket.IO Instance (Optional):
socket_help
Force Web-Sockets:
Internal 'Simple API':
Run as:
Let's Encrypt settings
Use Lets Encrypt certificates:
Use this instance for automatic update:
Port to check the domain:
Login Redirect:
New user's group:
Enabled:
IP
User
object
state
file
read
list
write
remove
read
list
write
create
remove
read
list
write
create
remove
default
defaultName


SimpleOFAC Suite uses the popular java reporting library jasperreports; It has the following built-in reports.
Note
SQL query type report will run the SQLscript and export the result either as Excel or PDF file. It requires some knowledge on our internal tables.
Click the Reports Tab in the left navigation menu under Report Admin, a new Reports Tab folder will be created in the right panel. There are 3 sub-Tab folders, Search Reports, Search Result Reports and Create New Reports.
Search Criteria
| Field Name | Description |
|---|---|
| Report Id | This is the unique number for the Reports entry in the system . |
| Report Name | Name of the Reports. |
| Report Type | Select report type(s) in the drop down list. |
| Org Unit Code | Select values from the drop down list. |
| Description | The description of this report |
| CreatedByDate | Date and Time when this entry is created |
| CreatedByUser | User who create this entry. |
| ModifiedByDate | Last modified date and time. |
| ModifiedByUser | Last modified user. |
| AND | Select AND radio box if you want those criteria add together. |
| OR | Select OR radio box if you want to get the result if either criteria meet |
The top part is the table which shows the list of the reports that meet the search criteria. The bottom part is the details of the selected entry.
Double Click the selected record in the table to modify this entry. A new Tab folder Update/Delete Reports will be added, as shown below.
Click the Next Button to go to wizard step 2
It will show screens corresponding to the type of the report. For example, if the report type is WLA report, then it will show a watchList alert search Search WatchList Alert panel, allowing the user to select the watchList alerts to be included in this report. It is pre-populated with the data in the Configuration Data field.
Set search criteria; then clicking the Find Button will get a list of watchList alerts that meet the search criteria.
Click the Next button to go to wizard step 3: Save the configuration
Select the “Create New Reports” Tab to create a new entry.
| Field Name | Description |
|---|---|
| Report Id | This is the unique number for the Reports entry in the system . |
| Report Name | Name of the Reports. |
| Report Type | Select report type(s) in the drop down list. |
| Org Unit Code | Select values from the drop down list. |
| Description | The description of this report |
| Data | Configuration data to define what watchList alerts should be included in the report. User has to set the data value via Configure button. |
| CreatedByDate | Date and Time when this Reports entry is created. It is a read only field. |
| CreatedByUser | User who create this Reports entry. It is a read only field. |
| ModifiedByDate | Last modified date and time; It is a read only field. |
| ModifiedByUser | Last modified user; It is a read only field. |


Bachelor of Science in Computer Science, May 2016
Minor: Cognitive and Brain Sciences
Honors: Dean's List
Fall 2014 Exchange Semester
+ Web Programming (COMP 0020)
+ Computation Theory (COMP 0170)
+ Introduction to Cognitive and Brain Sciences (PSY 0009)
+ Introduction to Linear Algebra
+ Android Mobile Application Development (COMP 0050)
+ Machine Structure and Assembly Language Programming (COMP 0040)
+ Human Computer Interaction (COMP 0171)
+ Data Structures (COMP 0015)
+ Discrete Mathematics (MATH 0061)
+ Introduction to Computer Science (COMP 0011)
+ Logic (PHIL 0033)
+ Hold office hours, aid in lab sections, and grade assignments
for Introduction to Computer Science (COMP 0011)
+ Learned to use MAKER technologies and techniques such as microprocessing devices
(Arduino, Espruino), 3D printers, laser cutters, robotics, and stop-motion animation
+ Planned and ran workshops for young makers (ages K-8) at the Cambridge Friends School,
a Quaker school located in Cambridge
+ Co-planned and facilitated teacher workshops for teachers interested in learning
about making and engineering in schools
+ Completed design tasks to improve the Makerspace at the Cambridge Friends School
+ Collected data of student and teacher activities while engaged in making
+ Aided in studies involving mental and physical rotation in which participants rotate objects on screen
using a handheld sensor
+ Served as an experimenter and ran individual participants through studies in order
to collect accurate data
+ Developed marketing plans in order to increase hypertension awareness across the West Coast
by researching and analyzing statstical demographic data
+ Assisted at AHA sponsored events by supervising booths and aiding in creative displays
to promote heart disease and stroke awareness
+ C++
+ C
+ Java
+ HTML/CSS
+ Linux
+ JavaScript
+ Adobe InDesign
+ Adobe Photshop
+ Adobe Illustrator
+ Women in Computer Science, August 2013 - Present
+ Tufts Computer Science Exchange, August 2013 - Present
+ DREAM: The Village Mentoring Organization, September 2013 - Present


This is my favorite places!
Isn't this nice?
Here are some things I'm going to learn at my favorite places


-
Google Discussiegroepen
productforums.google.com
Met Google Discussiegroepen kun je online forums en e-mailgroepen maken en eraan deelnemen. Bovendien profiteer je van uitgebreide ...
-
MAYDAY.US: Democracy needs an upgrade. Act now.
mayday.us
Money has corrupted politics. Join MAYDAY.US - the movement to end this corruption.
-
Coursera
www.coursera.org
Take free online classes from 80+ top universities and organizations. Coursera is a social entrepreneurship company partnering with Stanford ...
-
Google Discussiegroepen
groups.google.com
Met Google Discussiegroepen kun je online forums en e-mailgroepen maken en eraan deelnemen. Bovendien profiteer je van uitgebreide ...
-
Gmail API — Google Developers
developers.google.com
The Gmail API for interacting with user mailboxes.
-
Introducing the new Gmail API - Google Apps Developer Blog
googleappsdeveloper.blogspot.com
Wednesday, June 25, 2014 | 11:00 AM
-
Twitter / Recherche - #worldcup
twitter.com
Le meilleur des derniers Tweets à propos de #worldcup. Lisez ce que les gens disent et rejoignez la conversation.
-
The Official Microsoft ASP.NET Site
www.asp.net
ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.
-
Progress Report: Continued Product Focus
yahoo.tumblr.com
By Jay Rossiter, SVP, Cloud Platform Group At Yahoo, focus is an important part of accomplishing our mission: to make the world’s daily habits more ...
-
Shellshock: All you need to know about the Bash Bug vulnerability
www.symantec.com
Web servers at risk as new vulnerability potentially affects most versions of Linux and Unix, as well as Mac OS X.
-
iOS8 MAC Randomization – Analyzed! - MOJO Wireless
blog.airtightnetworks.com
Investigation into the workings of randomized MACs addresses. Read on to find out how they work in iOS8 on iPhone 5 and 5s. iPhone 6 testing pending.
-
Mixpanel Trends - Mixpanel | Mobile Analytics
mixpanel.com
Mixpanel is the most advanced analytics platform in the world for mobile & web.
-
NoPhone
www.kickstarter.com
The NoPhone is technology-free alternative to constant hand-to-phone contact that allows you to stay connected with the real world.
-
Hack N Slash 1.0 - Source code release!
www.youtube.com
Hack 'n' Slash is now 1.0! Grab it on Steam here: http://store.steampowered.com/app/246070/ Hack 'n' Slash is a puzzle action game about hacking - ...
-
The Truth About Programming Perception
davidwalsh.name
A comic about how developers and the people outside the development community view developers. And then the truth.
-
Research Blog: Teaching machines to read between the lines (and a new ...
googleresearch.blogspot.com
-
See who’s online more easily in Hangouts in Gmail Starting today it's ...
plus.google.com
See who’s online more easily in Hangouts in Gmail Starting today it's easier to see which of your chat buddies are currently online, thanks to a new ...
-
Gmail sur Twitter : "Video chat with 10 friends, ping a colleague, or give ...
twitter.com
Mot de passe oublié ? Vous utilisez déjà Twitter via SMS ?
-
Last account activity - Gmail Help
support.google.com
What is 'Last account activity'? Last account activity shows you information about recent activity in your mail. Recent activity includes any time ...
-
Gmail sur Twitter : "Prevent yourself from getting click-happy & deleting ...
twitter.com
Mot de passe oublié ? Vous utilisez déjà Twitter via SMS ?
-
Bill Gates ALS Ice Bucket Challenge
www.youtube.com
Bill Gates accepts Mark Zuckerberg’s ALS Ice Bucket Challenge and nominates Elon Musk, Ryan Seacrest and Chris Anderson from TED to participate and ...
-
Introducing Gmail Motion
www.youtube.com
Now you can control Gmail with your body. Learn more at http://gmail.com/motion
-
Gmail Trivia - Question 8
docs.google.com
Try contacting the owner of the form if you think this is a mistake.
-
Gmail Trivia - Question 7
docs.google.com
Try contacting the owner of the form if you think this is a mistake.
-
Gmail Trivia - Question 6
docs.google.com
Try contacting the owner of the form if you think this is a mistake.
-
Gmail Trivia - Question 5
docs.google.com
Try contacting the owner of the form if you think this is a mistake.


Symbol and array comparison
To use the symbol and array behavior, one must start by adding a $ to the end of the columnname.Compare result with symbol
This functionality was added when we wanted to compare a returning value with a value that was earlier returned in the same testpage. How to use this functionality is demonstrated with the use of the CompareValues fixture. However this will work for all fixtures extending the nl.hsac.fitnesse.fixture.fit.MapColumnFixture.Demonstration of comparing with symbol:
First store value1 and value2 in symbols so we can compare with them later.
| CompareValues | |||
| value1 | value2 | =value1? | =value2? |
| 1 | 2 | symbolValue1 = 1 | symbolValue2 = 2 |
Now compare new value1 and value2 with the values stored in symbolValue1 and symbolValue2.
| CompareValues | |||
| value1 | value2 | value1?$ | value2?$ |
| 1 | 2 | 1 (symbolValue1) | 2 (symbolValue2) |
Compare result with an array
Functionality is added to compare the returning value of a column fixture with an array of values. The array of values can consist out of literal values, symbols or a combination of the two. If the array contains symbols, the symbols need to be prefixed with a $. While the symbol comparison (discussed above) works for all fixtures extending from the nl.hsac.fitnesse.fixture.fit.MapColumnFixture, for comparing with array one need to implement a method that returns the array of values as a string, separated by a delimiter. For an example, see the asDelimiterSepList method of the CompareValuesFixture class.Demonstration of comparing with an array:
Compare value1 and value2 with values and symbols in an array.
| CompareValues | ||
| value1 | value2 | asDelimiterSepList?$ |
| 1 | 2 | 1,2 (Array[1,2]) |
| 1 | 2 | 1,2 (Array[$symbolValue1,$symbolValue2]) |
| 1 | 2 | 1,2 (Array[$symbolValue1,2]) |
The default array separator is a comma. If you need another separator, ie // then you can specify this by using the ARRAY_SEPARATOR parameter.
| CompareValues | ARRAY_SEPARATOR=// | |
| value1 | value2 | asDelimiterSepList?$ |
| 1 | 2 | 1//2 (Array[$symbolValue1//$symbolValue2]) |
Compare result with string containing a symbol
This was added to be able to compare the returning value of a column fixture with a string that contains a symbol.The symbol in the string must be place in $[..].
Demonstration of comparing with text that contains one symbol:
| CompareValues | |||
| value1 | value2 | =value2?$ | value1?$ |
| randomtext2 | 2 | storedValue2 = 2 | randomtext2 (randomtext$[storedValue2]) |
| randomtext4moreText | 4 | storedValue4 = 4 | randomtext4moreText (randomtext$[storedValue4]moreText) |
| randomtext2moreText4 | = null | randomtext2moreText4 (randomtext$[storedValue2]moreText$[storedValue4]) |


{% extends "_base.html" %} {% block body %}
Notifies GitHub users via email based on specific matches to GitHub issues, pull requests and commits


DARK SOULS STATS
© Kranti Nebhwani
Stats Planner
Vigor:
1
+
-
Attunement:
1
+
-
Endurance:
1
+
-
Vitality:
1
+
-
Strength:
1
+
-
Dexterity:
1
+
-
Intelligence:
1
+
-
Faith:
1
+
-
Luck:
1
+
-
Submit


Atletico showing interest in Torreira
by TEAMtalk MediaNAIROBI, Kenya, Nov 20 – Lucas Torreira’s agent has revealed that his client is still being chased by Atletico Madrid and suggested he is not entirely happy at Arsenal.
Atleti were keen on the Uruguay midfielder when he was with Sampdoria but missed out on his signature after the Gunners managed to lure him to the English Premier League.
However, it may not be long before he is back on the market as he has struggled for action with Arsenal this season, with Atleti keeping a close eye on developments.
The midfielder has started just four games and a change in position has not helped matters, with Gunners boss Unai Emery putting him in a more advanced role when he has played him.
Agent Pablo Bentancur suggested his client is not happy at the Emirates and also revealed a number of clubs in England and Spain, including Atletico, are keen.
“I don’t want to name the teams out of respect but I can tell you that Atletico had tried to take Lucas from Sampdoria two years ago,” he said.
“Clearly there’s interest for Torreira, especially from Spanish clubs, but I have never sat down with any club to talk about his transfer. This is because of the great respect we have for the Gunners and their general manager Raul Sanllehi.”
Whether that changes with the January transfer window fast approaching remains to be seen but Atleti will be in the hunt if he does become available.
(Visited 13 times, 1 visits today)


A curated list of elegant learnings from a djangomeister
Keep It Simple Stupid
Django is not an MVC framework, it is nothing more than routes & views; a simple and easy to use framework. Everyting else is optional.
A framework should essentially:
Don't Need It Yet
If you're wondering whether you need class based views, you probably don't need them, just use a function based view. Use url shortcuts. The same applies for most areas of software development: You don't need REST to do simple things like login
There are a myriad of 3rd party applications for Django, go forth and explore! If you need a friendly push, here are some good ones you may find helpful:


Alice appears for the first time in a cage, she is beeing judged for the arrived of monsters in wonderland, Sora, Donald and Goofy try to find the real guilty and liberate Alice.
Appears for the firs time accusing Alice for bring monsters to wonderland, and make a deal with Sora, in case he find the real guilty she will liberate Alice.
As in the wonderland original story the cat doens't help so much, he give you some tips sometimes, but that's it.
Appears sleeping and dont't let Sora, Donald and Goofy move on, so they find another way to enter in wonderland.
The personal army of Queen of Hearts, they Attack Sora, Goofy and Donald when they finally prove the innocence of alice.


Rust Editions
## Stability Guarantees * You can *always* update to the latest Rust release * Old code will *always* compile with a newer compiler * Breaking changes *only* for security fixes
> To put it simply, our responsibility is to ensure that you never dread upgrading > Rust. If your code compiles on Rust stable 1.0, it should compile with Rust stable > 1.x with a minimum of hassle. [Stability as a Deliverable](https://blog.rust-lang.org/2014/10/30/Stability.html)
## Stability Without Stagnation [What is Rust 2018?](https://blog.rust-lang.org/2018/07/27/what-is-rust-2018.html) * New language features require new keywords * Old patterns get replaced by new ones * Many small changes add up over time
## Enter Editions * Old code will *always* compile with a newer compiler * Breaking changes are opt-in and limited * Different editions can still work together
New compilers still support old editions
Opt-into new editions: ```toml edition = "2018" ```
Breaking changes only affect syntax
Give Rust 2018 a try!


@()
This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.


IL
about
future
contact
Who Am I
asdfdasasdffdsaasdf
main
next
Hopes
content
main
next
main
Contact
Name
Email
Reason for contact:
Hire
Collaborate
Other
Message
Send


VPN Client
Technologies used: Docopt, OpenVPN, PyInstaller, Python, Vagrant.
The Objective
Create a command-line tool to check on the health and speed of multiple VPN servers.
The Process
This was a project I worked on at a previous company. I can get into a bit more detail in person.
The Result
Proactive alerts on the health of VPN servers. This resulted in less downtime for customers, and a better understanding of performance. Ultimately leading to happier customers.
Thanks for reading! Feel free to email me and see more projects!


readmail
Description
BASH eMail client. Only POP and SMTP are supported.
Probably the worlds smallest, simplest, yet full featured eMail client without any dependencies beyond a working GNU environment running BASH.
Use it as a fallback, as a quick & slim alternative or as a tool to read, send and manage messages.
Download
Latest version: readmail
The development version is available on
GitHub.
You may easily clone the project by running:
$ git clone git://github.com/markusfisch/readmail
Requirements
A working GNU environment running BASH.
Features
The following commands are available:
$ readmail h q p(eek) peek for new messages s(tatus) request mailbox status n(ew) list new messages only t(ail) [N] list the latest N messages l(ist) [N[-N]]... list messages r(ead) [N[-N]]... read message x(tract) N extract attachments of message N f(ile) N[-N]... file message d(elete) N[-N]... remove message a(nswer) N answer message w(rite) ADDRESS write a message to ADDRESS m(ime) FILE show a message file in MIME format (e.g. *.mbs) c(lear) clear screen (or CTRL+L) h(elp) show this info q(uit) quit (or CTRL+D)
You may invoke the commands directly from the command line, e.g.:
$ readmail s 'f 1' 'r 3-5' q
Or inside the interactive shell.
Examples
Quickly get the size of your mailbox:
$ readmail s q
Show your latest message:
$ readmail r q
Get the number of new messages since the last call:
$ FORMAT="%d\n" readmail p q
Send a message in one line:
$ ATTACHMENTS=' ' SUBJECT='subject' BODY='body' \ readmail 'w<EMAIL_ADDRESS><EMAIL_ADDRESS>q
Send one or more files:
$ ATTACHMENTS='file1 file2' SUBJECT='subject' BODY='body' \ readmail 'w<EMAIL_ADDRESS>q
Installation
Download the file above
Make it executable:
$ chmod a+x readmail
Place the script somewhere in your path, i.e. for a local install do:
$ mv readmail ~/bin/readmail
Set up your configuration, see below
Configuration
Just run readmail or:
Create ".readmailrc" in your home directory:
$ vi ~/.readmailrc
Put the following lines into it (fill in the values in brackets):
POP_HOST='(your POP3 server)' POP_ACCOUNT='(your POP3 account)' POP_PASSWORD='(your POP3 password, this is optional)'
If you don't want to give passwords, readmail will ask you for it.
Append this block to configure your SMTP settings:
SMTP_HOST='(your SMTP server)' SMTP_ACCOUNT='(your SMTP account)' SMTP_PASSWORD='(your SMTP password, this is optional)'
TIP: If you use "@" for the name of the script, you have always quick access and can query your eMails by:
$ @ n q
In this case your configuration file must read ".@rc", of course.
License
readmail is Public Domain.


NiceRack Smart Cabinet
Insert Cabinet and OTP
Row Number:
Column Number:
OTP:
Open Cabinet
Cabinet Row Number
C1
C2
C3
C4
R1
R2
R3
R4
R5


- Farmhouse Organics; Assorted row crops; farmhouseorganics.com/csa. Support today + sign up for a CSA. Starts in May.
- Foraged and Found Edibles; Wild harvested berries & greens, wild mushrooms; foragedandfoundedibles.com/shop-georgetown-storefront-pickup. Visit the store + please preorder if possible; 950 S Myrtle St., Seattle, WA. Entrance on Flora St.
- Gracie's Greens; Assorted microgreens. Visit Venison Valley Farmstand Vashon, 9617 S.W. 192nd St., Vashon, WA 98070
- Jarvis Growers; Garlic; sequimgarlic.com. Order online for delivery or visit the farm store, 226 Cook Rd., Sequim WA 98382
- Kirsop Farm; Assorted row crops, chicken,eggs, pork, lamb, stock, sheeps wool products; kirsopfarm.com/contact
- Lesedi Farm; Frozen samosas, kale chips, beans, sauces; lesedifarms.com. Order online for delivery
- Little Big Farm; Assorted row crops; littlebigcsa.com/csa. Support today + sign up for a CSA. 8 week spring salad for April/May. Drop sites in West Seattle, Queen Anne, and Olympia.
- Nash's Organic Produce; Row crops, grains (flour, oats, etc.) pork, eggs. Visit the farm store; 1865 E. Anderson Rd., Sequim, WA 98382
- Olsen Farms; Beef, pork, lamb, assorted potatoes. Order online or call for pick up + potential delivery. Email<EMAIL_ADDRESS>or call<PHONE_NUMBER>. Also included in Pacific Coast Harvest boxes + Tight5 farm boxes.
- River Run Farm; Assorted row crops; riverrun.farm/signup. Visit the farm stand or support today + sign up for a CSA; 2800 Woodcock Rd., Sequim, WA 98382
- Skinny Kitty Farms; Assorted row crops, lamb, chicken. Support today + sign up for a CSA. Pick up Wednesdays at Northgate. Pick up Sundays on Capitol Hill (north end of the market area). CSA deliveries avaialable. Email<EMAIL_ADDRESS>for more info.
- Sno-Valley Mushrooms; Assorted mushrooms; snovalleymushrooms.square.site. Visit the farm. Pick up at La Pasta or preorder and pick up at locations around Seattle. Preorder - farm address: 16328 315th Ave. N.E., Duvall. La Pasta location: 9118 35th Ave. N.E., Seattle, WA 98115.
- River Run Farm; Assorted row crops; riverrun.farm/signup. Visit the farm stand or support today + sign up for a CSA; 2800 Woodcock Rd., Sequim, WA 98382
- Spoon Full Farm; Assorted row crops, beef, eggs, ferments; spoonfullfarm.com/summercsa. Order online for delivery options or visit the farm; 1250 Dudley Rd., Thorp, WA 98946. Support today + sign up for CSA home deliveries on Capitol Hill + Madron; products also available at Onda Origins Cafe in Hillman City.
- Steel Wheel Farm; Assorted row crops. Visit the farm stand, 3701 324th Ave. S.E., Fall City, WA 98024
- Stoney Plains Organic Farm; Row crops; facebook.com/pg/StoneyPlainsOrganicFarm. Visit the farm store 10 a.m.-5 p.m. 3808 163rd Ave. S.W., Tenino, WA
- Tonnemaker Family Orchard; Assorted row crops, tree fruit, value-added: dried peppers, dried fruit; tonnemaker.com/csa.html


What protections do I have against credit discrimination?
Responsible borrowers use credit to go to college, open businesses, and buy homes. American consumers should have the opportunity to use credit to build a better future for themselves and their loved ones. Credit discrimination prevents people from having access to these opportunities, and can make credit more expensive.
What is credit discrimination?
The Equal Credit Opportunity Act makes it illegal for a creditor to discriminate in any aspect of credit transaction based on certain characteristics.
In addition, the Fair Housing Act makes many discrimination practices in home financing illegal.
On this page
It is illegal to:
- Refuse you credit if you qualify for it
- Discourage you from applying for credit
- Offer you credit on terms that are less favorable, like a higher interest rate, than terms offered to someone with similar qualifications
- Close your account
On the basis of:
- Race or color
- Religion
- National origin
- Sex (including gender)*
- Marital status
- Age (as long as you are old enough to enter into a contract)
- Receipt of income from any public assistance program
- Exercising in good faith your rights under the Consumer Credit Protection Act.
*Currently, the law supports arguments that the prohibition against sex discrimination also affords broad protection from discrimination based on a consumer’s gender identity and sexual orientation.
How can I protect myself from credit discrimination?
Watch for warning signs
Credit discrimination is often hidden or even unintentional, which makes it hard to spot. Look for red flags, such as:
- You are treated differently in person than on the phone.
- You are discouraged from applying for credit.
- You hear the lender make negative comments about race, national origin, sex, or other protected groups.
- You are refused credit even though you qualify for it.
- You are offered credit with a higher rate than the one you applied for, even though you qualify for the lower rate.
- You are denied credit, but not given a reason why or told how to find out why.
- Your deal sounds too good to be true.
- You feel pushed or pressured to sign.
Submit a complaint
If you believe a lender has discriminated against you for any reason, you can file a complaint. We’ll provide you a way to monitor the status and progress of your complaint.
Tell us your story
You can help us protect consumers and create a fairer marketplace even if you don’t want to file a complaint. Tell us about your experience.
Ask CFPB
Learn more about what factors lenders can consider in deciding whether to lend money and deciding what features to offer, like the interest rate or the term of the loan.
More ways you can protect yourself
- Do your research. Shop around. Learn about the various features and downsides of the credit product you want. Research the current interest rates. Compare products from several lenders. Talk to your friends and family members about their credit products.
- Know your credit history. Creditors will make decisions based on your credit history. Be sure there are no mistakes or missing items in your credit reports. Get a free copy of your credit report from each of the three biggest consumer reporting agencies every 12 months. Get your free copy from AnnualCreditReport.com.
- Ask questions. Don’t focus only on your monthly payment. Be sure you understand the rates and fees you will pay over the long run. Ask whether the rates and fees quoted to you by your lender are set, or if there are any circumstances in which the quoted rates and fees could change. Keep asking questions until you are fully satisfied. If a creditor does not want to answer your questions, this could be a bad sign.
 Your lender shouldn’t make you feel rushed, or unnecessarily delay action on your application. Walking away and continuing the discussion later, if you so choose, is a good way to control communications with the lender.
- Don’t sign until you’re satisfied that the credit product works for you. Remember, the product that works for you today may not work for you down the road. Make sure you’ve considered both before you sign.
Our work
The CFPB is unique among financial regulators. Other regulators focus on the safety and soundness of the financial institutions first. The CFPB is the first to focus primarily on the American consumer. To learn more about our fair lending efforts, check out our recent report to Congress or our recent blog posts.
We work to ensure fair, equitable, and nondiscriminatory access to credit for both individuals and communities through:
- Data-driven research and analysis of consumer financial markets and services;
- Enforcement and oversight of Federal fair lending laws; and
- Promotion of fair lending compliance and education among industry, fair lending, civil rights, and consumer and community advocates.
Additional Information
Below you will find links to additional information about your fair lending rights:
Consumer Financial Protection Bureau: For more information on credit discrimination, see our brochures for consumers (English | Spanish) and for those who work with consumers (English | Spanish).
Federal Trade Commission: Helpful tools to protect yourself from discrimination (y en español).
Department of Housing and Urban Development: Your rights under the Fair Housing Act, from HUD.
Federal Trade Commission: More about the Equal Credit Opportunity Act (y en español).
Department of Justice: Housing and Civil Enforcement Section, which also enforces antidiscrimination laws.


Our objective is to develop and encourage photography and its allied activities The aim of the Club is to harmonize all ideas and conduct photo walks on weekends and holidays aiming to capture and document nature, heritage, city culture, festivals, infra- structure and specific events of interest to photography with a broader perspective To build around the objective of photography, various other activities around photography including travel to places of interest, bringing out desk calendars, conduct meetups to share the knowledge etc., Exclusive pictures shot by the Photographers may only be used for Educational & Research documentation only.
Fashion photography is a genre of photography which is devoted to displaying clothing and other fashion items. Fashion photography is most often conducted for advertisements or fashion magazines such as Vogue, Vanity Fair, or Elle. Fashion photography has developed its own aesthetic in which the clothes and fashions are enhanced by the presence of exotic locations or accessories.
Wildlife photography is a genre of photography concerned with documenting various forms of wildlife in their natural habitat. It is one of the more challenging forms of photography. As well as requiring sound technical skills, such as being able to expose correctly, wildlife photographers generally need good field craft skills. For example, some animals are difficult to approach and thus a knowledge of the animal's behavior is needed in order to be able to predict its actions. Photographing some species may require stalking skills or the use of a hide/blind for concealment. While wildlife photographs can be taken using basic equipment, successful photography of some types of wildlife requires specialist equipment, such as macro lenses for insects, long focal length lenses for birds and underwater cameras for marine life. However, a great wildlife photograph can also be the result of being in the right place at the right time[1] and often involves a good understanding of animal behavior in order to anticipate interesting situations to capture in photography.
Street photography, also sometimes called candid photography, is photography conducted for art or enquiry that features unmediated chance encounters and random incidents[1] within public places. Although there is a difference between street and candid photography it is usually subtle with most street photography being candid in nature but not all candid photography being classifiable as street photography. Street photography does not necessitate the presence of a street or even the urban environment. Though people usually feature directly, street photography might be absent of people and can be of an object or environment where the image projects a decidedly human character in facsimile or aesthetic.[2][page needed][3]
Street photography can focus on people and their behavior in public, thereby also recording people's history. This motivation entails having also to navigate or negotiate changing expectations and laws of privacy, security and property. In this respect the street photographer is similar to social documentary photographers or photojournalists who also work in public places, but with the aim of capturing newsworthy events; any of these photographers' images may capture people and property visible within or from public places. The existence of services like Google Street View, recording public space at a massive scale, and the burgeoning trend of self-photography (selfies), further complicate ethical issues reflected in attitudes to street photography.
Abstract photography, sometimes called non-objective, experimental, conceptual or concrete photography, is a means of depicting a visual image that does not have an immediate association with the object world and that has been created through the use of photographic equipment, processes or materials. An abstract photograph may isolate a fragment of a natural scene in order to remove its inherent context from the viewer, it may be purposely staged to create a seemingly unreal appearance from real objects, or it may involve the use of color, light, shadow, texture, shape and/or form to convey a feeling, sensation or impression. The image may be produced using traditional photographic equipment like a camera, darkroom or computer, or it may be created without using a camera by directly manipulating film, paper or other photographic media, including digital presentations.
There has been no commonly-used definition of the term "abstract photography". Books and articles on the subject include everything from a completely representational image of an abstract subject matter, such as Aaron Siskind's photographs of peeling paint, to entirely non-representational imagery created without a camera or film, such as Marco Breuer's fabricated prints and books.[1] The term is both inclusive of a wide range of visual representations and explicit in its categorization of a type of photography that is visibly ambiguous by its very nature.
Many photographers, critics, art historians and others have written or spoken about abstract photography without attempting to formalize a specific meaning. Alvin Langdon Coburn in 1916 proposed that an exhibition be organized with the title "Abstract Photography", for which the entry form would clearly state that "no work will be admitted in which the interest of the subject matter is greater than the appreciation of the extraordinary."[2] The proposed exhibition did not happen, yet Coburn later created some distinctly abstract photographs.[3]
Photographer and Professor of Psychology John Suler, in his essay Photographic Psychology: Image and Psyche, said that "An abstract photograph draws away from that which is realistic or literal. It draws away from natural appearances and recognizable subjects in the actual world. Some people even say it departs from true meaning, existence, and reality itself. It stands apart from the concrete whole with its purpose instead depending on conceptual meaning and intrinsic form....Here’s the acid test: If you look at a photo and there’s a voice inside you that says 'What is it?'….Well, there you go. It’s an abstract photograph."[4]
Barbara Kasten, also a photographer and professor, wrote that "Abstract photography challenges our popular view of photography as an objective image of reality by reasserting its constructed nature....Freed from its duty to represent, abstract photography continues to be a catchall genre for the blending of mediums and disciplines. It is an arena to test photography."[1]
Photographic Points
There are many sources of attractions around SriCity. The closest being the Sriharikota Island which is surrounded by the Pulicat Lake which is the biggest lake in India. There are many beautiful birds that swim and fly around the lakes in the Sriharikota Area. The Sriharikota forest is also very special and offers some marvelous views.
The Sriharikota rocket launch station itself is located in the Sriharikota forest . Visitors interested in nature photography can bring along a camera and tripod to get some wonderful snaps of groups of birds in the Nelapattu & Pulicat Lake Bird Sanctuary. Boating is also available near Pulicat Lake. The Dutch Cemetery and Dutch Fort from the times gone by add a distinct flavor to the overall trip
Distance from Chennai : 60kms
Places to see : PulicatLake, Bird sanctuary, Boating, Tada Falls, Sriharikota Rocket launch , Station & Forest, Dutch Cemetery & Dutch Fort, Pulicat Temples.
Mode of transport : Cars, Van, Mini-Bus or Bikes. Suburban trains from Chennai Central.
Route from Chennai : Chennai - Red hills - Sricity -Sullurpeta -Sriharikota.
example:- homepage


the and {background with been margin for has {border-style The px;} #ffffff;} are COVID- from: respiratory coronavirus have disease novel this Apr case severe assessed Available px; {font-family PressAvailable SARS-CoV- accessed acute font-size may patients use However, Mar against associated double; other virus was CoV- also border-color border-width effective from illness pneumonia solid; study syndrome that therapeutic treatment which {font-style {font-weight China MedLast Medical Medicine, Remdesivir based bold can clinical courier; disease. due em; health-care higher hydroxychloroquine outbreak pandemic pt;} should tract trial who


Portfolio GitHub LinkedIn Resume Password Generator Work Day Scheduler README Generator Employee Management System ConcertHunt Project Hourly Project


Business project >From Qin Wang Lloyds TSB Pacific Limited Hong Kong Branch Fax: +852-301-66259 Thank you for giving me your time. Please be patient and read my email to you. I am a staff of Lloyds TSB Group attached in Private Banking Services. I am contacting you concerning a customer and, an investment placed under our banks management 3 years ago, I contacted you independently of our investigation and no one is informed of this communication and I Would like to intimate you with certain facts that I believe would be of interest to you. In 2000, the subject matter; ref: bb/tsb/bank/73 came to our bank to engage in business discussions with our Private Banking Services Department. He informed us that he had a financial portfolio of 8.35 million United States Dollars, which he wished to have us turn over on his behalf. I was the officer assigned to his case; I made numerous suggestions in line with my duties as the de-facto chief operations officer of the Private Banking Services Department, especially given the volume of funds he wished to put into our bank. We met on numerous occasions prior to any investments being placed. I encouraged him to consider various growth funds with prime ratings. The favored route in my advice to customers is to start by assessing data on 600 traditional stocks and bond managers and alternative investments. Based on my advice, we spun the money around various opportunities and made attractive margins for our first months of operation, the accrued profit and interest stood at this point at over 10 million United States Dollars, this margin was not the full potential of the fund but he desired low risk guaranteed returns on investments. In mid 2001, he asked that the money be liquidated because he needed to make an urgent investment requiring cash payments in Europe. He directed that I liquidate the funds and had it deposited with a firm in Europe. I informed him that our bank would have to make special arrangements to have this done and in order not to circumvent due process, the bank would have to make a 9.5 % deduction from the funds to cater for banking and statutory charges. He complained about the charges but later came around when I explained to him the complexities of the task he was asking of us. Cash movement across borders has become especially strict since the incidents of 9/11. I contacted my affiliate in Europe and had the funds available in main land Europe. I undertook all the processes and made sure I followed his precise instructions to the letter and had the funds deposited in a security consultancy firm, the firm is a specialist private firm that accepts deposits from high net worth individuals and blue chip corporations that handle valuable products or undertake transactions that need immediate access to cash. This small and highly private organization is familiar especially to the highly placed and Well- connected organizations. In line with instructions, the money was deposited. He told me he wanted the money there in anticipation of his arrival from Norway later that week. This was the last communication we had, this transpired around 20th June 2002. In June last year, we got a call from the security firm informing us of the inactivity of that particular portfolio. This was an astounding position as far as I was concerned, given the fact that I managed the private banking sector I was the only one who knew about the deposit, and I could not understand why he had not come forward to claim his deposit. I made futile efforts to locate him I immediately passed the task of locating him to the internal investigations department of our bank. Four days later, information started to trickle in, that he was apparently dead. A person who suited his description was declared dead of a heart attack in Cannes, South of France. We were soon enough able to identify the body and cause of death was confirmed. The bank immediately launched an investigation into possible surviving next of kin to alert about the situation and also to come forward to claim his estate. If you are familiar with private banking affairs, those who patronize our services usually prefer anonymity, but also some levels of detachment from conventional processes. In his bio-data form, he listed no next of kin. In the field of private banking, opening an account with us means no one will know of its existence, accounts are rarely held under a name depositors use numbers and codes to make the accounts anonymous. This bank also gives the choice to depositors of having their mail sent to them or held at the bank itself, ensuring that there are no traces of the account and as I said, rarely do they nominate next of kin. Private banking clients apart from not nominating next of kin also usually in most cases leave wills in our care, in this case; he died in testate. What I wish to relate to you will smack of unethical practice but I want you to understand something. It is only an outsider to the banking world who finds the internal politics of the banking world aberrational. The world of private banking especially is fraught with huge rewards for those who occupy certain offices and oversee certain portfolios. You should have begun by now to put together the general direction of what I propose. There is US$ 8,370,000.00 deposited, I alone have the deposit details and they will release the deposit to no one unless I instruct them to do so. I alone know of the existence of this deposit for as far as the finance firm, the transaction with our deceased customer concluded when I sent the funds to the firm, all outstanding interactions in relation to the file are just customer services and due process. The finance firm has no single idea of what's the history or nature of the deposit. They are simply awaiting instructions to release the deposit to any party that comes forward. This is the situation. This bank has spent great amounts of money trying to track this man's family; they have investigated for months and have found no family. The investigation has come to an end. My proposal , you share similar details to the late fellow I am prepared to place you in a position to instruct the finance firm to release the deposit to you as the closest surviving relation. Upon receipt of the deposit, I am prepared to share the money with you in half and no more. That is: I will simply nominate you as the next of kin and have them release the deposit to you. We share the proceeds 50/50. I would have gone ahead to ask the funds be released to me, but that would have drawn a straight line to me and my involvement in claiming the deposit. But on the other hand, you with a similar name as the original depositor would easily pass as the beneficiary with the rights to claim. I assure you that I could have the deposit released to you in a few days. I will simply inform our bank of the final closing of the file relating to the customer. I will then officially communicate with the finance company and instruct them to release the deposit to you. With these two things: all is done. The alternative would be for us to have the firm direct the funds to another bank with you as accountholder. This way there will be no need for you to think of receiving the money from the firm. We can fine-tune this based on our interactions. I am aware of the consequences of this proposal. I ask that if you find no interest in this project that you should discard this mail. I ask that you do not be vindictive or destructive. If my offer is of no appeal to you, delete this message and forget I ever contacted you. Do not destroy my career because you do not approve of my proposal. You may not know this but people like myself who have made tidy sums out of comparable situations run the whole private banking sector. I am not a criminal and what I do, I do not find against good conscience, this may be hard for you to understand, but the dynamics of my industry dictates that I make this move. Such opportunities only come ones' way once in a lifetime. I cannot let this chance pass me by I hope you understand because for once I found myself in total control and face to face with my destiny. These chances won't pass me by. I ask that you do not destroy my chance, if you will not work with me let me know and let me move on with my life but do not destroy me. I am a family man and this is an opportunity to provide them with new opportunities. There is a reward for this project and it is a task well worth undertaking. I have evaluated the risks and the only risk I have here is from you refusing to work with me and alerting my bank. I am the only one who knows of this situation, good fortune has blessed you with a name that has planted you into the center of relevance in my life. Let's share the blessing. If you give me positive signals, I will initiate this process towards a conclusion. I wish to inform you that should you contact me via official channels; I will deny knowing you and about this project. I repeat, I do not want you contacting me through my official phone lines nor do I want you contacting me through my official email account. Contact me only through this email address<EMAIL_ADDRESS>I do not want any direct link between you and me. My official lines are not secure lines as they are periodically monitored to assess our level of customer care in line with our Total Quality Management Policy. Please observe this instruction religiously. Please, again, note I am a family man; I happily married with two kids. I send you this mail not without a measure of fear as to what the consequences might be, but I know within me that nothing ventured is nothing gained and that success and riches never come easy or on a platter of gold. This is the one truth I have learned from my private banking clients. Do not betray my confidence. If we can be of one accord, we should plan a meeting, soon. I await your response. Sincerely, Qin Wang -------------------------------------------------------------------------------------- free|access - pripojeni k internetu zdarma na kterem vydelas Pripoj se k internetu zdarma pres free|access a ziskej vyhody, ktere jinde nedostanes! www.freeaccess.cz


Profit Tracker
Financial Growth Analysis
Receive Cash
"Do not save what is left after expending, but spend what is left after saving." Warren Buffett
"Do not save what is left after expending, but spend what is left after saving."


STUDENT PROGRESS
UNIT 1: Basic Web Sites and Core Development Tools
UNIT 2: Javascript and jQuery Fundamentals
LESSON 3: Data Types, Operators and Deeper into Functions in Javascript:
"WORKING"
UNIT 2: Javascript and jQuery Fundamentals
LESSON 0: Introduction
LESSON 1: Diving into jQuery
- Learn about the DOM
- Learn jQuery Fundamentals with Codecademy
- Dig Deeper into jQuery
- Get to Know the jQuery Documentation
- 37signals Revisited
LESSON 2: Functions, Control Flow, and Objects in Javascript
- Codecademy - Javascript
- Using Chrome DevTools for Javascript
LESSON 3: Data Types, Operators and Deeper into Functions in Javascript
- Mark Complete
- Eloquent Javascript
- Project 2: Javascript “Hot or Cold” (a.k.a. “Huckle Buckle Beanstalk”)
LESSON 4: Objects and Arrays in Javscript and jQuery
- More Eloquent Javascript
- Create a Shopping List Web App
MENTOR ADVICE


A demonstration of the BioFabric algorithm for graph visualization. BioFabric was developed for visualizing large biological networks, but this app demonstrates its use on a Les Miserables dataset (curated by Donald Knuth).
Each horizontal line segment represents a single node (in this case, a character), while each vertical line segment represents an edge, connecting the two nodes at either end. The nodes are sorted by degree.


You gain the service of a familiar, a spirit that takes an animal form you choose: bat, cat, crab, frog (toad), hawk, lizard, octopus, owl, poisonous snake, fish (quipper), rat, raven, sea horse, spider, or w easel. Appearing in an unoccupied space within range, the familiar has the statistics of the chosen form, though it is a celestial, fey, or fiend (your choice) instead of a beast.
Your familiar acts independently of you, but it always obeys your commands. In combat, it rolls its own initiative and acts on its own turn. A familiar can't attack, but it can take other actions as normal.
When the familiar drops to 0 hit points, it disappears, leaving behind no physical form. It reappears after you cast this spell again While your familiar is within 100 feet of you, you can communicate with it telepathically. Additionally, as an action, you can see through your familiar's eyes and hear what it hears until the start of your next turn, gaining the benefits of any special senses that the familiar has. During this time, you are deaf and blind with regard to your own senses.
As an action, you can temporarily dismiss your familiar. It disappears into a pocket dimension where it awaits your summons. Alternatively, you can dismiss it forever. As an action while it is temporarily dismissed, you can cause it to reappear in any unoccupied space within 30 feet of you.
You can't have more than one familiar at a time.  Choose one of the forms from the above list. Your familiar transforms into the chosen creature.
Finally, when you cast a spell with a range of touch, your familiar can deliver the spell as if it had cast the spell. Your familiar must be within 100 feet of you, and it must use its reaction to deliver the spell when you cast it. If the spell requires an attack roll, you use your attack modifier for the roll.


TL;DR:
- If a library module includes a flavor dimension that the app flavor does not, then use
missingDimensionStrategy
to specify default flavors from the missing dimension - More generally, you can use this any time a consumed module includes a flavor that the consumer module does not. Remember,
missingDimensionStrategy
DSL should be used in thebuild.gradle
of the consumer module. - However, point 2 might not always do what you think it is doing. In particular, when the consumer module which is missing the flavor dimension is in itself a dependency for another module, you are probably better off introducing this flavor dimension in this module, mirroring that of the consumed module.
Introduction
The Android Gradle Plugin introduces the concept of product flavors. When you have a project that contains multiple modules, it is possible that your modules do not agree on the number of flavors or flavor dimensions. The DSL offers ways to handle such situations.
The important portions of the DSL are matchingFallbacks
and missingDimensionStrategy
. Which one you choose depends on which module declares more flavors: the consuming module, or the consumed module. This table in the Android Gradle documentation explains this in more detail.
I had a slightly more complex project structure where I thought missingDimensionStrategy
would be my tool of choice, but it turns out I was wrong. This post describes my situation and why I was wrong.
Project structure
The project that I use for this blog post is here. The app itself is a shell. It has no activities, no functionality and almost no Android code. It has the following modules:
app
module.- Includes a flavor dimension
"target"
, with values"emulator"
and"realdevice"
- Depends on
intermediate-1
,intermediate-2
andleaf
- Includes a flavor dimension
intermediate-1
module.- Does not know about flavors
- Depends on
leaf
intermediate-2
module.- Does not know about flavors
- Depends on
leaf
leaf
module.- Includes the same flavor dimension and flavors as
app
module - Has no dependencies
- Includes the same flavor dimension and flavors as
String resources
To demonstrate how flavors work, I’ve created some string resources (using gradle’s resValue
feature) in every flavor, in every module that does care about the flavor. When I build an APK for a particular flavor, I can inspect the string resources in APK analyzer to figure out which variant was used.
// app/build.gradle
flavorDimensions "target"
productFlavors {
emulator {
dimension "target"
resValue("string", "name_app_module", "App Emulator")
}
realdevice {
dimension "target"
resValue("string", "name_app_module", "App Real Device")
}
}
// leaf/build.gradle
flavorDimensions "target"
productFlavors {
emulator {
dimension "target"
resValue("string", "name_leaf_module", "Leaf module Emulator")
}
realdevice {
dimension "target"
resValue("string", "name_leaf_module", "Leaf module Real Device")
}
}
The build error
This is the starting point of my experiment, and it fails to build. You can git checkout checkpoint-2
if you want to see it in action. The build error you see looks like this:
The reason for this build error is that both the intermediate
modules know nothing flavors but they depend on leaf
which does.
Configuring missingDimensionStrategy
My first attempt at fixing this was to configure the intermediate
modules to specify missingDimensionStrategy
//intermediate-1/build.gradle and intermediate-2/build.gradle
//this goes inside android { defaultConfig block
missingDimensionStrategy 'target', 'emulator'
Here we’re saying that when trying to build the intermediate modules, choose the emulator
variant of the leaf
module. This works, kind of. We can build the APKs for both flavors and we can see the correct strings get included in the built APKs.
This is what the emulatorDebug
flavor looks like. Note that it has included the strings "App Emulator"
and "Leaf module Emulator"
And here’s the realdeviceDebug
APK. Note that it has included the strings "App Real Device"
and "Leaf module Real Device"
You can git checkout checkpoint-3
if you want to see it in action.
The problem
The problem with this solution becomes obvious when you see the build output window. It contains this warning
Module ‘leaf’ has variant ‘realdeviceDebug’ selected, but the modules [‘intermediate-1’, ‘intermediate-2’] depend on variant ‘emulatorDebug’
The problem is this: When you chose realdeviceDebug
variant for app
module, the same variant is selected for leaf
module. However, for the intermediate
modules, we specified we want to use emulator
flavor.
This is not a problem for us because we explicitly stated that the intermediate flavors don’t know or care about flavors. But, how do you fix those warnings?
Making intermediate module flavor-aware
Unfortunately, the only correct way to achieve this was to make the intermediate module flavor-aware. This might seem tedious and against the original intent, but I would argue that for this situation, it is a future-proof approach compared to missingDimensionStrategy
. Because with missingDimensionStrategy
if for some reason an intermediate module had to become flavor-aware, it could end up silently choosing the wrong flavor of the leaf module.
So, the fix is to actually introduce the same flavor dimensions and flavors in the intermediate modules as in the leaf modules. You can git checkout checkpoint-4
to see it in action. If you are worried about the repetitive flavor configuration code in the intermdiate modules, you can extract it into a flavors.gradle
and then use it in the build.gradle files.
// root flavors.gradle
android {
flavorDimensions "target"
productFlavors {
emulator {
dimension "target"
}
realdevice {
dimension "target"
}
}
}
// build.gradle of intermediate modules
apply from: '../flavors.gradle'
Conclusion
Use missingDimensionStrategy
mainly if your app module is missing flavor dimensions compared to library modules. Think twice before using it in a module that is itself a dependency for another module. It might look like it works, but it might be doing the wrong thing.
Credits
Thanks to Xavier Ducrohet (@droidxav) for pointing out the potential pitfalls of using missingDimensionStrategy
for my use case.