text:
Q: Methods for updating SHA-1 fingerprint on IOT devices Disclaimer: Complete newbie trying to wrap my head around SSL.
I am developing a device using an ESP8266 which needs to connect securely to a known server for IOT purposes, we will develop and control the server endpoint as well as the ESP8266 based client (BearSSL etc), we will not control the SSL certificate updates on the hosted server and need to manage the changing certificate keys.
Using the SHA-1 fingerprint for the certificate installed on the server appears to be the most straightforward approach and will provide the basic security we need. The data we will be exchanging is not sensitive or mission critical, we just need to keep the web server happy going into the future.
I understand the need to update the SHA-1 fingerprint on the client when the server certificate updates and this would typically be done with a firmware update over a secure connection. Our use case will make this very difficult for various reasons, so I am trying to establish the best method for updating the fingerprint as it changes without requiring re-flashing/OTA updates.
What I don't understand is why there is a need to protect/hide/embed the fingerprint when any public user or hacker can visit our SSL server site and obtain the fingerprint through a browser or OpenSSL query. Can I simply not retrieve the current fingerprint (maybe encode it with our own basic encryption) from a known HTTP non SSL server perhaps running PHP which will obtain and calculate the current fingerprint of our SSL server for use by our IOT device ? Our device would query the HTTP server first, retrieve the fingerprint and store it in EEPROM until it expires, then simply re-obtain the new fingerprint as required. Then it goes off and talks to the SSL server.
So the crux of the question is, if a hacker can get the fingerprint straight from our SSL server, why would this be an unsafe approach, which I'm sure it is ?
I don't want to go down the trusted root CA with long expiry approach as our devices may need to run for 20-30 years and we'll need a device certificate update procedure regardless, and would prefer not to use ClientInsecure() if possible.
Assuming the non-SSL HTTP approach is no good, can anybody suggest an alternate automated method for retrieving the current fingerprint securely ? I have to assume our devices may get left in a cupboard or disconnected from Wifi for years at a time and need to automatically re-connect in the future without a firmware update.
Many thanks, and be gentle *8)

A: Your question may be removed as inappropriate for Stack Overflow but it's a really interesting one and I'm hoping you'll at least get a chance to see this answer.
First of all, there is absolutely no need to hide the fingerprint of the server's certificate. As you pointed out, anyone can get the fingerprint directly from the server itself.
If you're downloading the fingerprint from a different source in order to update your embedded device then it's not privacy you need, it's authentication - that you're getting it from the source you think you're getting it from - and integrity - that the fingerprint hasn't been corrupted or modified during transmission.
Which leads you to a chicken and egg problem. If you serve the updated fingerprint through non-HTTPS servers then it's vulnerable to modification and the servers are vulnerable to impersonation. If you serve it via HTTPS then you still have the issue of verifying the HTTPS server you're getting the fingerprint from.
You could use a pre-shared key to sign and verify the downloaded fingerprint. The embedded device would use a public key to decrypt a signed fingerprint, the server would have the private key to sign it. Then you face an entire new set of issues if the private key is every compromised - key revocation and distribution, which is part of the problem you're trying to skirt here with this whole process.
You're also going to want to do better than SHA-1. SHA-1 hasn't been considered cryptographically secure for years.
And in 20 - 30 years time, it's likely that whatever algorithm you're using will also cease to be cryptographically secure. Which means that you'll need to update the fingerprint algorithm over the course of decades.
Instead of using the fingerprint, you can embed in the device's firmware the top level certificate of the Certificate Authority that signed the server's certificate, but CA certificates will also expire well before 20-30 years elapse, and may also be revoked. If you embed the CA certificate then the web server will have to supply the embedded device with its entire certificate chain so that the device can verify signatures at each step, which on an ESP8266 may be very, very slow, even today.
In fact, it's quite likely that web servers 20-30 years from now won't use the same cyphers for SSL as they do today, and it's likely they won't continue to support the version of TLS (1.3) that's standard now. So you would need to be able to update your embedded software to TLS 1.8 or 2.0 or whatever the version will be that's needed 20-30 years from now. And the ESP8266 is not particularly fast at computing today's cyphers... it may be computationally impractical for it to compute the cyphers of decades in the future.
In fact, wifi 20-30 years from now will quite possibly not support hardware from today as well as wifi protocols evolve and also require updated cypher suites.
I'm also dubious that ESP8266's are likely to run continuously for 20 years without hardware failures. The main feature of the ESP8266 is that it's cheap, and cheap does not often correspond with reliability or longevity.
With much better performance, the ESP32 (still cheap) would stand a better chance to being able to compute the cyphers in use 20-30 years from now and support the future's wifi standards, but with its (and the ESP8266's) closed source wifi implementation you'd be at the mercy of Espressif to provide updates to its wifi stack 20 years from now, which I doubt will happen.

redpajama_set_name: RedPajamaStackExchange


text:
Disability and Sexuality at the United Nations
Blog: Perspectives
Matthew Solomon - Communications Intern
On March 30, 2007, after nearly four decades of work, the Convention on the Rights of Persons with Disabilities (CRPD) and a corresponding Optional Protocol opened for signatures at the United Nations. A record number of opening signatures from 82 nations ensured its status as one of the most successful UN conventions since the Convention on the Rights of the Child (CRC). The convention contains wide-ranging obligations on behalf of signatory states, many of which re-assert values from the International Covenant on Civil and Political Rights as well as from the International Covenant on Economic, Social and Cultural Rights with special attention to the particular needs of persons with disabilities (PWD).
The origins of the convention date back a few years prior. In December of 2001, Mexico proposed the establishment of an Ad Hoc Committee to consider proposals for the convention. Concurrent meetings occurred once every year until the establishment of the final text in 2006. The convention marked the first official binding international legal document on the rights of persons with disabilities. It served as a follow up to the Standard Rules on the Equalization of Opportunities for Persons with Disabilities, a non-binding resolution passed by the General Assembly in 1993.
While the convention itself remains a monumental instrument for achieving progress in global disability justice, it has numerous shortcomings, particularly with regard to sexuality. Although the committee attempted to start off strong with its inclusion of civil society, each year their influence dwindled until their right to intervene in meetings was revoked. The lack of inclusion of sexuality in the text could be a consequence of the stifled interventions of civil society which resulted in a state-dominated process, as sexuality is often avoided in governmental discourse. This is a product of humanity's conditioned discomfort with the topic of sex, the danger that pleasure poses to the established heteronormative and reproduction focused status quo, and State fear of what obligations based on freedom "to" pleasure rather than freedom "from" sex could mean for their governmental autonomy.
Most commonly, sexuality is discussed at the UN, and at the individual state level, in terms of reproductive health. By relegating sexuality within the confines of procreation, it becomes owned by only those who can reproduce, centering the discourse around a rigid understanding of biological sex, as opposed to gender in all its forms. This discourse ignores intersectional struggles and authorizes only particular agents of the protections guaranteed in sexuality-related conventions.
In addition to this, sexuality is often discussed in reference to sexual violence and exploitation (specifically in the CRC). While a pressing issue in matters of global injustices, focusing solely on sexual violence and ignoring sexual freedom casts the members of already marginalized groups as victims, rather than autonomous enjoyers of their inalienable rights.
Evidently, sexuality is already an avoided topic; the sexuality of people with disabilities is a taboo that governing bodies would rather pretend does not exist at all. This was soberingly true during the negotiations of the CRPD. The most prevalent issue in relation to sexuality was advocacy to ensure that persons with disabilities were not subject to forced sterilization or abortion. Again, isolating sexual freedom within reproductive rights and centers person's with disabilities' lived experiences solely around the violence and erasure that is inflicted upon them. This is the result of conservative influences at the UN, like the Holy See, conservative Christian and Islamic states, and fundamentalist religious NGOs. The same coalition of conservative voices acts to limit the rights of women and the LGBTIQ community.
In addition to discussing sexuality in terms of victimhood, conservative leaders ensured that sexual freedom was discarded in place of an upholding of traditional heteronormative family values. The draft language of the convention stipulated that persons with disabilities have an "equal opportunity to have sexual and other intimate relationships." Through the process of establishing the Convention as it was adopted, the language changed to the right to "marry and found a family."
The creation of the CRPD was not the only instance in which sexuality was hotly debated on the international stage, but it was the first instance of a collective effort to group disability and sexuality at the United Nations. The restriction of sexual agency in the CRPD represents the many barriers raised against persons with disabilities, and particularly LGBTIQ persons with disabilities.
The most glaring effort is the reluctance to authorize persons with disabilities as agents of their own free will in matters that involve their sexual well-being. This is directly connected with the efforts to depict persons with disabilities as victims rather than autonomous enjoyers of their inherent rights. Conservative leaders utilize the realities of sexual and gender-based violence committed against persons with disabilities, as well as efforts to terminate pregnancies on the grounds of disability, in order to construct a conception of a person with disabilities that is in need of protection, and not suitable for propagating society.
One organization that works tirelessly to address the intersection of gender and disability rights is Women Enabled International. Their mission includes empowering women and gender-diverse people with disabilities in human rights advocacy. Their approach to advocacy work includes dismantling prevalent stereotypes, increasing access to justice mechanisms, building the capacity of persons with disabilities, among many other important areas.
One such area is cross-movement building. OutRight Action International was proud to partner with Women Enabled International for our Pride with a Purpose campaign. This blog post was created with this partnership in mind, further expressing the dire need to build cross-movement advocacy strategies in order to build a world that is inclusive of all lived experiences. Visit WEI's blog spot, "Rewriting the Narrative," where the organization collects the perspectives of women and gender-diverse people with disabilities across the world.
Published on September 3, 2021 | OutRight Action International an LGBT human rights organization

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: ggplot, scale_colour_manual issues Can anyone spot what is wrong in this code?
a <- c("Afghanistan"="darkgreen","Iraq"="red" ,"Mali"="green", "Nigeria"="purple","Senegal"="orange")

ggplot(data = full) + scale_colour_manual(values=a) +
  geom_point(aes(x=Afghanistan_GDPpC, y=Afghanistan_AS), colour = "Afghanistan") +
  geom_smooth(aes(x=Afghanistan_GDPpC, y=Afghanistan_AS), colour = "Afghanistan", method = "lm") +
  geom_point(aes(x=Iraq_GDPpC, y=Iraq_AS), colour = "Iraq") +
  geom_smooth(aes(x=Iraq_GDPpC, y=Iraq_AS), colour = "Iraq", method = "lm") +
  geom_point(aes(x=Mali_GDPpC, y=Mali_AS), colour = "Mali") +
  geom_smooth(aes(x=Mali_GDPpC, y=Mali_AS), colour = "Mali", method = "lm") +
  geom_point(aes(x=Nigeria_GDPpC, y=Nigeria_AS), colour = "Nigeria") +
  geom_smooth(aes(x=Nigeria_GDPpC, y=Nigeria_AS), colour = "Nigeria", method = "lm") +
  geom_point(aes(x=Senegal_GDPpC, y=Senegal_AS), colour = "Senegal") +
  geom_smooth(aes(x=Senegal_GDPpC, y=Senegal_AS), colour = "Senegal", method = "lm") +
  labs (x = "Log - GDP per Capita", y = "Log - Asylum Applications - First Time", colour = "Legend") +
  theme_classic()

This is the message I keep getting:
Error: Unknown colour name: Afghanistan

Here is the dataset: https://drive.google.com/file/d/1j5I6odeWxaAiJlc7dHtD-Qj42xuP-gMs/view?usp=sharing

A: I advise you to look at how ggplot and "grammar of graphics" works (here for example: https://ramnathv.github.io/pycon2014-r/visualize/ggplot2.html).
So first you need to reshape your data to meet the requirements of ggplot:
full <- full %>% pivot_longer(cols = ends_with(c("AS","GDPpC")),
                  names_to = c("country", ".value"),
                  names_sep="_") %>%
rename("year" = "X1")

The resulting tibble:
    # A tibble: 50 x 4
    year country        AS GDPpC
   <dbl> <chr>       <dbl> <dbl>
 1  2011 Mali         8.29  6.73
 2  2011 Nigeria      9.32  7.82
 3  2011 Senegal      7.54  7.22
 4  2011 Afghanistan  9.94  6.38
 5  2011 Iraq         9.43  8.71
 6  2012 Mali         7.75  6.66
 7  2012 Nigeria      8.56  7.91
 8  2012 Senegal      7.70  7.18
 9  2012 Afghanistan  9.90  6.46
10  2012 Iraq         9.30  8.83
# ... with 40 more rows

Then you can use the ggplot correctly:
ggplot(data = full, mapping = aes(x = GDPpC, y = AS, col = country))+
geom_point()+
scale_color_manual(values = c("Afghanistan"="darkgreen","Iraq"="red" ,"Mali"="green", "Nigeria"="purple","Senegal"="orange"))+
geom_smooth(method = "lm")+
labs (x = "Log - GDP per Capita", y = "Log - Asylum Applications - First Time", colour = "Legend") +
theme_classic()


Home / F3 Polo-Shirt "Competition"
Exclusive F3 polo-shirt with zip on the classic polo neck. Very comfortable to wear due to quick-drying, functional material with UV protection and anti-odour equipment. With F3 logo on the neck and right arm.


Effective link building campaigns will require proper planning and a huge time commitment. Since no one has an infinite amount of time, it's important to try and build a system that will help you be efficient and productive. Often I hear my fellow internet marketers try to skip on an expense and go the labor intensive route. This is a huge mistake, to say the least. Your time is much more valuable spent on master minding the entire project and leaving the monkey wrench turning to a good link building software or tool. More importantly, to truly be successful with your link building campaigns it's vital to have proper organization. Some of the link building search and management tools on the market are invaluable at keeping all your ducks in a row, not to mention your sanity intact.
Quickly and easily spot potential link partner and get a snapshot analysis.
Crawl through any domain to gather, organize, and sort the thousands of pages to your selected criteria.
Tons of useful reports about your web site and that of your competitor to analyze quality of links.
Decipher your competitor's link building strategy, see what works and what doesn't.
Manage your link exchange campaign and stay organized.


Who should play halfback for NSW this year?
NSW coach Brad Fittler will be forced to pick a new halfback for this year's State of Origin series after Mitchell Pearce suffered a suspected torn pectoral muscle.
Scans on Sunday are expected to confirm how long the Newcastle co-captain will be sidelined, with the best-case scenario likely to be three months. The interstate series begins on June 6 and ends on July 11.
Pearce's injury comes a month after rookie candidate Nathan Cleary went down with a knee injury that initially ruled him out until round 13 - the week after the Blues go into camp for game one.
The probable unavailability of both Pearce and Cleary significantly whittles down the list of possible options to partner likely five-eighth James Maloney.
Luke Keary has been in strong form for the Sydney Roosters, while Wests Tigers No. 7 Luke Brooks has also recently been tossed up as a possibility to make his Origin debut.
Other candidates include South Sydney playmaker Adam Reynolds and Cronulla linkman Matt Moylan, both of whom have previously pulled on the Blues jumper.
Knights coach Nathan Brown said Pearce, who has been the NSW halfback for six of the past eight years, was in good spirits after the match in Tamworth despite his NRL season being dashed.
"It's not great," Brown said after their 22-20 win over Wests Tigers. "He is disappointed. Mitch loves playing. Game day is his favourite day of the week. They are the types of players you want in your club. Whatever the result is he will still contribute while he is not playing." Pearce's injury also means Brown could be forced into recalling Brock Lamb, who was dropped in favour of Jack Cogger on Saturday, for next week's clash against Manly.
First-choice five-eighth Connor Watson is a chance of returning early from a shoulder injury.
"We've got Connor coming back next week, Brock played reserve grade today, (Jamie Buhrer) filled in today and did a good job in the last six or seven minutes, and came up with the kick," he said.
"We've got to go into the Manly game full of confidence, that's what we've got to do."


text:
Film art
Collaboration with MilkX Magazine HK #150
Beauty and the Beast, 1991
If she is the one who'll break the spell, you must finally learn to love.
Belle & Beast
MilkX Magazine HK February issue #150
Valentine's Day theme, feature story is 'OPPOSITE ATTRACTS'. I did an illustration on the article.
The characters in the 10 films featured in this article are opposite in personality, appearance, fashion, and values, but attracted to each other.
It tells how the opposite attraction works in relationships and even fashion styles.
Beauty and the Beast is a 1991 American animated musical romantic fantasy film produced by Walt Disney Feature Animation and released by Walt Disney Pictures. Beauty and the Beast focuses on the relationship between the Beast (voice of Robby Benson), a prince who is magically transformed into a monster and his servants into household objects as punishment for his arrogance, and Belle (voice of Paige O'Hara), a young woman whom he imprisons in his castle to become a prince again. To break the curse, Beast must learn to love Belle and earn her love in return before the last petal falls from an enchanted rose or else the Beast will remain a monster forever.
— From Wikipedia, the free encyclopedia


text:
Churn Churches
Planning your Ceremony
The Cost of Church Weddings
Reading of Banns
Hymn Suggestions
Marriage Preparation Day
Events & Notices
United Benefice Services
St. Michael's Aston Tirrold
All Saints' Aston Upthorpe
St. Michael and All Angels Blewbury
St. Michael's Events
St. Andrew's Hagbourne
St. Andrew's Events
Tower Talk
All Saints' North Moreton
St. John the Baptist South Moreton
St. Mary the Virgin Upton
Rectors Reflections
Marriage Prep Day 2017
Vicars Past and Present
Home > Our Churches > St. Michael and All Angels Blewbury
Churchwardens:
Mrs Susanne Lay - 01235 850774
Mr Mark Phillips - 01235 850817
The Parish Church of St Michael and All Angels in the centre of the picturesque village of Blewbury speaks powerfully of the faith of countless generations of Christians. Historically there was a church on this site in Saxon times, as mentioned in the Doomsday Book. That church was rebuilt by the Normans towards the end of the 11th century and consisted of a Nave and Sanctuary. The Chancel, north and south aisles, tower, Lady Chapel and porches were added gradually between the late 11th century and 1600. We worship in a building that holds memories of those who have lived and worshipped here before us. Our church contains many interesting and historic features which are explained in our church guide and in our audio-visual tour App for a Smartphone. The latter can be downloaded from the ViewPoynt wi-fi network <iframe src="http://viewpoynt.com/widget.html" width="100%" height="285px" frameborder="0" scrolling="no"></iframe> . We also sell postcards and a leaflet explaining our lovely Chancel stained glass window.
Even today, St Michael's Church is the centre-point for the village population for baptisms, marriages, funerals, Christmas and Easter celebrations, concerts, exhibitions and Teas. We have a Choir, a Sunday School, Bellringers, a Family Service team and a thriving PCC. The church is surrounded by a closed churchyard cemetery which is now part of a wildflower Living Churchyard Project. The outside of the church and the churchyard featured in the Miss Marple film 'Murder is Easy'.
The Church is open every day from around 9am until about 4pm in the winter months and 5pm during the lighter months. Anyone wishing to use the Church outside these hours must contact one of the Churchwardens.


text:
Working groups and resources
TPM documents
How do you want to make a difference?
Takoma Park Mobilization's working groups are the spokes that carry the load of work it takes to mobilize our community. They are where activists like you find the satisfaction of doing something for other people, whether it's:
Neighbors from different communities sharing potluck
Educators showing us how to facilitate consensus decision-making
Writers and artists mobilizing us with words and images
Activists slowing climate change
Lobbying government officials
Emptying the prisons that continue to fill in the aftermath of the so-called war on drugs or
Saving Our Children from Gun Violence
Join the group where you feel you can do what you like to do and make a difference. Just click on any of the email addresses below.
Breaking Bread, community dinners: breakingbread@tpmobilization.org. More coming soon!
Communications/Outreach/Organizing/Logistics (COOL): COOL@tpmobilization.org. This Communications Group makes sure that all members of the Mobilization are informed about the activities of TPM's various working groups and committees, through all forms of print and electronic media.
Whether you're a writer who wants to help report on the Mobilization using emails or FaceBook posts, Twitter feeds, and the Mobilization's website, or a technical specialist interested in playing with electronic media to exploit their communication potential, welcome to our newsroom.
We also include the Artists and Graphic Designer Subcommittee: art@tpmobilization.org. Guess what they do.
Education & Training Group: education@tpmobilization.org. The first goal of the Education & Training Group is to utilize the knowledge and skills of residents of Takoma Park to provide educational opportunities for TP Mobilization members and our community who are interested in local activism and progressive causes. The second is that the group will act as a resource and a model to support similar educational activities within and outside of TP Mobilization.
The TP Mobilization Book Group is an E&T subgroup. E&T formerly had other subgroups, a Subcommittee on Diversity, Inclusion, Bias and Anti-Racism Training and a Nonviolent Action Study Group.
Environment Committee (TPMEC): environment@tpmobilization.org.
Our all-volunteer community of grassroots activists are mobilized to address
the climate emergency. We are active at all levels of government and
decide our priorities each year by consensus. We are part of the Earth
Coalition, a state-wide coalition that advocates for state level legislation that
addresses climate change.
In 2019, we successfully advocated for the passage of the Clean Energy Jobs Act that expands Maryland's renewable electricity requirement to 50% by 2030 with a path to 100% renewable by 2040, passage of the polystyrene foam food packaging ban, and extension of the Community Solar Pilot Extension.
Priorities include:
Montgomery County Climate Emergency — through advocacy and educational events, work to help the county reach its goal of reducing greenhouse gas emissions by 80% by 2027; and by 100% by 2035.
Assist in implementation of Community Choice Energy (CCE) and in enactment of other state-level legislation –CCE passed in 2021 for Montgomery County, and statewide would give Maryland counties the ability to negotiate with public utilities separately from the State for affordable rates and clean energy. We will also advocate for other state level legislation that addresses climate change.
Takoma Park Sustainability — collaborate with Takoma Park in reaching its goal to reduce its Greenhouse Gas Emissions by 100% by 2035.
Equal Justice: equaljustice@tpmobilization.org. The Equal Justice Committee combines TP Mob's immigration and justice and policing reform work, replacing our old Immigration Committee and Mass Incarceration Working Group. Equal Justice supports and partners with groups supporting our immigrant and Muslim neighbors and working toward reimagining public safety and justice reform.
Direct Support for Immigrants originated as a subcommittee of TP Mob's old Immigration Committee and provides direct services (such as connections to lawyers, court accompaniment, fundraising, etc.) to immigrants in our communities.
Indivisible: indivisible@tpmobilization.org. The Indivisible Working Group engages in the political process in ways that promote the progressive agenda of the Takoma Park Mobilization. We engage our community by creating or identifying opportunities for people to participate in the political process. This might involve volunteering in campaigns, organizing or participating in rallies, lobbying members of Congress and state lawmakers, and candidate forums. We work with other Indivisible groups nationwide, as well as other local partners, to resist the Trump agenda and accomplish a progressive agenda.
TALLE – Takoma Alliance for Local Living Economy: talle@tpmobilization.org
TALLE works to reshape our communities and our local economies in the service of resiliency, racial equity, and carbon-neutrality. View the Climate Action Coffee (CAC) page for information on current activities.
Other issues we care about:
Economic Equity: economic@tpmobilization.org
Resources for activists
Building Justice in MoCo: What We Need from Our Next State's Attorney (2022)
Building Justice in MoCo: What the State's Attorney Does and What Must Change (2022)
Former congressional staffers reveal best practices for making Congress listen
Open Sourcing Social Change: Inside the Constellation Model
Public Health Actions for Immigrant Rights: A Short Guide to Protecting Undocumented Residents and Their Families for the Benefit of Public Health and All Society
Mijente: Expanding Sanctuary: What Makes a City a Sanctuary Now?
Local to Takoma Park:
CHEER 2017: Takoma Park and Long Branch Goals 2016
Elections 2022: Takoma Park Candidates' Views on Green Issues
Takoma Park Mobilization Officer Elections — October 12
On the 2021 state legislative session: A letter to our Maryland D18 & D20 representatives


text:
Q: AttributeError: 'str' object has no attribute 'in_dir' Here is my code of Reader class and its child class
import os
import sys

class Reader:
    def __init__(self, in_dir, ext='txt'):
        self.in_dir = in_dir
        self.ext = ext

class TextFileReader(Reader):
    def __init__(self, in_dir, ext):
        Reader.__init__(in_dir, ext)

    def process(self, doc):

        file_name = os.path.join(in_dir, doc.file_name + "." + ext)
        with open(file_name,'r') as file_to_read:
            doc.set_document_text(file_to_read.read())

Here is what I do for testing this class:
from document import *
from reader import *

file_name = 'doc1'
in_dir = '/Users/wenzhe.yang/NLP_work/sample_data/'

tfr = TextFileReader(in_dir, ext='txt')
doc = Document(file_name)
tfr.process(doc)

I don't know what happened with my class module, everything is normal, when I call the class from another file for testing the error came up like this:
    AttributeError                            Traceback (most recent call last)
~/NLP_Work/sema4_deid_prep_rev 2/prep/test.py in
      6 in_dir = '/Users/wenzhe.yang/NLP_work/sample_data/'
      7
----> 8 tfr = TextFileReader(in_dir, ext='txt')
      9 doc = Document(file_name)
     10 tfr.process(doc)

~/NLP_Work/sema4_deid_prep_rev 2/prep/reader.py in __init__(self, in_dir, ext)
     15 class TextFileReader(Reader):
     16     def __init__(self, in_dir, ext):
---> 17         Reader.__init__(in_dir, ext)
     18
     19     def process(self, doc):

~/NLP_Work/sema4_deid_prep_rev 2/prep/reader.py in __init__(self, in_dir, ext)
      6 class Reader:
      7     def __init__(self, in_dir, ext='txt'):
----> 8         self.in_dir = in_dir
      9         self.ext = ext
     10

AttributeError: 'str' object has no attribute 'in_dir'

Any idea about why the attribute error here?  I've been frustrated for days, because they are so simple but still got error and I cannot find out why.
Thank you very much!

A: When calling the superclass' constructor, you should also pass self to it:
class TextFileReader(Reader):
    def __init__(self, in_dir, ext):
        Reader.__init__(self, in_dir, ext)
        # Here ---------^

A: You also passed in_dir and ext instead of self.in_dir and self.ext in TextFileReader.process method.
It should be fixed to:
def process(self, doc):
    file_name = os.path.join(self.in_dir, doc.file_name + "." + self.ext)
    with open(file_name,'r') as file_to_read:
        doc.set_document_text(file_to_read.read())


It does not work with campaings, it shows sent 1 but it does not sent any mail. I used another mail and created another group but it is not in any place, i checked "spam" too.
Anything in your erorr log? Does it show sent? Did you setup the cron job?
The unsuscribe link does not work, it leads to a page "Internal Server Error" I m uninstalling, it is a lot of job and nothing works.
I use newsletter pro my site here for all my email newsletters.
It has 777 permisions and still when the unsuscribe links it shows a "Internal Server Error" page.
I believe that it works in your server, but it is not a producto ready to work in other servers. When you pay for something you expect a mod ready to work, i ve installen about 20 free mods from smf and all of them started working without so much aditional time and job.
It is hard each server has different setups. In your case you had different database collitions. I would need to admin/ftp access or cpanel access to take a look or if you can check your servers error log.


text:
»Blogs»Sean's Blogs»Boleyn last day invasion is about finance
Boleyn last day invasion is about finance
Posted by Sean Whetstone on January 30, 2016 in Sean's Blogs, Whispers
Earlier this week West Ham pleaded with supporters not to spoil the end of season party by invading the Boleyn Ground pitch after the last competitive game of the season.
Members of the West Ham Supporters Advisory board were told by club representatives last Tuesday that a pitch invasion after the last game of the season would completely ruin post match entertainment that has been planned.
The club refused to rule out life bans including the Olympic Stadium for anyone caught running onto the pitch after the last ball has been kicked.
Some cynical Hammers fans on social media have claimed this has more to do with making money than fan celebrations and have challenged the club to reveal full details of what is actually planned for the after season party.
Apart from ruining that, West Ham will be concerned that a large-scale pitch invasion would damage the pitch they have hired out to a number of organisations for lucrative events before the developers get the keys to the Boleyn Ground and knock it down.
One such match is in aid of Great Ormond Street Hospital Children's Charity who have hired the pitch from West Ham for thousands of pounds on 27th May. West Ham fans can pay £900 to play 90 minutes on the Boleyn Ground pitch one last night against a team of former Hammers managed by Tony Cottee. http://www.footballforfans.co.uk/events/westham-vs-gr-ormond-street.php
Football Aid plan two matches for fans on 18th May kicking off at 10am and 2pm
http://www.footballaid.com/events/teams/27/west-ham-united.html
On Sunday 29th May there is a Five a side tournament for fans at £600 per team to enter
http://www.footballforfans.co.uk/events/play-football-at-westham-adults-5side.php
David Gold has previously confirmed that the club plan to sell presentation plastic cubes of the hallowed Boleyn Ground turf to West Ham fans as a memory of the 112-year-old history of the stadium so they won't what fans digging up their own DIY mementos after the last match of the season.
While the threat of life bans for any fan caught on the pitch is still a very real possibility especially if a small minority invaded the pitch, some fans have made the observation they couldn't feasibly ban all 32,000 home fans if a mass invasion took place.
← Gerrard: "The best West Ham team I've seen"
Hammers on Jelavic 'exit' and loan options →
4 comments on "Boleyn last day invasion is about finance"
essexclarets January 30, 2016 at 11:49 am
Running on to the pitch at full time would achive what?? Don't see the point myself…. say's the man who was on the pitch at full time when Sir TB retired. Maybe i'm getting old.
Sean Whetstone January 30, 2016 at 12:31 pm
We are all getting old, but sometimes you get swept up in the moment like singing Big Sam's Claret and Blue Army live on Soccer AM or singing Alla-Alla-Allardyce to thw tune of Cold Play when we got promoted at Wembley when we beat Blackpool 😉
Boleyn Boy January 30, 2016 at 1:12 pm
I'm all for an "invasion", West Ham should be the last team ever to play on that pitch, end of.
johnboy January 31, 2016 at 10:54 am
INVASION OF UPTON PARK !!!!!!!!! Coming soon in a ground near you !!!!!!!!! Bring popcorn , shovel and camera!!! Can't wait , as old as I am !!! A and all to the sound of bubbles ?


Take a look behind the scenes of the making of our brand new ship, Celebrity Edge.
You'll be seduced by this progressive country which still retains its Arabesque charm. Oman is a beguiling country steeped in history with a stunning natural landscape.
Discover our Oman ports of call.
As one of the Middle East's oldest cities, Muscat boasts beautifully manicured parks, long, unspoiled stretches of beach, and an ancient stone moat that surrounds the area.
From the shimmering white city of Muscat to the vast Wahiba sands, Oman is a wondrous sight and its friendly culture, ancient heritage and blue skies will capture your heart.
Oman blends the ancient and the modern with style and grace. A modern infrastructure links affluent cities with traditional villages. The cities themselves have everything that you would expect of a forward-looking nation, including world class bars and restaurants. And yet, surrounded by Arabesque architecture, you are immersed into a culture that has survived centuries.
After some leisurely sightseeing, head for one of the glorious, immaculate beaches for some diving or snorkelling in the Arabian Sea.
Oman has a sub-tropical climate, with year round sun. Winters are warm, at around 21 degrees, and summers are hot, rising to almost 40 degrees. Pack sunblock, hats and sunglasses as well as swimwear and snorkels for the warm seas.
Pack lightweight, loose clothing, and remember that in order to respect the culture of this beautiful country, women should keep knees and shoulders covered – a sensible move given the fierce sun. Headwear should be worn in the mosques and this is often provided.
Discover the heart of your destination with our unparalleled itineraries.
* 'From' price is the lowest available fare, which may not be eligible for offers. Based on 2 people sharing.
Sign up to our emails and get a head start with the latest deals, holiday inspiration, and cruises.
I've never been on a cruise before, how does it all work?
How do I pay for onboard purchases?
What do I need to know about accessibility and medical requirements?
For current travel advice on your destination, please visit the Foreign & Commonwealth Office website here.
Copyright © 2019 Celebrity Cruises Inc. Ships' registry: The Bahamas, Ecuador and Malta. All rights reserved.
Select Yes if you want to choose your stateroom number and location on the ship. With this option you'll typically get access to deals if they are available.
Select No if you want to choose your stateroom category (Interior, Ocean View, Balcony, Concierge Class, AquaClass, or Suite), but want us to choose your stateroom number and location on the ship. With this option you'll get access to the lowest price available, and typically won't benefit from deals.
You can change your selection later in the booking process.
There was a problem submitting your request. Please try again.
You have successfully signed up for email updates!
You have successfully shared this page via email! Share again?
Search for key words from all pages on the website.
Are you sure you want to remove this cruise from your shortlist?


The Macallan and Roca partnership presents seven varieties of the spirit, each of which are a result of handpicked ingredients and well thought processes. While master maker, Dalgarno picked European oak casks from Tevasa, Roca's head chef Joan Roca chose American and European oak casks from Diego Martin. Further, the restaurant's head honcho Josep Roca went with the European oak casks from Jose Miguel Martin and celebrated pastry chef Jordi Roca carefully selected American oak butts and puncheons from Vasyma.
The driving force behind the edition series is the freedom with which the selectors explored an array of exclusive and distinctive flavors, including some that are not by far relatable with other Macallan variants. Warm and woody undertones form the base of each of the chosen varieties, which are further bound by fresh hints of apple, oranges, toffee, dried fruit and vanilla. Bottled at 48.2% abv, you can get yourself the ultra-fine Edition 2 for £65 ($80 USD). Scotch lovers and whisky connoisseurs certainly have something to look out for at their next visit to the wine shop!


text:
Give Venezuela Back Its Gold Update: Case goes to London Court
Analysis, News, Statements
Venezuelan authorities appeared in court in London last Thursday May 28 to demand that the Bank of England comply with instructions to sell part of the 31 tons of gold it holds on behalf of Venezuela.
Venezuelan Central Bank President Calixto Ortega reported on Wednesday that an agreement had been made with the United Nations Development Programme that it would receive the proceeds of the sale, and these would be used to buy food, medicine and health imports to tackle the Covid 19 pandemic and save many lives.
The Bank of England, which is ostensibly independent of the UK government, is arguably in breach of its contract with the Central Bank of Venezuela by refusing to comply with requests for repatriation of the gold on the pretext that the legitimacy of the Venezuelan government has been questioned. Such justification is demonstrably false, since the government of President Nicolas Maduro is recognised by the United Nations.
Delcy Rodriguez, Venezuelan Vice-President, stated that behind the Bank of England's decision to freeze the Venezuelan gold lies a UK government manoeuvre to strip her country of its assets as part of an attempt at 'regime change'.
Venezuela Solidarity Campaign fully supports Venezuela's plan, negotiated with the UNDP, to use its own gold reserves to fund vital supplies of food, medicine and other medical supplies.
Copyright © 2021 Venezuela Solidarity Campaign | Powered by Venezuela Solidarity Campaign


Sheryl Towers has worked with the staff of Smith Barney for several years. She conducted courses for all employees which were not only entertaining, but on point as to how we should deal with problems in our personal lives and professional careers. She also coached many employees one-on-one. I have witnessed significant changes and improvements and I would highly recommend her to any organization.


Beautiful, laser cut cake topper. Cut from 6mm high quality Oak veneer. Suitable for: weddings, anniversaries, birthdays etc. · · Personalised with two initials in the centre heart. Disney 'Delux' Personalised Cake Topper. Suitable for Disney Couple celebration: Engagement, Wedding or Anniversary: Various Colours. Custom Made. Wedding Decoration.
Every cake topper is handmade in our studio, in South Wales. U.K. We take pride in our work and provide our own unique designs, with meticulous construction using only the highest quality materials. Thank you for visiting us and we hope that you enjoy our work!
✦ Initials you wish to be added.
your cake topper with 7-10 business days.
• 6mm Thick Oak Veneer Wood.
• Initial primer coat to ensure a durable final finish, yet fine enough to show the wood effect.
• Metallic, Glaze or Gloss luxe paint and food safe exterior clear topcoat.
•5cm stem allows cake topper to stand sligthly above the cake or lowered to sit flush.
•Our personalized cake toppers are made to order. Handling time is approx 7 days, this is to allow us to prime, paint and top coat over this duration to allow a perfect finish.
•Domestic orders are shipped via Royal Mail Class Mail Post (2-5 days transit).
•We do not currently offer Express shipping.
•Each order includes FREE shipping insurance for loss, theft, or damage.
•Your cake topper will be packed carefully in bubblewrap and tissue paper, in a sturdy postal box, to ensure safe delivery.
We offer a 100% satisfaction guarantee. Personalised products cannot be returned.. However, if for any reason the item arrives damaged, then let us know within 24 hours of receiving, along with image of the damage upon arrival and we will send a replacement asap.
All of our high-quality cake toppers/decorations are made from food friendly materials.
✦The cake topper spikes are safe to use on cakes and other food goods.
✦Our wooden toppers are finished with a food-grade mineral oil.
✦Acrylic cake toppers are a non-toxic product.
✦Spray painted cake toppers are sprayed with a non-toxic food grade shellac paint from Rust-Oleum.


text:
Q: spring data solr showcase setting @SolrDocument(solrCoreName="...") from property I am trying out the https://github.com/christophstrobl/spring-data-solr-showcase
I am trying to make the code work in multiple different environments where the Solr core name could be different.  Using a property to specify the core name would seem like a useful way of doing this.
So I am trying to set the @SolrDocument(solrCoreName="...") from a property which I have added to the application.properties file like this:
@SolrDocument(solrCoreName = @Value("${solr.core}"))
public class Product implements SearchableProductDefinition {
    private @Id @Indexed String id;
    private @Indexed(NAME_FIELD_NAME) String name;
...
}

but I get a maven compilation error of:
.../git/spring-data-solr-showcase/src/main/java/org/springframework/data/solr/showcase/product/model/Product.java:[31,30] annotation not valid for a value of type java.lang.String

I am new to Spring.  Is it possible to do what I am trying to do?
Thanks in advance!


Looking for something a bit different to a generic motel room with all the facilities? These French inspired fully self-contained studio and one-bedroom apartments suit couples (infants welcome) or solo travellers, and are conveniently located on Colombo Street. The apartments are located down a back section and have double-glazed frontages so noise is minimal. Public transport and Beckenham shops are close by. Off-street parking is provided. Stroll down the road for 5 to 10 minutes and you're at the Cashmere Club. AMI Stadium Christchurch and Canterbury Arena are only 3.8 - 4.1 km's away.
These 2 one-bedroom apartments have identical layout, configuration and pricing, and sleep 2 people (Max 3 people) They have one queen bed, extra blow up mattress can be provided on request (fees & conditions apply) Minimum stay 2 nights.
These 3 studio apartments have identical layout, configuration and pricing, and sleep 2 people. They have one queen bed. Minimum stay 2 nights.
HRV Ventilation system has recently been installed to keep our guests comfortable and warm. Great for people with allergies.
Bar fridge, stove, microwave. Shared laundry - washing and drying facilities supplied in a communal laundry area.
All units have ensuites (shower and toilet).


The Malki Foundation's newest program, the Zlata Hersch Memorial Therapists on Wheels Program, started in 2011, sends paramedical therapists to children who are either housebound, or live in Israel's peripheral communities. These areas, in the far north and far south of Israel, have little or no access to therapies because fewer therapists are available there, and the travelling distances are an added hardship on the parents. Through the Therapists on Wheels program, the Malki Foundation provides mobile therapists who travel to where the children with special-needs live, delivering quality paramedical therapies – physical, speech and occupational therapy. The entire cost of the service, including travel, is covered by the Malki Foundation. During 2015 we sent mobile therapists to the homes of 18 children, providing over 400 therapy hours.
As with all Malki Foundation programs, here too in order to qualify for support, the child needs to be diagnosed as having a significant disability and must reside in the family home rather than in an institution.
Once the child is accepted into the program, the committee recommends appropriate therapies and therapists and the therapist is put in contact with the family. In the first family/therapist meeting, a list of goals and expected outcomes for the child's development and rehabilitation is agreed upon. The choice and frequency of therapy is specific to each child and his/her requirements.
After 6 months therapists are required to submit a progress report for each child, detailing whether there has been success in achieving the care goals that were set out in conjunction with the parents. This report is used as a base for continuing work.


After the disappointing N97 it was all to easy to dismiss Nokia as a fading star of mobile phone design. The flagship which failed to float was the perfect excuse for a whole horde of doomsayers to predict the end of the once-greatest mobile company. A common quip was that unless Nokia were to pull off something entirely miraculous it would be "the end". Fortunately the N900 is the miracle we had all hoped for, a truly remarkable combination of new software and hardware.
It's hard to disentangle all the novelty in this new phone: Not only is it the first of a brand new form-factor (the sliding landscape keyboard-phone), but it's also the first phone in Nokia's huge portfolio to feature Maemo, an operating system entirely new to the world of phones. That's not to say that Maemo is new: It's been on the market since 2006 but only on Nokia's ultra-niche tablet computers.
First of all, lets deal with the easy stuff- the hardware: Nokia vastly simplified the slider mechanism compared to the N97. Instead of the elaborate slide and tilt, this keyboard simply slides out from behind the screen. While it doesn't look so impressive it makes for a device which is both more comfortable and rugged. The new keyboard is slightly wider than the N97s since they ditched the somewhat useless D-pad. I guess they figured out that users don't actually need a d-pad and a touch-screen if the touch screen is good enough.
Ony of my big criticisms of the N97 was it's insensitive touch screen (I called it a "punch screen"). At the time I put this down to the fact that Nokia had chosen the older "resistive" technology rather than the more trendy "capacitive" screens used by the iPhone and most android devices. The N900 has not switched to capacitative, and yet the screen seems a great deal more responsive. I've not yet encountered the frequent false-clicks of the older model. Nokia claim that the advantage of a resistive screen is that you can be more precise. This is why the N900 has a concealed stylus which slides out of the front. It's not actually possible to use a stylus on a capacitative screen, so Nokia clearly see this as giving their customers wider choices.
The other major criticism of the N97 was that it seemed sluggish compared to the high-end phones: Once again this has seems to have been fixed. Even while multitasking the N900 seems to have the processing power to stay lively and responsive. This is no doubt a consequence of the shift to Nokia's next generation operating system. Maemo is the phone's biggest new feature: It's an operating system unlike anything I've seen before on a mobile, but oddly similar to almost everything I've used on my desktop.
The biggest problem with Maemo today is a complete lack of commercial apps. None of the official Google Apps (e.g. Mail, Maps) have been ported to Maemo. It also lacks some of my favourites such as Spotify, BBC iPlayer and Last.fm. There's no technical reason to doubt that these applications will eventually be ported to Maemo, however early adopters might need to beware that they might have to do without their favourite apps.
As compensation for the lack of apps, the web-browser is really good: Good enough (for example) to use the web-versions of Twitter, and BBC iPlayer. The built in multimedia conceals some pleasant surprises, such as the fact that that the it can handle high-definition DivX movie files and Ogg audio files.
No other device I can think of can play all of these non-commerical formats despite the fact that they are hugely popular in the free-software world.
So is the N900 the "iPhone Killer" that everybody's been pining for? No, and thankfully not. I think this product represents an entirely new territory for the mobile phone industry. Rather than replicate Apple's model of a tightly controlled environment, Nokia are emphasizing openness by borrowing a strategy which has worked so well for the open-source movement. This is the most open mobile platform on the market today, and I feel that proposition alone will draw in the "core" of developers who will in turn deliver the novel applications which will usher in a wider audience.
In summary, the N900 is intuitive, responsive and a joy to use. A true star in the Nokia family.


text:
usagoldexchange.net
Gigantic gold coin causes a stir in New York
The Perth Mint has shipped the largest gold coin in the world to New York to promote the launch of its new gold ETF.
This gold coin is a ton heavy. That's 32,150 ounces. It has a diameter of almost a meter and is just under 13 inches thick. Its current value at the gold price of 1,250 euros is 40.18 million euros. The giant kangaroo of the Perth Mint was shipped from Australia to New York. Under high security and under the open sky, the golden gem was finally exhibited for a day right in front of the New York Stock Exchange on Wall Street.
The gold coin is used by the company to promote its new, publicly traded gold fund. The name: Perth Mint Physical Gold ETF (AAAU). According to Perth Mint, this is the first gold ETF guaranteed by a government. The deposited gold is stored in large part directly at the Australian Mint.
"Everything people do to promote gold helps the industry, and that's what we're doing with this one-ton gold coin. It's about making gold known, it's about showing interested people that a huge amount of money can be stored in such a small space, "says Perth Mint head Richard Hayes to Kitco News.
Gold had to lose on the 15th June
Bank of America sees gold at $ 3,000
SingularityNET combines Artificial Intelligence and Decentralized Finance (DeFi)
Gold price: Weekly start above $1,900
Old gold coins found in the value of a luxury villa
Nigeria's Securities and Exchange Commission (SEC) provides clarity on crypto currencies
Stable coins: Five EU members threaten to be banned
usagoldexchange.net Copyright © 2021.


text:
Question: What Is Ribbon With Example?
What is Ribbon explain?
What are the 8 tabs of the ribbon?
What are the 3 parts of the ribbon?
What is the use of ribbon in MS Word?
What is ribbon in PowerPoint?
What is ruler in MS Word?
What is a ribbon menu?
What are the two parts of ribbon?
What is a ribbon tab in Microsoft Word 2010?
What is the difference between file tab and ribbon?
What is tabs in MS Word?
How do I use ribbon in Word?
What are ribbon commands?
What is difference between ribbon and group?
Where is the Design tab in Word 2010?
Which printer uses ribbon?
What is called ribbon in Excel?
How do I create a ribbon in Word?
In computer interface design, a ribbon is a graphical control element in the form of a set of toolbars placed on several tabs.
The typical structure of a ribbon includes large, tabbed toolbars, filled with graphical buttons and other graphical control elements, grouped by functionality..
In Word there are eight tabs along the top; File, Home, Insert, Page Layout, References, Mailings, Review, and View. Each tab relates to different activities that you can carry out when creating a document, for example should you wish to change margins and paper size you would click on the Page Layout tab.
The ribbon is divided into three sections:Tabs : They are designed to be more task oriented. Tabs are quite similar to the dropdown menu. … Groups : Each tab has several groups that show related commands.Commands: A command is a button, clicking on which a certain action could be performed.
The Ribbon is a user interface element which was introduced by Microsoft in Microsoft Office 2007. It is located below the Quick Access Toolbar and the Title Bar. It comprises seven tabs; Home, Insert, Page layout, References, Mailing, Review and View. Each tab has specific groups of related commands.
PowerPoint 2016 for Mac commands and functions are organized on a ribbon, which is a series of menus or toolbars at the top of the program. When you open a PowerPoint document, the ribbon appears as a row of labels, or what we call tabs.
The ruler in Word 2016 displays horizontally across the top of your workspace, and can be used to align text, graphics, tables, and other elements in your document. … Even if you have Ruler checked, you will not see it in Read Mode, or Outline View.
It is part of the "Microsoft Office Fluent" interface and combines the menu bar and toolbar into a single floating pane. … For example, the Microsoft Word ribbon includes Home, Insert, Page Layout, References, and other tabs that each display a different set of commands when selected.
Parts of the RibbonTitle Bar: The title bar above the ribbon has the program name (MTD Keystone) and the name of your affiliate. … Quick Access Toolbar: The Quick Access Toolbar is a customizable toolbar that appears either above or below the ribbon. … Tabs: The MTD ribbon is organized into tabs according to function or task.More items…
Microsoft Office 2010 displays commands in a series of icons stored on different tabs. This combination of icons and tabs is known as the Ribbon interface, which appears in Word, PowerPoint, Excel, Outlook, and Access.
The tabs are the individual buttons at the top. The ribbon is the entire, long horizontal row underneath.
Setting Tabs Tabs are a paragraph-formatting feature used to align text. When you press the Tab key, Word inserts a tab character and moves the insertion point to the tab setting, called the tab stop. You can set custom tabs or use Word's default tab settings.
To use the Ribbon, first click a tab. Then locate the command you need by scanning the group names, and then hunting down the button. Click the button to activate the command or to display a menu from which you can choose a command. Some items on the Ribbon let you input text or values, or make other settings.
A ribbon is a command bar that organizes a program's features into a series of tabs at the top of a window. Using a ribbon increases discoverability of features and functions, enables quicker learning of the program as a whole, and makes users feel more in control of their experience with the program.
In a computer interface design, a ribbon is a graphical control element in the form of set of toolbars placed on several tabs. Whereas, In a computer, the term group generally refers to a grouping of users…
Customize Developer tab in Microsoft Word 2010 and 2013Open Word 2010/2013/2016/2019 program.Click File tab.Choose Options, and you may see the Word Options dialog box appearing.Click Customize Ribbon.In the right pane of the dialog of Customize Ribbon part, choose Main Tab.Check the box in front of the Developer.More items…
The typewriter and dot matrix printers are the equipments that utilize ribbon cartridges the most. The dot matrix printers print images by striking tiny dots coming into contact with a cloth strip soaked in printer ink. Thermal printers used in cash machines, faxes, and similar devices use printer ribbons.
The Ribbon is the name given to the row of tabs and buttons you see at the top of Excel. The Ribbon's tabs and buttons bring your favorite commands into the open by showing multiple commands grouped in specific categories.
To customize the Ribbon, open or create an Excel, Word, or PowerPoint document. Go to the app Preferences and select Ribbon and Toolbar. On the Ribbon tab window, select the commands you want to add or remove from your Ribbon and select the add or remove arrows.
What Are The 7 Types Of Add?
What are the 3 types of add? Three major types of ADHD
How Do I Show My Phone Number When Calling?
How do I reset my caller ID on my phone? Please try
Can I Get A Car Loan With A 583 Credit Score?
Can I Add A Shared Mailbox To My Phone?
How do I add a shared mailbox to my iPhone calendar?
What Area Code Is 01765 In UK?
What area code is 01502 in UK? LowestoftThe Lowestoft


We developed Spring & Wonder out of New York and Seattle, split between two coasts, with wildly different backgrounds and expertise. Our shared passion for jewelry, design, and the capabilities of 3D printing, inspired us to bring together artistry and technology to develop a new destination for customizable jewelry.
Spring & Wonder was designed with you in mind. We thought long and hard over which go-to pieces could be worn at every part of your day (in the shower and to sleep and on a date and to the beach). But also which core designs are best suited for you to make them your own.These pieces enable you to decide shape, size, message, material, and any combination in between, unlike ever before in customized jewelry.
We hope this helps everyone tap into your creative potential, enabling you to design high-quality, timeless accessories with the very best materials. Each unique design is made-to-order by you, just for you.