text:
Giacomo Biffi
|His Eminence
Giacomo Biffi
|Cardinal, Archbishop Emeritus of Bologna
|19 April 1984
|Term ended
|16 December 2003
|Enrico Manfredini
|Carlo Caffarra
|Other posts
|Cardinal-Priest of Santi Giovanni Evangelista e Petronio
|23 December 1950
by Alfredo Ildefonso Schuster, O.S.B.
|11 January 1976
by Giovanni Colombo
|Created Cardinal
|25 May 1985
by Pope John Paul II
|Personal details
|Birth name
|Giacomo Biffi
13 June 1928
Milan, Italy
|Roman Catholic
|Previous post
|Ubi Fides Ibi Libertas
|Coat of arms
|Styles of
Giacomo Biffi
|Reference style
|His Eminence
|Spoken style
|Your Eminence
|Informal style
|Bologna (Emeritus)
Giacomo Biffi (born 13 June 1928) is an Italian Cardinal of the Roman Catholic Church. He is Archbishop Emeritus of Bologna, having served as archbishop there from 1984 to 2003, and was elevated to the cardinalate in 1985.
Biffi was born in Milan, and studied at the seminaries of the Archdiocese of Milan. He was ordained to the priesthood by Cardinal Alfredo Ildefonso Schuster, O.S.B., Archbishop of Milan, on 23 December 1950. From 1951 to 1960, Biffi taught dogmatic theology at the Seminary of Milan, also publishing numerous works on theology, catechetics and meditation. He received a doctorate in theology from the Faculty of Theology at Venegono in 1955; his thesis was entitled: "La colpa e la libertà nell'odierna condizione umana."
From 1960 to 1975, he did pastoral work in the Archdiocese of Milan, serving as a parish priest at Santi Martiri Anauniani in Legnano (1960–1969) and later Sant'Andrea in Milan (1969–1975). Biffi became Episcopal Vicar for Culture in 1974, and a canon theologian of the metropolitan chapter of Milan on 1 February 1975. He also served as director of the Istituto Lombardo di Pastorale and the Commission for the Ambrosian Rite.
On 7 December 1975, Biffi was appointed Auxiliary Bishop of Milan and Titular Bishop of Fidenae by Pope Paul VI. He received his episcopal consecration on 11 January 1976 from Cardinal Giovanni Colombo, with Bishops Bernardo Citterio and Libero Tresoldi serving as co-consecrators. Within the Italian Episcopal Conference, he served on commissions for doctrine, catechetics, culture and liturgy.
Following the sudden death of Enrico Manfredini, Biffi was named Archbishop of Bologna on 19 April 1984, being installed as such on the following 1 June. He was later elected President of the Episcopal Conference of Emilia-Romagna on 7 July 1984. Pope John Paul II created him Cardinal-Priest of Santi Giovanni Evangelista e Petronio in the consistory of 25 May 1985. Biffi preached the Lent spiritual exercises for the pope and Roman Curia in 1989. He retired from the governance of the archdiocese in December 2003, being succeeded by Carlo Caffarra.
Biffi was one of the cardinal electors who participated in the 2005 papal conclave that selected Pope Benedict XVI. According to a leaked diary, he received one vote on the fourth ballot. In 2008, he turned 80 and lost the ability to participate in future conclaves.
In 2000, Biffi told a Bologna conference that the Antichrist would most likely be a prominent philanthropist promoting the ideas of ecumenism, vegetarianism, and pacifism.[1][2] Many of these predictions originate from the 19th century Russian philosopher Vladimir Solovyov, in whom Biffi is well-studied.[3] Biffi believes ecumenicism promotes the dilution of Catholic doctrine (a view common among conservative Catholics), thereby encouraging acceptance of the Antichrist.[4]
He also holds views that, while conservative, are in agreement with the Catholic teaching on homosexual acts, freemasonry, and feminism.[citation needed] Biffi has stated that an "ideology of homosexuality" threatens to marginalize whoever disagrees with the homosexual agenda,[5] and that Catholics must prepare for persecution by homosexual activists and their allies.[6]
Biffi has stated that the Church should be "exceedingly rich", that clergy and parishioners should be accepting of the Church's wealth, and that Catholics should literally impoverish themselves donating to the church, thereby following Christ's example of poverty.[7]
Cardinal Biffi also once said that the Italian government should favour Catholic immigrants to offset the number of Muslim immigrants to protect Italy's "national identity".[8] He has denounced journalists as "rats".[6]
In 2007, Biffi published Memorie e digressioni di un italiano cardinale (Memoirs and digressions of an Italian cardinal), expounding on many of his views.[9]
- ^ "Cardinal: Antichrist is a vegetarian". BBC. 6 March 2000.
- ^ NewsMax
- ^ Biffi, H.E. Giacomo Cardinal. "Vladimir Sergeievich Soloviev: an unheeded prophet". Saint Benedictine Center. – reprint of Biffi's writing on Soloviev and the Antichrist
- ^ "Antichrist is an ecumenist, Vatican preacher warns". Catholic World News. Trinity Communications. 2007-03-01.
- ^ Brother André Marie (10 December 2008). "Cardinal Biffi versus 'A Mysterious Cabal of Maniacs'".
- ^ a b Caldwell, Simon (17 November 2010). "Italian cardinal warns gay activists are persecuting Christians". London: Telegraph Media Group.
- ^ Carroll, Rory (13 May 2000). "Cardinal tells Catholics way to God is to line church's coffers". The Guardian (London: Guardian News and Media).
- ^ Whispers in the Loggia blog
- ^ Magister, Sandro (16 November 2010). "The Inconvenient Memoirs of Cardinal Biffi". Gruppo Editoriale L'Espresso Spa. – English translation of selected excerpts
|Preceded by
Enrico Manfredini
|Archbishop of Bologna
19 April 1984 – 16 December 2003
|Succeeded by
Carlo Caffarra
- 1928 births
- Living people
- People from Milan
- Italian cardinals
- Italian Roman Catholics
- Roman Catholic archbishops of Bologna
- 20th-century Roman Catholic archbishops
- 21st-century Roman Catholic archbishops
- Cardinals created by Pope John Paul II
- Bailiffs Grand Cross of the Sacred Military Constantinian Order of Saint George


text:
Mature Content Filter is On. The Artist has chosen to restrict viewing to deviants 18 and older.
Shego nipple-pinchy by TheMikkoWatch
©2007-2015 TheMikkoMature Content
nice work looks cool
She-BEWB?...I LIKE!
They're ginormus!
This made me smile.
Sexy Shego!!!
Great pic.I have a concept pic in mind.May I use this pose for it.I'm not talking copying or tracing,just using the pose as a refferance.
Now that's a Shego I can like!
Sigh... shego is really hot!
That's Haw-t!
Beeewwwbbsss! Yaaay!
That is so good! It's shego with added you!
She looks wicked!
Excellent work bro!
Excellent work bro!

subset: commoncrawl


text:
Plastic headlight lenses are damaged by the sun's UV rays and become yellow and cloudy. One bottle of our 3-in-1 Headlight Restorer removes scratches, polishes and applies a UV inhibitor. Headlight lens is restored to like new condition. Saves money, improves safety. Complete Headlight Restoration Kit is also available.
Category: USA Product Showcase


text:
You are viewing an exquisite 2005 Rolls Royce Phantom that has an accident free Carfax with only one previous Florida owner. This renowned automobile... More
You are viewing a 2005 Bentley Continental GT with low mileage and an accident free Carfax. Photos and more details coming soon! - We... More
This 2005 Ferrari 612 Scaglietti 2dr 2005 Ferrari 612 Scaglietti F1 Coupe features a 5.8L 12 CYLINDER 12cyl Gasoline engine. It is equipped with... More
2005 PORSCHE CARRERA "S" CABRIOLET #WP0CB29975s765223. (Stock #3486.) In 2005, the popular Porsche "996" Carrera was replaced by a new and much-improved "997" model which had a redesigned... More
This 2005 Bentley Arnage is a absolutely gorgeous one owner car with just 6,500 miles. Blue with tan interior. It runs and drives like... More
Chassis IP9PB48303B213012 EGTLM003 (ELAN) 2006 Sebring 12 Hour GT Class winner from pole position, the same year Panoz won the GT-2 class at the... More
More at www.wirewheel.com 2005 Panoz GTLMe chassis 007 for sale Very successful GTLM car campaigned by the Le Mans 24 Hour winning team of LNT Aluminum &... More
Fastidiously kept and extremely well maintained. Desirable Imola Red with Black leather, updated audio head unit with integrated Bluetooth phone connectivity, complete with the... More
Nice hard to find dually Show truck.Truck is in very good shape .This truck cost in excess of $120,000 to build for SEMA and... More
What you're seeing here is the baddest machine Mercedes-Benz was building in 2005 at a shockingly affordable price. With a twin-turbo V12, sinister black... More
Poppy Red Leather interior, piped in blue leather Blue Mohair top and weather equipment Lucas Fog Lamps Stainless Steel Badge Bar w. badges Leather MMC embossed bonnet protectors Black... More
2005 Dodge Viper SRT-10 Copperhead Edition w/1,950 miles Copperhead Edition #128 of only 300 built! Only 1,950 miles. Yes, 1,950 original miles! Great history! Clean Car Fax report! Purchased... More
26449 Actual Miles On This Local Two Owner Car. Meticulously Maintained And Covered Inside Since New. Detailed Service Records And Receipts Documenting It's Mileage And History. ... More
FOR MORE INFORMATION ON THIS VEHICLE PLEASE CONTACT CRAIG ON 909 730 1555 MIKE ON 909 644 6220 OR MARCO ON 909 286 8000... More
... More


text:
[part title="Dragon Rogue Goggles 2014-15″]
The Rogues have been running in the Dragon family for years now and they have almost got a sentimental value to them.
Everyone seems to love the Rogue designs and it's no wonder. Check out all these steezy colours, especially the tie-dye pair below.
The shape and design means these will be comfortable to wear with a helmet too.


text:
"VIPRE - Best Antivirus Software of 2015"
- Excellent realtime virus protection
- Best technical support
- Low resource usage
- 30-day money back guarantee
- Works with: Windows XP, Vista, 7, 8, 8.1
Every antivirus program is tested for malware / virus removal and threat prevention power.
How fast are the programs? What effect do they have on your PC's performance? We find out.
Tech support accessibility and performance are rated (and we uncover any hidden costs.)
|2nd Place
|3rd Place
|4th Place
|5th Place
|6th Place
|7th Place
|8th Place
|9th Place
|10th Place
(Available for instant download)
We got a great question in Ye Olde Mailbag today from Jean-Claude in Montreal, Canada. He asks, I installed Vipre...
By the time news of most exploits hit mainstream media, the exploits have long been "in the wild," infecting computers the world over...


text:
Department of Veterans Affairs Budget
The House Veterans' Affairs Committee held a hearing to assess the fiscal state of the Department of Veterans Affairs (VA) and the growing wait times for veterans to receive health…455 views
The House Veterans' Affairs Committee held a hearing to assess the fiscal state of the Department of Veterans Affairs (VA) and the growing wait times for veterans to receive health…455 views
Witnesses testified at a hearing on the heavy reliance on medication by veterans and the possible adverse effects of opioid therapy, including the risk of suicide.298 views
Witnesses testified at a hearing on the procurement of non-Department of Veterans Affairs (VA) health care services for former soldiers who usually receive medical care from VA…991 views
The House debated the rule for two bills, one that would permanently extend the research and development tax credit and one on commercial space flight. After amendments votes, members…253 views
Physicians and nurses representing veteran service organizations testified at a hearing on ways to alleviate staffing issues at health care facilities run by the Department of Veterans…479 views
The House voted 242-184 to pass H.R. 36, a bill to ban abortions after 20 weeks and in favor 338-88 on a bill to limit National Security Agency (NSA) surveillance. The House started…536 views
The House debated four bills under suspension of the rules, and general debate on H.R. 1195 , Bureau of Consumer Financial Protection Advisory Boards Act. The bill would establish…102 views
Health system doctors and officials who were whistleblowers in the Department of Veterans Affairs hospital scandal testified on the retaliation and punishment they were subjected to after…634 views
The House passed H.R. 1030, the Secret Science Reform Act, which prohibits the Environmental Protection Agency from issuing new rules unless scientific data and technical information is…197 views
The House convened for a legislative session. The House passed H.R. 529, which would amend the federal tax code to improve "529" college savings plans. Earlier, the…480 views
Witnesses testified at a House Veterans' Affairs Committee hearing on the fiscal year 2016 budget request for the Department of Veterans Affairs (VA). The VA was requesting $168 billion in…1,127 views
Following one minutes speeches, the House debated under suspension of the rules H.R. 431, which authorizes a Congressional Gold Medal for civil rights supporters who participated in the…488 views
The House passed H.R. 50, which would impose stricter requirements for how federal agencies disclose the cost and effectiveness of federal mandates. Members gave special order speeches…314 views
The House adopted a rule governing debate on H.R. 351, a bill expediting the federal permitting process for natural gas exports, and passed two bills under suspension of the…266 views
The House debated several bills under suspension of the rules aimed at combating human trafficking.152 views
Members voted on three bills under suspension of the rules, including H.R. 26, an extension of the federal Terrorism Risk Insurance Program.466 views
The House convened for a legislative session. Members delivered Special Order speeches. Earlier, the chamber passed H.R. 4795, a bill altering construction permit requirements under…489 views
House members debated four bills under suspension of the rules and passed H.R. 4012, which requires the EPA to disclose the scientific data it uses to justify its regulations. Members…324 views
Incumbent Representative Ann McLane Kuster (D) and challenger Marlinda Garcia (R) faced off in a debate for New Hampshire's 2nd Congressional District seat.273 views
The House held a series of procedural votes ahead of debate on a revised bill to deal with the flood of unaccompanied minors from Central America crossing the southern border.1,396 views


text:
Rating: 4.83 stars 6 reviews
Location: 895 10th Street South Suite 302-F Naples FL 34102 USA
Results: Since incorporation in March 2006, FWF has served well over 6000 individuals between the two south coasts of Florida. Accomplished by 99% volunteer efforts and one part time paid employee. Making smiles and memories that last a lifetime and building a family of belonging, caring and sharing!
Geographic areas served: South Florida
Programs: FWF Weller Day Boat Outings - Private and Commercial boat owners donate their time and vessels to provide an outing for FWF participants; Adaptive Sailing in Naples, Florida, in partnership with Collier County Parks and Recreation, teaching people with disabilities how to sail as independently as possible for each individual. Fishing outings and fun tournaments for FWF participants. Special events: Sailing Regattas, Boat Parade Parties; Fishing Tournaments for FWF participants
Filter Reviews by Role
Promote This Nonprofit
GreatNonprofits badges allow you to raise awareness of your favorite nonprofits on your own web sites!
Community Reviews
Awesome Organization, giving kids, families and veterans an opportunity to enjoy the waters of Florida - I love volunteering on and off the water. The rewards and smiles are Huge! - Thank you Freedom Waters Foundation.
More Feedback
1 person found this review helpful
I have volunteered for FreedomWaters Foundation several times, and every outing or event runs smoothly and is well organized.It's usually "the smiles on the faces"of the participants that confirm the efficacy of something as simple as a couple of hours in a boat on the water. The enthusiasm of the founder, Debra Frenkel and the volunteers is truly contagious, and among the volunteers there is an almost reluctant admission that, in working with those labeled disabled, and the kids fighting cancer, it's the volunteers who feel the most blessed after an outing. One of my most memorable expeiences with FWF occurred at a disabled sailing event, watching a blind man sail. I wish FWF success and growth in the future.
More Feedback
Would you volunteer for this group again?
For the time you spent, how much of an impact did you feel your work or activity had?
Did the organization use your time wisely?
Very Well
Would you recommend this group to a friend?
When was your last experience with this nonprofit?
Thank you, Mike, for these very kind words. And, thank you for helping out as you do!!
1 person found this review helpful
I've had a great experience with Freedom Waters Foundation, first as a program participant, and also as a volunteer. My daughter has special needs, and we were invited to go on an outing hosted by Cruise Naples. It was a great experience that we both enjoyed. We were blessed with the opportunity to go on another outing the following year, and everyone was just as friendly and accommodating as the first time. What I like most is the way everyone makes us feel welcome. After being on the boat as a program participant, I became a FWF volunteer. As a volunteer, I enjoy helping out with small tasks like writing notecards or checking guests in at the registration table. Or simply being a part of the team that makes the trip a welcoming, fun and safe boating experience for other families. If I can make someone else feel welcome and appreciated by sharing a smile or sending a card in the mail, then my time as a volunteer was well-spent. And the FWF team always makes ME feel appreciated, even for performing the simplest of tasks. Its like a big family, and each time I go to FWF outings I have opportunities for socializing with people I enjoy and for making new friends.
More Feedback
Would you volunteer for this group again?
For the time you spent, how much of an impact did you feel your work or activity had?
Did the organization use your time wisely?
Very Well
Would you recommend this group to a friend?
When was your last experience with this nonprofit?
Thank you Sheryl, for all you are doing to assist FWF to grow and share with more, in more communities. You are awesome! So honored to have met you and your family! And, so glad that Eva has been able to go boating with us. We will do it again!


text:
Premier Program JOIN FREE!
Premier Members Enjoy:
Exclusive pricing and volume discounts
3% BACK on every purchase
Fast & FREE shipping on thousands of items
Save time with your account manager
Over 7 million products to choose from
Quick & easy PO terms for qualifying accounts
Buying for a business, school, or organization?Save even more with our FREE Premier Program for business professionals. CONTINUE
Whitney Brothers 27" Room Divider Gate
Whitney Brothers 27" Room Divider Gate
Weights & Dimensions
|Product Type: Safety gates
|Finish: Natural
|Material: Wood
|Number of Items Included: 1
|Age Group: 6 to 12 Months; 12 to 24 Months; 3 to 4 Years
|Lifestage: Baby; Kid
|Mounting Type: Pressure mounting
|Door Included: No
|Freestanding: Yes
|Lockable: Yes
|Auto Close: No
|Includes Extensions: No
|Includes Installation Kit: Yes
|Outdoor Use: No
|Country of Manufacture: United States
About the ManufacturerWhen you order from Whitney Brothers, you're not dealing with a subsidiary of a multi-national wood products conglomerate; you're doing business with a New England tradition. Since 1904, Whitney Brothers has been using classic cabinetmaking techniques to produce safe and sturdy educational toys. Now, they're also a leader in developing versatile, innovative furniture and storage systems for schools, day-care centers, and private homes.
Whitney uses the finest hardwoods and veneers and traditional joinery methods for strength. Edges and corners are always rounded smoothly and finished by hand. And, of course, all glues, paints, and finishes are nontoxic and clean up quickly. Whitney Brothers makes it easy for you to decide which products are best for your classroom, and they're dedicated to making sure each product can be used safely by generations of children.
Whitney Brothers 27" Room Divider Gate
Questions & Answers (1)
"Hi, what is the width of the room divider gate ?" asked by Nancy
Still have questions about this product? We're here to help
Customer Reviews
Tell Us What You Think!
Tell us what you think about this product. It will help us provide you with better products in the future and help your fellow shoppers make better purchases.Write the first review
OUR SKU # WJ127227" Room Divider Gate is also sometimes listed under the following manufacturer numbers: WB1114


text:
Linda & Richard Eyre
Recent Articles by Linda & Richard Eyre
Published: Tuesday, June 30, 2015 3:15 pm MDT
We frequently mistake plans for goals. We go after things but don't ask ourselves why we want those things or what they will lead to. We frequently mistake the means for the ends, and the result can be em...
Published: Tuesday, June 23, 2015 4:13 pm MDT
How can we, as grandparents, be effective champions of and for our grandkids? How do we become their biggest cheerleaders and best supporters and encouragers?
Published: Tuesday, June 16, 2015 3:01 pm MDT
I (Linda) clearly remember feeling my heart beat a little faster as I proudly watched our first little daughter graduate from her preschool class many years ago when we lived in McLean, Virginia.
Published: Tuesday, June 9, 2015 3:01 pm MDT
As baby boomers, because of our longer life spans, we have more opportunity than any previous generation to make these seven personal, destiny-determining decisions.
Published: Tuesday, June 2, 2015 4:22 pm MDT
Behind his management expertise and his big voice and smile were a deep humility, a gift for listening, a willingness to give the credit to others and the kind of meekness that will inherit the earth.
Published: Tuesday, May 26, 2015 4:21 pm MDT
Do any of you parents ever struggle with things like bickering, fighting, interrupting, rudeness, disrespect and sibling rivalry?
Published: Thursday, May 14, 2015 5:48 pm MDT
There is one little three-letter word can turn almost every statement of doubt or defeat into one of hope and health.
Published: Tuesday, May 5, 2015 2:05 pm MDT
Mother's Day is a good time for fathers to give the gift that their spouses really want — recommitting to being more involved with the kids, prioritize parenting a little higher and being a full partner i...
Published: Tuesday, April 28, 2015 3:34 pm MDT
There are a lot of rather insulting phrases or cliches that get used in a miserable attempt to describe what it is like to get a little older. We need to examine and redefine a bunch of these old cliches and tu...
Published: Tuesday, April 21, 2015 5:01 pm MDT
The trick is knowing when to let things flow in a natural way and when to push your plan through even in the wake of resistance and chaos.


text:
Application for Schengen Visa FOTO This application is free 1. Surname (Family name) (x) FOR OFFICIAL USE ONLY 2. Surname at birth (Former family name(s)) (x) Date of application: 3. First name(s) (Given name(s)) (x) Visa application number: 4. Date of birth (day-mounth- 5. Place of birth 7. Current nationality Application lodge at year) □ Embassy/consulate □ CAC 6. Country of birth Nacionality at birth, if different: □ em Prestadores de serviços □ em Intermediários comerciais □ na fronteira 8. Sex 9. Marital status Name: □ Male □ Feminino □ Single □ Married □ Separated □ Divorced □ Widow(er) □ Other (please specify) □ Other 10. In the case of minors: Surname, first name, address (if different from apllicant's) and nationality of File handled by: parental authority/legal guardian Supporting documents: 11. Nacional identify number, where apllicable □ Travel document □ Means of subsistence □ Invitation □ Means of transport □ TMI □ Other: 12. Type of travel document: □ Ordinary passport □ Diplomatic passport □ Service passport □ Official passport □ Special Visa decision: passport □ Refused □ Other travel document (please specify): □ Issued: □A □C □ LVT 13. Number of travel 14. Date of issue 15. Valid until 16. Issued by □ Valid: document From Until 17. Applican'ts home address and e-mail address Telephone number(s) Number of entries: □ 1 □ 2 □ Multiple 18. Residence in a country other than the country of current nationality Number of days: □ Não □ Yes. Residence permit or equivalent……………..................................No ...................... Valid until * 19. Current ocupation * 20. Employer and employer's address and telephone number. For students, name and address of educational establishment. 21. Main purpose(s) of the journey: □ Tourism □ Business □ Visiting family or friends □ Cultural □ Sports □ Official visit □ Medical reasons □ Study □ Transit □ Airport transit □ Other (please specify) 22. Member State(s) of destination 23. Member State of first entry 24. Number of entries requested 25. Duration of the intended stay or transit □ Single entry □ Two entries □ Multiple entries Indicate number of days * The fields marked with * shall not be filled in by family members of EU, EEA or CH citizens (spouse, child or dependent ascendant) while exercising their right to free movement. Family members of EU, EEA or CH citizens shall present documents to prove this relationship and fill in fields No 34 and 35. (x) Fields 1-3 shall be filled in in accordance with the data in the travel document. 26. Schengen visas issued during the past three years □ No □ Yes. Date of validity from ...................... a 27. Fingerprints collected previously for the purpose of applying for a Schengen visa □ No □ Yes. ................................................ Date, if known 28. Entry permit for the final country of destination, where apllicable Issued by …........................................................valid from .................... to ……………………. 29. Intended date of arrival in the Schengen area 30. Intended date of departure from the Schengen area * 31. Surname and first name of the inviting person(s) in the Member State(s). If not applicable, name of hotel(s) or temporary accommodation(s) in the Member State(s) Address and e-mail address of inviting Telephone and telefax person(s)/hotel(s)/temporary accommodation(s) *32. Name and address of inviting company/organization Telephone and telefax of comp./organization Surname, first name, address, telephone, telefax, and e-mail address of contact person in company/organization *33. Cost of travelling and living during the applicant's stay is covered □ by the applicant himself/herself □ by a sponsor (host, company, organization), please specify □ referred to in field 31 or 32 □ others (please specify): Means of support □ Cash Means of support □ Traveller's cheques □ Cash □ Credit card □ Accommodation provided □ Prepaid accommodation □ All expenses covered during the stay □ Prepaid transport □ Prepaid transport □ Other (pls. specify): □ Other (pls. specify): 34. Personal data of teh family member who is an EU, EEA or CH citizen Surname First name(s) Date of birth Nationality Number of travel document or ID card 35. Family relationship with na EU, EEA or CH citizen □ Spouse □ Child □Grandchild □ Dependent ascendant 36. Place and date 37. Signature (for minors, signature of parental authority/legal guardian): I am aware that the visa fee is not refunded if the visa is refused. Applicable in case a multiple-entry visa is applied for (cf. field No 24): I am aware of the need to have an adequate travel medical insurance for my first stay and any subsequent visits to the territory of Member States. I am aware of and consent to the folowing: the collection of the data required by the application form and the taking of my photograph and, if applicable, the taking of fingerprints, are mandatory for the examination of the visa application; and my personal data concerning me which appear on the visa application form, as well as my fingerprints and my photograph will be supplied to the relevant authorities of the Member States and processed by those authorities, for the purposes of a decision on my visa application. Such data as well as data concerning the decision taken on my application or a decision whether to annul, revoke or extend a visa issued will be entered into, and stored in the Visa Information System (VIS)1 for a maximum period of five years , during which it will be accessibled to the visa authorities and the authorities competent for carrying out checks on visas at external borders and within the Member States, immigration and asylum authorities in the Member State for the purposes of verifying whether the conditions for the legal entry into, stay and residence on the territory of the Member States are fulfilled, of identifying persons who do not or who no longer fulfil these conditions, of examining an asylum application and of determining responsibility for such examination. Under certain conditions the data will be also available to designated authorities of the Member States and to Europol for the purpose of prevention, detection and investigation of terrorist offences and of other serious criminal offences. The authority of the Member State responsible for processing the data is: [(...)] I am awarethat i have the rigth to obtain in any of the Member States notification of the data relating to me recorded in the VIS and of the Member State Which transmitted the data, and to request that data relating to me which are inaccurate be corrected and that data relating to me processed unlawfully be deleted. At my express request, the authority examining my application will inform me of the manner in which I may exercise my right to check the personal data concerning me and have them corrected or deleted, including the related remedies according to the national law of the State concerned. The national supervisory authority of that Member State [contact details] will hear claims concerning the protection of personal data. I declare that to the best of my knowledge all particulars supplied by me are correct and complete. I am aware that any false statements will lead to my application being rejected or to the annulment of a visa already granted and may also render me liable to prosecution under the law of the Member State which deals with the application. I undertake to leave the territory of the Member States before the expiry of the visa, if granted. I have been informed that possession of a visa is only one of the prerequisites for entry into the European territory of the Member States. The mere fact that a visa has been granted to me does not mean that I will be entitled to compensation if I fail to comply with the revelant provisions of Article 5(1) of Regulation (EC) No 562/2006 (Schengen Borders Code) and I am therefore refused entry. The prerequisites for entry will be checked again on entry into the European territory of the Member States. Signature Place and date (for minors, signature of parental authority/legal guardian): . 1 In so far as the VIS is operational.
Pages to are hidden for
"portugal"Please download to view full document


text:
About Me: Mother of 2 and owner of Heart & Home Baby Safety, Inc. Professional childproofing services customized for your home. My sister Amy and I have been in business for 8 yrs helping parents who want to keep their child safe and create a danger-free home.
Posted 10/12/2009 11:50:43 EDT
1) Many parents use plastic grocery store bags to line the bathroom trash can. Crawling children, however, love the crinkly sound plastic bags make. They can easily pull off small pieces, making the b more »
Posted 08/23/2009 09:31:35 EDT
provided by Carrie at Heart & Home Baby Safety.... Did you know that most young children who drown in swimming pools were last seen in the home, had been missing from sight for less than five minutes more »
Posted 06/11/2009 09:55:42 EDT
Most of us are "going green" lately but what may parents don't know about energy-saver light bulbs can be dangerous to their family. These Compact Fluorescent Lamps (CFLs) contain mercury to make the more »
Posted 05/28/2009 08:16:27 EDT
I don't know of any support groups but I just want to remind you that you can do this! You will start to feel sooo much better soon and I bet that will help your perspective. A good friend of mine wit more »
Posted 05/13/2009 08:14:45 EDT
Pet doors can be dangerous b/c they're big enough for babies and toddlers to pass through, therefore giving the child access outdoors (think pool, busy streets, etc). Good Morning America did a piece more »
Posted 05/04/2009 08:01:14 EDT
Perfecting Expecting of Boston helps w/ unique shower gifts. This may sounds insane but rechargeable batteries, while not cute, would be a nice addition to a toy gift. As a mom of a 3 yr old and 16 mo more »
©2015 Boston Globe Media Partners, LLC
Separate multiple addresses with a comma


text:
I rented the 400mm f/5.6 from www.borrowlenses.com
The aperture tests were performed with the lenses mounted on a tripod and with cable release to minimize vibrations. Notice that the legs of the tripod are not extended to minimize vibration. Duplicate pictures were taken and the best of the two (if different) kept.


text:
Stock Photo:
Smart eating and recipe menu planning with a white ceramic plate in the shape of a human head as an intelligent food guide concept for healthy living and dieting choices.
- Image ID: 134562974
- Copyright: Lightspring
High quality images curated from over 150 countries.
Over 50 million photos, vectors, illustrations, and more.
Simple and flat pricing by image or by month.
Over 230,000 images downloaded every day.


text:
Original recipe yields 6 servings
Amount per serving ({{servings}} total)
Based on a 2,000 calorie diet
Ready In
I'm from south Louisiana, and this recipe is SPICY!!!! It was sooooooooo HOT, we couldn't even eat it! Trust me, DO NOT ADD 2 tsp of cayenne! Please cut down on it. It is an absolutely delic...
very good, will make again. The first reviewer mentioned that the recipe was to spicy.. don't add cayenne, use a cajun seasoning as the recipe calls for..


text:
samsung electronics-pref (SSNNF:OTC US)
samsung electronics-pref (SSNNF) Key Developments
Samsung Electronics Co. Ltd. announced that it will partner with LG U+ to jointly develop 5G technology, in a move that will further strengthen both companies. The agreement will also enhance Korea's global leadership in 5G research and help drive the creation of standards for the next major phase of innovation in mobile telecommunications. The memorandum of understanding (MOU) signing ceremony on June 25, which marks the formal start of the partnership, was attended by almost 100 senior staff from both companies. The event also featured an in-depth discussion of how the two companies will collaborate; as a result, both sides agreed to a shared '5G Readiness Target' for the year 2020. The collaboration will focus on three areas that are of critical strategic importance to 5G's future: 5G global spectrum identification and acquisition: Identifying and acquiring appropriate spectrum for 5G use is a key goal of the partnership, with particular emphasis on high-frequency bands, due to its relatively high availability and potentially enormous data capacity. Given the lack of industry-wide agreement on 5G spectrum, Samsung and LG U+ have identified an urgent need to drive early global standardization. Together, the companies will contribute jointly to efforts to determine the best spectrum - subject to the consensus of the International Telecommunication Union's (ITU) IMT-2020 group. Samsung Electronics and LG U+ will prepare a collaborative white paper on 5G spectrum standardization and will appear jointly at key industry events to address this issue. As part of their submission for the upcoming World Radio communication Conference, the South Korean telecommunications industry and government have proposed the following six 5G spectrum bands as suitable for global usage: 27 GHz- 29.5 GHz, 31.8 GHz - 33.4 GHz, 37 GHz - 42.5 GHz, 45.5 GHz - 50.2 GHz, 50.4 GHz - 52.6 GHz, and 64 GHz - 74 GHz. 5G technology co-development: to establish a leadership position in 5G, Samsung and LG U+ will collaborate on future research and development. For example, the companies will co-develop Full Dimension Multiple Input Multiple Output (FD-MIMO) antenna technology, in order to deliver 5G's throughput and data capacity potential. Other joint R and D areas will include network architecture design, a review of key network elements and new millimetre wave (mmWave) radio technologies - both for network infrastructure and user devices. Performance targets in this latter area include vastly improved throughput capabilities and smooth service, even at speeds of up to 500 km/h. Lastly, co-development will also focus on Software Defined Networking (SDN) and Network Function Virtualization technologies, with the aim of sharply enhancing end-to-end operational efficiency and flexibility. Advances in these areas are considered essential to drive performance and support the next generation of Internet-of-Things based devices and services. 5G technology global standardization: The partnership will focus not only on the determination of 5G spectrum, but the standardization of 5G technologies as well. To this end, Samsung Electronics and LG U+ will actively participate in several key global standardization bodies, including the ITU's IMT-2020 promotion group and the 5G Forum in Korea. These organizations are important platforms from which Samsung and LG U+ can jointly promote the adoption of 5G spectrum and technology standards. Together, the companies will actively contribute to the advancement of Korea's ICT leadership efforts. As detailed in Samsung's 5G Vision whitepaper, the advent of 5G mobile networks is expected to exponentially increase cellular data throughput capabilities while drastically reducing network latency and operational costs. However, if this potential is to be realized, it will be essential to strike industry partnerships and collaborate during the ongoing development of 5G technology. In addition to LG U+ in South Korea, Samsung has established partnerships with several operators across the world's leading LTE markets, all with the aim of accelerating the R and D of 5G technology. These include collaboration with operators in Japan, Europe, and South Korea. Samsung has also taken an active role in multiple 5G exploratory and standardization organizations, including the previously mentioned ITU's IMT-2020, the World Radio communication Conference, and the 5G Forum in South Korea - as well as the Europe-focused 5G Public Private Partnership (5G PPP).
Tech Data Mobile has been appointed as a distributor by Samsung for the full range of mobile and tablet devices. The agreement means that mobile dealers and resellers can make full use of Tech Datas advanced logistics and stock holding capabilities to maximize their opportunities with this range of Android products. With immediate effect, the full Samsung Galaxy family of smartphones and tablets will be available through Tech Data Mobile, alongside buy-back and trade-in, finance and extended warranty options, and flexible airtime contracts. The appointment strengthens Tech Data Mobiles over-all product portfolio and establishes Tech Data Mobile as the most relevant of all distributors in the UK, allowing mobile dealers and IT resellers to offer more choice to their customers. Through its mobility lifecycle management programme, Tech Data Mobile is also providing resellers with a complete services platform that enables them to add more value, drive new business and improve customer retention. Services on offer include a buy-back and trade-in scheme, finance options, extended warranty cover and through a new partnership with Total tailored airtime contracts.
Strategic Investments Group Presents at Medical Device Conference 2015, Jun-26-2015 02:40 PM. Venue: Palace Hotel, 2 New Montgomery Street, San Francisco, California, United States. Speakers: Andrew Atwell, Principal, Global Innovation Center.
Samsung Electronics Co. Ltd. announced the introduction of the U24E590D and U28E590D, the first Samsung UHD monitors with AMD's FreeSync technology. These UHD monitors offer unprecedented picture quality for gaming, entertainment and multi-tasking activities. The U24E590D is $399.99 and will be available beginning July 26, 2015. The U28E590D is $599.99 and available now.
Medtronic plc and Samsung Electronics have partnered to develop new diabetes management solutions. The partnership will combine Samsung's deep understanding of consumer mobile technology to deliver secure and convenient access to Medtronic's integrated diabetes management systems that provide clinically-proven outcomes. Managing diabetes effectively requires daily ongoing management to keep blood sugar levels under control. People with diabetes interact with their insulin pump and continuous glucose monitoring (CGM) system throughout the day and are looking for solutions that are easy to use and fit into their lifestyle. The partnership's first project focuses on delivering more discreet and convenient access to personal diabetes data by developing mobile applications optimized for Samsung mobile devices that will enable the viewing of insulin pump and continuous glucose monitoring (CGM) information. This application will work with Medtronic's MiniMed Connect product, which provides easy access to important diabetes information for people with diabetes as well as remote alerts for their loved ones, and is expected to be available in the US later this year. In addition, MiniMed Connect provides healthcare providers with more frequent and convenient access to their patients' insulin pump and CGM via mobile connectivity so they can adjust care plans. Through this partnership, the MiniMed Connect will ultimately be available to more people worldwide, since close to 80% of mobile phone users utilize the Android operating system globally.
|Recently Viewed
|General Electric Co
|Google Inc
|Intel Corp
|International Business Machines Corp
|Siemens AG
|View Industry Companies
Industry Analysis
Industry Average
|Industry Range
|Price/Cash Flow
Sponsored Financial Commentaries
Sponsored Links
To contact SAMSUNG ELECTRONICS-PREF, please visit . Company data is provided by Capital IQ. Please use this form to report any data issues.
Our data partners will research the update request and update the information on this page if necessary. Research and follow-up could take several weeks. If you have questions, you can contact them at firstname.lastname@example.com.


text:
tag:blogger.com,1999:blog-69380845227631683302015-04-05T16:24:18.315-05:00IT Non-whizzosI search the Internet for answers to computer technical problems that I encounter. When the Internet does not supply me with an answer, I research one on my own. Then, I document the answer here so others can find it. Also, for your benefit, this stupid blog name makes a great mnemonic.Jefferyhttp://email@example.com:blogger.com,1999:blog-6938084522763168330.post-22554131047648195222015-04-04T11:39:00.003-05:002015-04-05T16:24:18.334-05:00Viewing exception in lldbIt has been a while since I wrote one of these. Time to do it again.

My app aborted on an assertion.

I had the "All Exceptions" breakpoint enabled.

I got this line in Xcode console.

*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-3318.93/UITableView.m:1314
In the Debug navigator, I click on the objc_exception_throw frame.

In the Console of the Debug area, I type in:

expr -o -- $eax
And this tells me exactly what my problem is.

Note: the <tt>$eax</tt> only works in the Simulator. When debugging on an actual device use <tt>$r0</tt>.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2015/04/assertion-failure-uitableview.htmltag:blogger.com,1999:blog-6938084522763168330.post-82977502411555029942015-03-02T06:54:00.004-06:002015-03-02T06:54:31.079-06:00Object-oriented State pattern with view controllers in Objective-C and iOSI have a UIViewController subclass that is controlling a view hierarchy which represents a portion of the UI. That portion of the UI can be in one of three modes: browse, edit, or empty. These modes can change back and forth at run time by user actions.

Right now I have code in every method of the view controller that looks like this:

NSAssert(self.mode == SBModeBrowse || self.mode == SBModeEmpty, @"Should not be called in SBMode %d", self.mode);

And this:

if (self.mode != SBModeEmpty)
{
 [self performScrollCompletion];
}

And so on.

Even worse, I'm probably missing a few asserts and if-thens, and the code just happens to work at the moment.

It seems the object-oriented pattern that solves this situation is the State pattern.

It took me a while to figure out how to do this with UIViewController subclasses because the state behavior will affect UIControls wired up via IBOutlets to the view controller itself. How are the behavior classes supposed to manipulate these objects?

Also, I did not read the State pattern explanation closely enough, so I started off trying to subclass my view controller subclasses instead of merely adding a property to them for a behavior object.

I made a simple sandbox project to teach myself how to add the State pattern to view controllers. Here is my specification.

Display a UILabel with a number.

Display a UIButton.

Display a UIStepper.

Start in Browse mode.

In Browse mode:

Only button allows user taps.

Only label and button showing.

Button title is "Edit" and tapping it goes to Edit mode.

Stepper is invisible and does not allow taps.

In Edit Mode:

Stepper is visible and allows taps.

Stepper adjusts number in label.

Button title is "Browse" and tapping it does to Browse mode.

When exiting Edit mode, if the number in the label is less than 1, then enter Empty mode.

In Empty Mode:

Stepper is invisible and no taps allowed.

Label background is red.

Button tap moves to Edit mode.

Here are the classes and code to accomplish this by using the State pattern and view controllers.

InfoKeys.h

#ifndef SandBox3_InfoKeys_h
#define SandBox3_InfoKeys_h
static NSString *const keyButton = @"button";
static NSString *const keyStepper = @"stepper";
static NSString *const keyLabel = @"label";
#endif

ViewControlller.h

@class Behavior;
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *button;
@property (weak, nonatomic) IBOutlet UILabel *label;
@property (weak, nonatomic) IBOutlet UIStepper *stepper;
@property (strong, nonatomic) Behavior *behavior;
@property (assign, nonatomic) uint16_t labelValue;
- (IBAction)buttonTapped:(id)sender;
- (IBAction)stepperTapped:(id)sender;
@end

ViewController.m

#import "ViewController.h"
#import "Behavior.h"
#import "InfoKeys.h"

@implementation ViewController
- (void)viewWillAppear:(BOOL)animated
{
 [super viewWillAppear:animated];
 self.behavior = [[Behavior alloc] initWithInfo:@{keyButton: self.button, keyLabel: self.label, keyStepper: self.stepper}];
}

- (IBAction)buttonTapped:(id)sender
{
 [self.behavior buttonTapped:@{keyButton: sender, keyStepper: self.stepper, keyLabel: self.label}];
}

- (IBAction)stepperTapped:(id)sender
{
 [self.behavior stepperTapped:@{keyStepper: sender, keyLabel: self.label}];
}
@end

Behavior.h

@interface Behavior : NSObject
- (instancetype)initWithInfo:(NSDictionary *)info;
- (void)buttonTapped:(NSDictionary *)info;
- (void)stepperTapped:(NSDictionary *)info;
@end

Behavior.m

#import "Behavior.h"
#import "BehaviorBrowse.h"
#import "BehaviorEdit.h"
#import "BehaviorEmpty.h"
#import "InfoKeys.h"

@implementation Behavior {
 Behavior *_mode;
}

- (instancetype)initWithInfo:(NSDictionary *)info
{
 self = [super init];
 if (self) {
 // Prevent problems if subclasses call this method (for example, as super in overrides).
 if ([self isMemberOfClass:[Behavior class]]) {
 _mode = [[BehaviorBrowse alloc] initWithInfo:info];
 }
 }
 return self;
}

- (void)buttonTapped:(NSDictionary *)info
{
 [_mode buttonTapped:info];
 UIStepper *stepper = info[keyStepper];
 // Coming back from Empty should allow mode to go to Edit so user can increase 0 value.
 if (stepper.value < 1 && ![_mode isKindOfClass:[BehaviorEmpty class]]) {
 _mode = [[BehaviorEmpty alloc] initWithInfo:info];
 }
 else {
 if ([_mode isKindOfClass:[BehaviorEdit class]]) {
 _mode = [[BehaviorBrowse alloc] init];
 }
 else { // Coming from Empty ends up here also.
 _mode = [[BehaviorEdit alloc] init];
 }
 }
}

- (void)stepperTapped:(NSDictionary *)info
{
 [_mode stepperTapped:info];
}
@end

BehaviorBrowse.m

#import "BehaviorBrowse.h"
#import "InfoKeys.h"

@implementation BehaviorBrowse

- (instancetype)initWithInfo:(NSDictionary *)info
{
 self = [super init];
 if (self) {
 UIButton *button = info[keyButton];
 UILabel *label = info[keyLabel];
 UIStepper *stepper = info[keyStepper];
 label.text = [NSString stringWithFormat:@"%.0f", stepper.value];
 stepper.alpha = 0.0;
 stepper.userInteractionEnabled = NO;
 // Button title shows user way to go to opposite mode.
 [button setTitle:@"Edit" forState:UIControlStateNormal];
 }
 return self;
}

- (void)buttonTapped:(NSDictionary *)info
{
 UIButton *button = (UIButton *)info[keyButton];
 // Button titles inform user of way back to the mode they are about to leave.
 [button setTitle:@"Browse" forState:UIControlStateNormal];
 UIStepper *stepper = (UIStepper *)info[keyStepper];
 [UIView animateWithDuration:0.3
 animations:^(void){stepper.alpha = 1.0;}
 completion:^(BOOL finished) {stepper.userInteractionEnabled = YES;}];
}

- (void)stepperTapped:(NSDictionary *)info
{
 NSAssert(NO, @"Stepper should not be tapable during browse mode.");
}

@end

BehaviorEdit.m

#import "BehaviorEdit.h"
#import "InfoKeys.h"

@implementation BehaviorEdit

- (void)buttonTapped:(NSDictionary *)info
{
 UIStepper *stepper = info[keyStepper];
 UIButton *button = info[keyButton];
 stepper.userInteractionEnabled = NO;
 // Let user know that button can bring them back to Edit from whatever mode comes next.
 [button setTitle:@"Edit" forState:UIControlStateNormal];
 [UIView animateWithDuration:0.3 animations:^(void){stepper.alpha = 0.0;}];
}

- (void)stepperTapped:(NSDictionary *)info
{
 UILabel *label = info[keyLabel];
 UIStepper *stepper = info[keyStepper];
 label.text = [NSString stringWithFormat:@"%.0f", stepper.value];
}

@end

BehaviorEmpty.m

#import "BehaviorEmpty.h"
#import "InfoKeys.h"

@implementation BehaviorEmpty

- (instancetype)initWithInfo:(NSDictionary *)info
{
 self = [super init];
 if (self) {
 UILabel *label = info[keyLabel];
 label.backgroundColor = [UIColor redColor];
 UIStepper *stepper = info[keyStepper];
 stepper.alpha = 0.0;
 stepper.userInteractionEnabled = NO;
 }
 return self;
}

- (void)buttonTapped:(NSDictionary *)info
{
 UIStepper *stepper = info[keyStepper];
 UIButton *button = info[keyButton];
 [button setTitle:@"Browse" forState:UIControlStateNormal];
 UILabel *label = info[keyLabel];
 label.backgroundColor = [UIColor lightGrayColor];
 [UIView animateWithDuration:0.3
 animations:^(void){stepper.alpha = 1.0;}
 completion:^(BOOL finished) {stepper.userInteractionEnabled = YES;}];
}

- (void)stepperTapped:(NSDictionary *)info
{
 NSAssert(NO, @"Stepper should not be tapable during empty mode.");
}

I am always interested in hearing better ways to do this. Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2015/03/object-oriented-state-pattern-with-view.htmltag:blogger.com,1999:blog-6938084522763168330.post-52257015439225195472015-02-08T20:48:00.001-06:002015-02-10T20:32:02.017-06:00The Schwartzian Transform (from Perl) in Swift.I realize that the "Schwartzian Transform" is not the name of algorithm itself but rather the name of the compact idiom in Perl for the expression of the algorithm. Since Swift has all of <tt>split()</tt>, <tt>join()</tt>, and <tt>map()</tt>, I will attempt to not only duplicate the algorithm, but the idiom itself.

As I write this, I am not certain I will succeed. I'm kind of excited. It is like a stage magic show.

I'm going off the 2006 article from Randal's web site.

Let's do the steps all broken down.

let data = "Bob 10\nSue 7\nJane 12\nBill 10\nJim 1\nNancy 8\n"
let lines = split(data, {$0 == "\n"})
let annotatedLines: Array = map(lines, {[$0, split($0, {$0 == " "})[1]]})
let sortedLines = sorted(annotatedLines, {$0[1] < $1[1]})
let cleanLines = map(sortedLines, {$0[0]})
let result: String = join("\n", cleanLines)
println(result)

Here is what it looks like with <tt>println()</tt> statements in a playground.

And here it is condensed properly to match the compact Perl idiom.

let data = "Bob 10\nSue 7\nJane 12\nBill 10\nJim 1\nNancy 8\n"
let result2 = join("\n",
 map(
 sorted(
 map(
 split(data, {$0 == "\n"}),
 {[$0, split($0, {$0 == " "})[1]]}),
 {$0[1] < $1[1]}),
 {$0[0]}))
println(result2)

And in the playground to prove it works.

Just so you know, as Xcode ran this code in the playground, my MacBook Pro (15-inch, Late 2011) CPU fans kicked in. I'm pretty sure Perl would not cause that to happen while processing the same data set.

Now, you may be thinking to yourself, "But it didn't work! Ten is not less than seven!" Yes, that is an obvious machine collating sequence problem because my version is doing string comparisons and not numeric.

This is where I think I've found a Swift defect. I can do this:

let stuff = "xxx 13"
let num:Int! = split(stuff, {$0==" "})[1].toInt()
println("num = \(num)")

But when I try to tack <tt>toInt()</tt> inside <tt>map()</tt> for annotatedLines, I get an error.

So the summary is that the Perl code is easier to read, it probably doesn't cause my CPU fans to engage, and its flexible scalar type is more convenient than the old integer vs string separation.

Up Next: the Orcish Maneuver.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2015/02/the-schwartzian-transform-from-perl-in.htmltag:blogger.com,1999:blog-6938084522763168330.post-66710812798102803002015-02-08T10:36:00.000-06:002015-02-08T10:36:01.064-06:00Xcode build script: Change value in non-compiled file between Debug and Release.I have a file that contains lines of text. One of those lines should to have a different value between Debug and Release. The file is not handled by the C preprocessor.

I am accomplishing this with an Xcode build script. If you know of something better, please tell me.

Here is the file and its contents.

I want the string "Production" for thing1 to be replaced with "Debug" during development. In my particular situation, if the script fails, it is better that the release value is used during development instead of the debug value escaping into the app store. Therefore, I use the "Production" string as the default value.

Look at Project | Target | Build Phases | Copy Bundle Sources.

I create a new build phase after this one. Select + button (tooltip: Add New Build Phase tool) | New Run Script Phase.

Put the Run Script after Copy Bundle Resources.

The next step unfortunately involves intimate knowledge of shell syntax. To create your own scripts to do different things, you will also be digging around in the Build Setting Reference doc.

Here is the script that does my task relatively safely.

I doubt anyone wants to cut and paste that, but just in case:

echo "CONFIGURATION = $CONFIGURATION"
if [ "$CONFIGURATION" == "Debug" ]; then
 f1="Statham.notJson"
 echo "CONFIGURATION_BUILD_DIR = $CONFIGURATION_BUILD_DIR"
 echo "CONTENTS_FOLDER_PATH = $CONTENTS_FOLDER_PATH"
 f2="$CONFIGURATION_BUILD_DIR/$CONTENTS_FOLDER_PATH/$f1"
 if [ -f $f2 ]; then
 sed -i "" -e '/thing1:/s/Production/Debug/' "$f2"
 else
 echo "File not found: $f2"
 fi
else
 echo "CONFIGURATION is not Debug. Not updating $f1."
fi

I like the echoes in that script because they help to debug it by looking at the build logs.

Here is my Terminal output to test that my changes worked.

$ pwd
/Users/jeff/Library/Developer/Xcode/DerivedData/SandBox2-aiqtaeeaiietgzagreaqpyganmtt/Build/Products/Debug-iphonesimulator/Pen1.app
$ ls -l
total 72
drwxr-xr-x 6 jeff staff 204 Feb 8 10:11 Base.lproj
-rw-r--r-- 1 jeff staff 920 Feb 8 10:11 Info.plist
-rwxr-xr-x 1 jeff staff 21240 Feb 8 10:11 Pen1
-rw-r--r-- 1 jeff staff 8 Feb 8 10:11 PkgInfo
-rw-r--r-- 1 jeff staff 67 Feb 8 10:11 Statham.notJson
$ cat Statham.notJson
# Whatever file.
 thing0: 76
 thing1: "Debug"
oddItem: tulip

Of course, my build settings were Debug at the time. Here is my scheme to prove it.

Let's make sure the changes do not happen if we are building for Release. I update my scheme and build again. The first thing I notice is a difference in the build logs.

That looks good, but let's check for real, but be sure I'm in the right directory when I look.

$ pwd
/Users/jeff/Library/Developer/Xcode/DerivedData/SandBox2-aiqtaeeaiietgzagreaqpyganmtt/Build/Products
$ ls -l
total 0
drwxr-xr-x 4 jeff staff 136 Feb 7 16:16 Debug-iphoneos
drwxr-xr-x 7 jeff staff 238 Feb 8 10:11 Debug-iphonesimulator
drwxr-xr-x 6 jeff staff 204 Feb 8 10:26 Release-iphonesimulator
$ cat Release-iphonesimulator/Pen1.app/Statham.notJson
# Whatever file.
 thing0: 76
 thing1: "Production"
oddItem: tulip

It worked!

Now, who can spot the (fairly harmless) defect in my shell script?

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2015/02/xcode-build-script-change-value-in-non.htmltag:blogger.com,1999:blog-6938084522763168330.post-27632387614323104662015-02-07T17:49:00.000-06:002015-02-08T07:19:45.764-06:00How to embed private Objective-C framework into iOS app on Xcode 6.I'm creating this post since Apple's documentation on this topic is an out-of-date lie that mentions Xcode 2.4. And Stack Overflow is overrun with point collectors who can only answer minor variations of the same question over and over again.

The simplest form of this recipe is easy once you get past a few snags. I hope this helps someone some day before it also falls out of date.

Warning: this only works for iOS 8 or better. I'm not sure the linker should seg fault because of this though.

I start with a project named Pen1 in a workspace named SandBox2.

Elsewhere, I have already created a Cocoa Touch Framework like this.

The framework is a separate project from the SandBox2 workspace. I did this to simulate the scenario of:

You created some code in one project.

You have to add the code to another project.

You thought to yourself, "I'll turn this small chunk of code into a framework."

So then you create a separate project to house the framework with the idea of adding it into other projects and workspaces later.

The framework is named BobLib. It consists of 3 main files: BobLib.h, Newhart.h, and Newhart.m. Here are the contents of those files.

I want to use the method doThatThing from the Newhart class in my Pen1 project.

Next is something you must do, and I've only ever seen it mentioned in a WWDC 2014 video. You must select the Newhart.h file in the Project Navigator. Then in the Utilities Area, select the File Inspector. Inside the Target Membership section, you will have to change the value from "Project" to "Public".

If you don't do this, then after you add BobLib to Pen1, the compile of Pen1 will fail because it can't find Newhart.h.

I build BobLib for both simulator and device. After the build, wait for Xcode to index files, and then BobLib.framework in the Project Navigator under Products group will turn from red text (not found, I suppose) to black text. Control-click BobLib.framework and select Show in Finder from the menu.

I open SandBox2 in Xcode. I drag the simulator build of BobLib.framework in Finder into Pen1 in Xcode.

I guess the options to select here are based on what you are doing with your source code control system. I have not worked out the best thing to do for my own environment yet. For this example, I accepted the default choices.

In the project target General settings, I can see that Xcode automatically added the framework to the Linked Frameworks and Libraries section. Thank you, Xcode.

And it will build successfully, but when I ran it in the simulator, I hit this:

With this error message:

dyld: Library not loaded: @rpath/BobLib.framework/BobLib Referenced from: /Users/jeff/Library/Developer/CoreSimulator/Devices/EF59ACE7-ACD5-40CB-92ED-A4BBBBE619F0/data/Containers/Bundle/Application/7151B3F9-A962-44C0-A5A8-84B4AB619697/Pen1.app/Pen1 Reason: image not found

What Xcode did not do is add BobLib to the Embedded Binaries section of the project target General settings. I am not certain if that makes sense or not since I am so new to embedded frameworks.

Hit the + button, add BobLib.framework, and build and run again.

For some reason, after adding it to Embedded Binaries, Xcode adds it again to Linked Frameworks and Libraries. I delete that extra one.

Here is my code in Pen1 that will test if the app can use BobLib. Since I only copied the framework build for simulator, I can only test this out on Simulator.

After doing the above steps. I know the app has successfully used the framework by checking the console.

One final note. The WWDC 2014 video Building Modern Frameworks is bloody frustrating. The speaker is too enamored of himself, but this would be tolerable if he provided useful information. It is mostly slideshow in which he repeats the stuff we all know from the method naming guidelines. He drones on for 45 minutes before we get to see him play around in Xcode for 10 minutes, and then he casually races past crucial details that are not documented anywhere else on Earth but in this damned video.

Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2015/02/how-to-embed-private-objective-c.htmltag:blogger.com,1999:blog-6938084522763168330.post-18323731374360151132014-11-23T19:11:00.000-06:002015-02-07T13:29:03.356-06:00Xcode 6.1.1 GM Seed and _kLSApplicationLockedInStoppedStateKey.This just cost me an hour or so, and I see little mention of it on the Internet.

Because of bugs involving Swift in Xcode 6.1 (Build: 6A1052d) I was desperate to move to Xcode 6.1.1 pre-release version.

I uninstalled Xcode 6.1. I scanned for other Xcode-related files left behind and deleted ones that had a high likelihood of not being essential. For example, I left <tt>/usr/bin/xcodebuild</tt> alone because it is part of the com.apple.pkg.Essentials package whereas I deleted the files in <tt>/Users/me/Library/Developer/Xcode</tt>.

I downloaded and installed Xcode 6.1.1. After installation, I tried to start it. A small window appeared that floated on top of everything. It told me that Xcode was being verified. The progress bar took a long time to finish and several moments after it had finished, a dialog popped up to replace the tiny verify progress window. The dialog was the usual warning that you have downloaded this app from the Internet, are you sure you want to open it? I clicked the button that indicated yes, I want to open the app.

Nothing useful happens. After restarting, trying it all again, getting the same result, I found this log entry on the Console:

11/23/14 6:32:47.962 PM launchservicesd[54]: Someone attempted to start application App:"Xcode" asn:0x0-2c02c pid:367 refs=5 @ 0x7f81cae47bc0 but it still has _kLSApplicationLockedInStoppedStateKey=true, so it is is staying stopped. : LASApplication.cp #2517 SetApplicationInStoppedState() q=LSSession 100005/0x186a5 queue

I fiddled around trying different things, and with every attempt I had to wait a long time for the Xcode verification process to finish before finding out if my attempt was successful or not. I even went into System Preferences > Security & Privacy and set "Allow apps downloaded from:" to the value "Anywhere". That did not help. I really hope I remember to set it back.

If you search the Apple Developer Forums for "_kLSApplicationLockedInStoppedStateKey" you'll get one hit from August this year. Reading the post and response, it seems like it was just a one time thing for that user. He kept trying to open Xcode, and eventually it worked!

I gave it a shot. I clicked the Xcode icon in the Dock maybe 20 or 30 times in rapid succession. And it seemed to have worked! Xcode opened! I can open my project in Xcode again. I'm scared to press Build. I'm scared to close the Xcode app. Right now, I'm very scared to run the Simulator.

Right now, I am traumatized. I rarely have this kind of opaque problem with Apple products, even their development tools. This is the first time I've use pre-release development tools, however. It was a horrible reminder of being back on other OSs where I spent too much of my time wrestling with it instead of being productive. I really hate that.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2014/11/xcode-611-gm-seed-and.htmltag:blogger.com,1999:blog-6938084522763168330.post-22183089419994940982014-11-20T10:51:00.004-06:002014-11-20T10:57:02.503-06:00My Swift equivalent of C macro DLog() with __PRETTY_FUNCTION__.I did not see this exact thing out in the wild yet. It is cobbled together from unpopular Stack Overflow answers and highly informative blog posts.

func dLog(message: String, fullPath: String = __FILE__, line: Int = __LINE__, functionName: String = __FUNCTION__) {
 let filename = fullPath.lastPathComponent
 // Remove ".swift" from file name.
 let splitFilename = split(filename, {(c:Character)->Bool in return c=="."}, allowEmptySlices: false)
 let classGuess = splitFilename[0]
 // Remove "()" from function name.
 let splitFuncName = split(functionName, {(c:Character)->Bool in return c=="("}, allowEmptySlices: false)
 let funcName = splitFuncName[0]
 NSLog("%@", "[\(classGuess) \(funcName)] [Line \(line)] \(message)")
}

The output looks like this.

2014-11-19 18:55:05.887 SandboxApp[12433:287724] [SomeViewController viewDidLoad] [Line 27] dLog message test.

Note that the biggest flaw is the use of the file name instead of the class name. According to Swift docs there is no <tt>__CLASS__</tt> special literal expression.

To make this global, I dropped it in the AppDelegate file outside of the AppDelegate class. There has got to be a better convention for global functions, but I am only burning one bridge at a time.

For bonus points, the Xcode autocomplete on the split() function crashed SourceKitService. I guess this means I'm cutting edge now.

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2014/11/my-swift-equivalent-of-c-macro-dlog.htmltag:blogger.com,1999:blog-6938084522763168330.post-52263535209444891572014-10-11T22:39:00.002-05:002014-10-11T22:41:47.841-05:00GIMP script (Scheme) to scale multiple files at once (batch).I made this back in January of this year, but I forgot to post it. I searched around briefly, but at the time, I found nothing that I could just drop in and use. So I had to write this.

It is written in Scheme. On my MacBook, I drop this script in <tt>~/Library/Application Support/GIMP/2.8/scripts</tt>. Then from the GIMP menu bar select Filters | Script-Fu | Refresh Scripts. This script should then show up under the GIMP menu bar selection Image | Transform | Batch Scale By Factor.

There are a lot of reasons we would need to perform this a batch scale of images files, but mine was related to iOS development. Retina images must be twice the resolution of non-Retina images in order to look good. So I used Retina images as originals and then I had to scale everything to half that size for non-Retina.

The script does not overwrite the original files. It makes new files with "_.jpg" appended to the file name, even if the file name already ends in ".jpg". Which reminds me, this script saves all files as JPEGs, even if the originals are not. If you want different output, I'm sure you can figure out how to change it.

Hey, even though I wrote this to not overwrite the originals, I highly recommend that you never operate on originals. Make a copy of your originals in a temp directory and run the batch process on the copies.

(define (script-fu-scale-by-factor fileglob factor)
 (let*
 (
 (files (cadr (file-glob fileglob 0)))
 )
 (do-scale-to files factor)
 )
)

(define (do-scale-to files factor)
 (while (not (null? files))
 (let*
 (
 (file (car files))
 (image (car (gimp-file-load 1 file file)))
 (width (car(gimp-image-width image)))
 (height (car(gimp-image-height image)))
 (newfile (string-append file "_.jpg"))
 (drawable (car (gimp-image-get-active-layer image)))
 )
 (gimp-image-scale image (* width factor) (* height factor))
 (gimp-file-save 1 image drawable newfile newfile)
 )
 (set! files (cdr files))
 )
)

(script-fu-register
 "script-fu-scale-by-factor" ;func name
 "Batch Scale By Factor" ;menu label
 "Scale multiple images by given factor." ;description
 "Jeffery Martin" ;author
 "Copyright 2014\
 Fluffy White Puppy Software" ;copyright notice
 "2014-01-06" ;date created
 "" ;image type that the script works on
 SF-STRING "fileglob" "/tmp/photos/image-*.jpg"
 SF-VALUE "factor" "0.5"
)

(script-fu-menu-register "script-fu-scale-by-factor" "<Image>/Image/Transform")

Here is what it looks like in operation. Original images files:

Here is the dialog when you run the script.

And the directory after the script run.

And notice that the image files are half the size because I input a scaling factor of 0.5 in the script dialog.

Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2014/10/gimp-script-scheme-to-scale-multiple.htmltag:blogger.com,1999:blog-6938084522763168330.post-10694280834918976062014-09-09T12:35:00.001-05:002014-10-17T14:56:57.326-05:00SOILD: new object oriented design principles.Is your object oriented design soiled?

SOILD

S = Slippery. The class should be so abstract that's its responsibility – or even better responsibilities (plural) – should be hard to pin down.
O = Open. The class should be open…to everything! Public. Free as in beer. You get the idea.
I = Interface. Integrate your interface. Turn those façades upside-down.
L = LISP. All braces in your code should be replaceable by parenthesis.
D = Dependency. See poem below.

No class is an Island, entire of itself; every class is a piece of the Code, a part of the main(); if a clod be washed away by the sea, The Bay Area is the less, as well as if Oakland were, as well as if an old warehouse of thy startup or the Apple Spaceship Campus were; any freed object diminishes the app, because the app is involved in the Framework; And therefore never send to know for whom the compiler warns; It warns for thee.

Hopefully, what I am about to write is obvious, but if not, please realize that this post is humor. I was making a joke about the SOLID OO programming design principles.
Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2014/09/soild-new-object-oriented-design.htmltag:blogger.com,1999:blog-6938084522763168330.post-82449444931322279452014-09-08T21:54:00.001-05:002014-09-08T22:13:08.900-05:00OS X display preferences and melatonin suppression from cool/blue/white light.If you search around you will find enough scientific articles explaining how light with cool color temperatures (lots of blue wavelength) suppresses the human brain's production of melatonin. Melatonin, of course, is a hormone needed for a good night of sleep. This fact impacts those of us who may be in front of LCD screens just before or well after midnight.

One way to help with this is to switch your monitor's settings to a warm color temperature. I noticed that some folks are selling apps for OS X so that you can make this adjustment. Well, there is no reason to download or buy an app.

Go to System Preferences : Displays and select the Color tab. Then tap the Calibrate button to create a new profile. When it comes time to "Select a target white point" choose D50 Warm yellowish white. Save the profile with a memorable name, and then when you are coding after sunset, switch to the warm color temperature profile.

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2014/09/os-x-display-preferences-and-melatonin.htmltag:blogger.com,1999:blog-6938084522763168330.post-68279319785396660792014-08-08T23:37:00.001-05:002014-08-08T23:37:15.750-05:00Cocoa documentation has an image that tickles me.

It is from the Cocoa Core Competencies document, in the section "Object Creation". I like explaining things by analogy, perhaps too much because my analogies do not always work. I think this one gets the point across. It is understandable across all modern computer-using Earth cultures. I like it. It is effective and well done.

However, I would display the resource picture as bills of currency and the allocation as the individual ingredients, and I would remove the dough mixer. The resource is the computer's memory, not your code pieces and data parts (ingredients). Allocation is when you claim some memory and fill it with your code and data (convert your currency into flour, salt, yeast, and water). The way the analogy is now, it doesn't emphasize enough the conversion of a homogenous limited resource (memory/money) into a useful item. In fact, it shows that your methods and instance variables (flour and yeast) are the resource, and they aren't.

I don't think my imagined changes would help a beginner understand OOD/OOP better. I just think it would make the analogy more accurate. Are computer engineering basics taught to computer programmers these days? If yes then perhaps a more accurate analogy would help after all.

Has anyone written a class that has an <tt>initWithTemperature:</tt> method?Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2014/08/cocoa-documentation-has-image-that.htmltag:blogger.com,1999:blog-6938084522763168330.post-3636335214870725562014-07-10T17:36:00.000-05:002014-07-10T17:36:26.834-05:00Stop using icons.I am writing this in the month of July in the year two thousand fourteen of Anno Domini / Common Era.

I was using Google Chrome 35.0.1916.153 and Mac OS X 10.9.4.

I clicked a link in Chrome pointing to a PDF file. The file displayed in a Chrome tab. I just wanted to save it locally. This floating toolbar was in the bottom right corner of the screen.

I recall the era of the 3½ inch floppy disk. As a teenager, I used 5¼ inch floppy disks to load programs into my Atari 800. In the 90s, we used Zip drives and later Jazz drives.

But come on! I had to hesitate far too long hovering over that button (with no tooltip) wondering if it meant what I hoped it meant. I was also anxious it would do something destructive and annoying to reverse.

I think my pause was due to two factors: I had not seen a floppy disk in so long that I was not sure if the silhouette matched one, and I was in disbelief that a modern UI designer would use this image to represent "save".

The only icons I recognize on that toolbar are zoom out and zoom in. I've got a crazy solution. Look at my Gmail message-level toolbar.

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2014/07/stop-using-icons.htmltag:blogger.com,1999:blog-6938084522763168330.post-21067580844641126002014-05-07T19:48:00.002-05:002014-05-18T15:03:14.910-05:00My image editor for Mac OS X is now Acorn.I moved from Linux to OS X years ago, but I still kept going to GIMP for image editing. Keep in mind that only in the last year or so has GIMP become Cocoa-native. Prior to that it required an X11 runtime that was available as an installable extra from Apple.

Running GIMP inside X11 on OS X looked poor with the antiquated GTK+ widget set. The runtime situation made it impossible to directly Alt+Tab to GIMP; the X11 process would gain focus instead. The GIMP shortcut keys used Control instead of Command. There we other quirks I cannot remember now.

When GIMP become Cocoa-native, I was relieved. But a keyboard focus bug caused text entered into text fields to be interpreted as Alt+Key strokes, which are shortcut keys for menu items. Fine, so I disabled all shortcut keys in the app and did everything solely from touchpad clicks. In the next version, that bug got fixed but not the bug that fails to order files by name properly.

Yesterday, in GIMP, I was trying to figure out why I could not select a layer in the Layer dialog. I had already converted my floating selection to a new layer, so what could be the problem? GIMP hung as I poked around, and I had to force quit it. At that point, I decided to buy an image editor.

I had previously researched other image editors for Mac OS X, but the different choices were daunting. The review articles I had found were either outdated or incomplete (missing a prominent application). Finally, in a bogus article which I will not link to, several comments to that article recommended Acorn. I took a look at the feature list of Acorn, and I was impressed. It only cost $30, and I trust the crowd more than a self-appointed authority on those user-generated content repositories, so I bought it.

What a huge difference! I am still in the process of kicking myself for being so foolish as to not leave GIMP earlier. I rate GIMP's ease-of-use at 3 (out of 10). I rate Acorn's at 9 (because nothing is perfect). Exploring Acorn to figure out how to do something is fast, simple, and straightforward. I had to look up how to add to a selection, and the Acorn documentation is up-to-date and complete with good search results.

And that brings me to what really struck me about the difference. In GIMP I had seen the different selection method (add, subtract, union) mini-buttons before, but until Acorn it was all just so much clutter in my face that I never thought about what to do with those buttons. So suddenly, because of Acorn's superior UI design and full documentation, my skills as an editor of images have increased.

For those of you thinking I should use Photoshop, Photoshop Lightroom, or Photoshop Elements: just no, guys. I think I tried out Lightroom, and what a convoluted mess. The install was odd somehow. The look and feel was that wannabe nouveau Adobe Flex. It tried to take over my Mac by asking me about all my images and whatnot. And the UI was like advanced GIMP. I went running back to GIMP very quickly. The next time I tried to give Lightroom another chance my trail period had expired, and I decided it was not worth it to pursue again.

To those who might think this product review was unfair: I did not set out to write a product review when I started using PS Lightroom, Acorn, or GIMP. I'm just a guy who used GIMP on OS X for far too long, and I used the immense power of an inference engine that I keep stored in my skull, and the output I got from the input provided lead me to spend $30 on Acorn, and I'm very happy with that decision. In fact, I'm so pleased that I wrote this blog entry about it.

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2014/05/my-image-editor-for-mac-os-x-is-now.htmltag:blogger.com,1999:blog-6938084522763168330.post-75490173562944259952014-02-17T13:45:00.003-06:002014-05-07T17:55:18.191-05:00 My iPad app is available: Veronica's Garden Tracker.
Please tell every gardener you know about Veronica's Garden Tracker for iPad. Thanks!

I aimed to create a simple, visual journal for home vegetable gardens. I got the idea when I asked my wife a few years back, "Sweetie, what is this sprouting here?" and she had forgotten and her labels were missing, so we had to wait a few weeks until the plants got bigger to find the answer.

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2014/02/my-ipad-app-is-available-veronicas.htmltag:blogger.com,1999:blog-6938084522763168330.post-80263984446697772272014-02-17T13:40:00.001-06:002014-05-07T19:55:22.970-05:00Google AdWords redeem coupon code screen has moved.It took me a bit to find the new location to redeem those promotional codes that Google hands out to lure in folks like me into using AdWords. All the blogs out there talk about the old, easier-to-find location. Even the email that contains the promo code itself is wrong.

Starting from AdWords home.

Click gear icon in upper right.

Click Billing from drop down menu.

Click Transaction history.

Click More Actions button.

Click Apply a promotional code from the drop down menu.

And there you are!

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2014/02/google-adwords-redeem-coupon-code.htmltag:blogger.com,1999:blog-6938084522763168330.post-9753519823642979642013-12-11T19:37:00.000-06:002013-12-11T20:40:09.330-06:00Order that UIScrollViewDelegate methods get called when a user does a sloppy tap.Please note that the UIScrollView I am using has <tt>pagingEnabled</tt> set to <tt>YES</tt>.

To create the sloppy tap gesture, the user makes the most minor drag motion possible with his finger. I call this a "sloppy tap" because about 1 in 10 of my own taps trigger this gesture on my iPad 2. Visually, the scroll view will not appear to move.

<tt>scrollViewWillBeginDragging:</tt>

<tt>scrollViewDidEndDragging:willDecelerate:</tt>

Note that <tt>scrollViewDidEndDecelerating:</tt> will not be called because no scrolling actually happened.

Here is what gets called when a user properly flicks his finger horizontally to scroll to a new page.

<tt>scrollViewWillBeginDragging:</tt>

<tt>scrollViewDidScroll:</tt> × ~4

<tt>scrollViewDidEndDragging:willDecelerate:</tt>

<tt>scrollViewDidScroll:</tt> × ~24;

<tt>scrollViewDidEndDecelerating:</tt>

Suppose you want a flag toggled as soon as movement starts, and then you want it toggled again only after movement stops. There isn't one method you can count on for the second flip.

I already toggle the flag in <tt>scrollViewWillBeginDragging:</tt> and <tt>scrollViewDidEndDecelerating:</tt>. The solution is to also toggle the flag in <tt>scrollViewDidEndDragging:willDecelerate:</tt> when <tt>decelerate</tt> is <tt>NO</tt>.

I would have figured this out sooner if I had read the documentation more closely.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2013/12/order-that-uiscrollviewdelegate-methods.htmltag:blogger.com,1999:blog-6938084522763168330.post-67427246162394059922013-12-06T11:13:00.001-06:002013-12-06T11:13:54.487-06:00lldb and Objective C: printing structs contained in objects.I'm tired of looking up how to do this.

Wrong:

(lldb) expr -- self.scrollView.frame
error: unsupported expression with unknown type
error: unsupported expression with unknown type
error: 2 errors parsing expression
(lldb) expr -- (CGRect)self.scrollView.frame
error: unsupported expression with unknown type
error: unsupported expression with unknown type
error: C-style cast from 'unknown type' to 'CGRect' is not allowed
error: 3 errors parsing expression

Correct:

(lldb) expr -- (CGRect)[[self scrollView]frame]
(CGRect) $5 = origin=(x=0, y=0) size=(width=768, height=607)

You'll notice I don't bother with gdb aliases like p. Please accept my apologies.Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2013/12/lldb-and-objective-c-printing-structs.htmltag:blogger.com,1999:blog-6938084522763168330.post-65285495426492825772013-12-05T11:21:00.001-06:002013-12-05T11:21:56.126-06:00[CALayer isKindOfClass:]: message sent to deallocated instance -- Get this error when using UINavigationController.This is a tough one to debug, and I did not find many examples out there on solving this.

I was getting this error when manipulating my Navigation Controller stack via <tt>pushViewController</tt>. Here are the recreation steps:

Due to user action, ViewControllerSubclassA instance X gets pushed to Navigation Controller stack.

Due to user action, instance X pops itself from stack.

Due to user action, ViewControllerSubclassA instance Y gets pushed to Navigation Controller stack.

Crash happens!

There are going to be a thousand different reasons out there for this to occur, but I wanted to document my particular one in order to help.

I narrowed things down to which view by testing the app. I noticed that the crash only happened after I had tapped in a text field owned by ViewControllerSubclassA. Was a reference to a UITextField owned by a view controller still hanging around after the view controller was popped from the navigation controller stack? I added a debug line to find out.

2013-12-05 10:20:19.504 MyApp[82746:70b] -[MATypeAViewController viewDidLoad] [Line 50] CALayer of textField = CALayer: 0xefe5dd0
2013-12-05 10:20:27.373 MyApp[82746:70b] *** -[CALayer isKindOfClass:]: message sent to deallocated instance 0xefe5dd0

Yep, it sure was.

Removing this UITextFieldDelegate protocol method from my view controller solved the problem.

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
 if ([textField.text length] == MATextFieldIllegalLength)
 {
 return NO;
 }
 return YES;
}

What I guess was happening was that at times, NO was returned from this method, but the view controller popped itself from the stack anyway. This left a reference somewhere to the UITextField even though it got deallocated when its view controller went away.Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2013/12/calayer-iskindofclass-message-sent-to.htmltag:blogger.com,1999:blog-6938084522763168330.post-15260188180824348322013-12-02T16:36:00.001-06:002013-12-02T16:36:20.000-06:00Jeff's first rule of programming.Number of known software defects with an as-yet-unknown root cause of the type Boolean semantic error figured out per 1 km jogged while casually considering said defect: 1.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2013/12/jeffs-first-rule-of-programming.htmltag:blogger.com,1999:blog-6938084522763168330.post-43393607742257628262013-11-21T14:04:00.000-06:002013-11-21T14:04:30.057-06:00UIColor HSB/HSV 360 degree to 0.0 thru 1.0 decimal conversion and bc.As we all know, UIColor's method <tt>colorWithHue:saturation:brightness:alpha:</tt> maps the hue argument to a value between 0.0 and 1.0. Out in the real world, this is a value from 0 to 360. So after I'm done color shopping, I use bc to convert the hue values to the proper range from the UIKit framework. Unfortunately, I left bc with my usual scale value of 3.

Yes, a 5th grader would quickly realize how bad my mistake was, but I'm no 5th grader. It took me a while.

An example:

scale=3
(1/360) * 140
.280
scale=5
(1/360) * 140
.3878

Yikes! No wonder everything looked funny.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2013/11/uicolor-hsbhsv-360-degree-to-00-thru-10.htmltag:blogger.com,1999:blog-6938084522763168330.post-91491040156092791082013-09-15T19:00:00.001-05:002013-09-15T19:00:33.647-05:00Austin Texas Real Estate Agent = Veronica PettersonI know I wrote that I'd never do another promotional post after I did one for a friend a while back, but this is my wife, and so she gets a pass. This really is the last time ever.

So if you are buying or selling a house in Cedar Park, Round Rock, Leander, Georgetown, or Austin, Texas, then please give her a call at 512-373-6951.

Or visit her web site: http://dreamhousetx.com/Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2013/09/austin-texas-real-estate-agent-veronica.htmltag:blogger.com,1999:blog-6938084522763168330.post-3188554823155666542013-08-07T11:22:00.005-05:002013-08-07T12:18:58.948-05:00Setting a temp (user-defined) variable in lldb.Being a complete amateur is why I keep forgetting this simple syntax, I suppose.

(lldb) expr int $bob = 5;
(lldb) print bob
error: use of undeclared identifier 'bob'
error: 1 errors parsing expression
(lldb) print $bob
(int) $bob = 5

It really is that simple. *thumps side of head*

A more complex example. I put a break point in my view controller's viewDidLayoutSubviews and did this.

(lldb) expr NSUInteger $tmpArr[2] = {0,2};
(lldb) expr NSIndexPath* $tmpIndex = [NSIndexPath indexPathWithIndexes:$tmpArr length:2];
(lldb) expr UITableViewCell* $tmpCell = [self.tableView cellForRowAtIndexPath:$tmpIndex];
(lldb) po $tmpCell
$tmpCell = 0x0fc29af0 <UITableViewCell: 0xfc29af0; frame = (0 0; 180 44); text = 'empty'; autoresize = W; layer = <CALayer: 0xfc29c70>>
(lldb) po $tmpCell.imageView
$0 = 0x0fc2a9b0 <UIImageView: 0xfc2a9b0; frame = (0 0; 0 0); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0xfc2aa10>>

I didn't find the value I was looking for, but that's not the point.Jefferyhttp://firstname.lastname@example.com://it-nonwhizzos.blogspot.com/2013/08/setting-temp-user-defined-variable-in.htmltag:blogger.com,1999:blog-6938084522763168330.post-75764578973730461412013-07-30T12:24:00.003-05:002013-07-30T12:24:46.560-05:00Bad Safari shortcut key combinations.Shift+Command+[ and Shift+Command+] to move left and right between tabs is nice.

Command+W to close a tab is nice.

Shift+Command+W to close a window is not nice in combination with the other 2 listed above. It is like a trap waiting to be sprung on the fat-fingered fool who is jumping back and forth between lots of open tabs and wants to close a few of them.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2013/07/bad-safari-shortcut-key-combinations.htmltag:blogger.com,1999:blog-6938084522763168330.post-46959621423603146292013-06-20T13:28:00.000-05:002013-06-26T18:39:33.557-05:00initWithCoder vs awakeFromNib when instantiating UIViewControllers from UIStoryboards.After poking around on Stackoverflow, reading the docs, perusing a few blogs, and thinking about it a bit while still having to make a decision so I can keep progressing, I've decided to throw all my view controller initialization into awakeFromNib by default. I'll use initWithCoder if any setup must happen in order for initialization in awakeFromNib to succeed.

My reasons.

Various init... methods may get called on different objects depending upon if they conform to the NSCoding protocol or not, but the one common method is awakeFromNib. Thus, it gives greater consistency.

Outlets and other attributes defined in the archive are not available during initWithCoder, and messages cannot be sent to other objects in the archive. During awakeFromNib, the opposite is true. Thus, it is simpler because I don't have to think about which of these categories into which my code falls.

This is silly, but subclassing is easier with awakeFromNib than initWithCoder – no arguments to pass to super, and I don't have to deal with self.

Update – problems I have run into so far.

The view controller's view is not loaded yet in awakeFromNib, which makes perfect sense, since viewDidLoad would have been called already if it had. If the view is not loaded, then of course, none of its subviews are either. However, a frequent practice is to have IBOutlets in the view controller point to subviews (buttons, controls, so on) of the top level view. So while the IBOutlet properties exist in awakeFromNib, but in this case all of their values will be nil and are thus useless.

View controllers are instantiated by some parent object. And if that parent object is instantiating a view controller from a storyboard, then quite frequently, certain properties of the soon-to-be-instatiated view controller are set by the parent object in prepareForSegue. Any properties relying on values passed in from prepareForSegue have not yet had those values passed in during awakeFromNib.

Initial conclusion.

So where does this leave me? Well, due to the situations just described, I already have a few UIViewController subclasses that can only get their initialization completely done (and only done once) by putting the code in viewDidLoad and checking a BOOL ivar flag to see if the code has already run. So why not just put all the initialization code in that conditional block in viewDidLoad? Well, I guess I have to keep awakeFromNib in order to set my flag ivar to YES.

Later conclusion.

Well, trying to put all of my one-time initialization code solely in viewDidLoad wrapped in a conditionally executed block did not work or make best sense in all cases. I do not want to be foolishly consistent, so I put some stuff in awakeFromNib and some in viewDidLoad, and in one case inside a one-time conditional block in viewWillLayoutSubviews.

Sometimes being a neat (consistency) freak can prevent problems, and other times it can give me pointless work. I try to anticipate the latter to prevent doing that to myself, but I'm not always successful.Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2013/06/initwithcoder-vs-awakefromnib-when.htmltag:blogger.com,1999:blog-6938084522763168330.post-18979040791233795452013-04-25T17:25:00.000-05:002013-05-02T11:24:48.982-05:00Viewing NSException reason when "All Exceptions" breakpoint set in Xcode.I have not memorized this yet. HumbleBee blog is the first to explain it to me accurately.

In short:

Click on objc_execption_throw frame.

po $eax on simulator.

po $r0 on device.

Jefferyhttp://email@example.com://it-nonwhizzos.blogspot.com/2013/04/viewing-nsexception-reason-when-all.html


text:
Fear of Wine: An Introductory Guide to the Grape
In this friendly introductory guide, food and wine writer Leslie Brenner tells how to: Pour and taste wine Develop a taste memory Order from a wine list Select a wine at the store Match food with wineIn addition, helpful sidebars illuminate such subjects as: How--and why--to swirl without sloshing Disarming a snotty waiter Ten great wines to bring to a dinner party Going beyond California Chardonnay Starting your own cellar for under $100Along the way, Lettie Teague's funny and informative cartoons enhance the text and make great devices for remembering the most important facts. Before long,your old standby, Chateau Screwtop, will be a distant memory. Accessible and concise, Fear of Wine will appeal to anyone who wants to know a little bit about a subject that can bring great pleasure. At last, a guide that is as fun to read as wine is to drink!


text:
Email AddressVerified
Phone Number▒▒▒▒▒▒▒▒▒▒ 98
989 Friends
About Me
- School
- University of Nottingham, Uni. of Nottingham Ningbo, Santa Laurensia School
- Languages
- Bahasa Indonesia, English, 中文
- Michelle's Airbnb Symbol
Hey, I'm Michelle!
Jakarta Capital Region, Indonesia · Member since April 2011
You have reported this user. Undo?
I am an avid traveler, a day-to-day corporate worker and a wanderluster with extreme partiality towards nature and eco-friendly accommodations.
My dreams include staying in the Tree House in Sweden, the Glass Igloo in Finland, Glamping in Wales, and joining the Orient Express.
I enjoy good conversations and I am always up for a good cup of coffee.


text:
Imagine a life free of unwanted hair. No more waxing, shaving or plucking! The Soprano® XLi Blue Laser Hair Removal makes this dream a reality. The revolutionary Soprano XLi with brand new technology treats all skin types including black and Asian skins hair types and most hair colors. It can even be used on tanned skin. The bottom line is - if you have hair where you wish you didn't, this revolutionary new laser treatment is for you. It really is pain free! Consultations and patch test - complementary.
Skin Clinic
Online bookings let you pick date/time for your visit.
If you purchase an eVoucher you will need to book with the venue directly.
Our old Wahanda Gift Vouchers can still be redeemed at over 3,000 locations. Use them to pay as you would with cash. Please note, the Wahanda Gift Voucher's successor – the Wahanda Gift Card – can only be used for online purchases.


text:
Tahiti Travel Guide
There is an abundance of things to do in Tahiti – most beach hotels offer complimentary snorkeling, canoeing, and windsurfing. Visitors can also rent motorized canoes, sailboats or powerboats to explore the crystal clear waters that surround the island.
In addition to these water activities, there are plenty of things to do in Tahiti that take place on the land, including guided bus tours of the island, horseback rides through Tahiti's interior or along one of its black beaches, nature hikes that offer sweeping views of the ocean, and for the more adventurous, 4x4 island safaris. Finally, those not traveling on a budget should consider taking a helicopter tour of the island, which offers majestic aerial panoramas of the tropical paradise down below. Although adventure and nature-lovers alike will be hard pressed to run out of things to do in Tahiti, the island is ideally situated for day trips to the nearby islands Moorea and Tetiaroa.
Finally, those wondering what to do in Tahiti should consider taking a day to do nothing at all. The island is ideal for the ultimate relaxing getaway, full of lazy, restorative days spent on the beach or reading in a hammock. When doing nothing gets old, however, visitors can check-into one of the island's numerous world-class spas, where typical treatments include flower baths, banana tree body wraps, and rejuvenating deep tissue massages.
Years as agent: 18. Specialties: New Zealand, Australia, Fiji, Tahiti. Consulting fee: From $150.
Insider clout: For a couple with a layover in California, Johnson arranged a last-minute dinner at French Laundry, in Yountville. Years as agent: 6. Specialities: Italy, Tahiti, New Zealand, Honeymoons. Consulting fee: $250.


text:
Registering online only takes a few seconds and allows you to customize your experience.
Contact us about properties with one click
Once registered, you won't need to fill out another form! You can easily contact us online with just one click when you want more details about a property or to arrange a viewing.
Save your favourite properties
Save properties that interest you for quicker access in the future. Access your saved details from home or from work, or via your mobile or share a log in with your partner and view properties you have both saved simultaneously.
Create your property profile
Set up your property profile to help our advisors better serve your specific requirements.
Affordable Resort Style Villas in Layan
THB 8.4M - 16.5MLayan
Centrally Located Patong Condo
THB 3.0M - 4.0MPatong
New Condo in Patong with Sea View
THB 4.7M - 12.3MPatong
Affordable Condos near Bangtao Beach
THB 2.8M - 9.2MBangtao
New Condos in Prime Location Near Laguna
THB 4.5M - 14.7MBangtao
Private Pool Sea View Villa
THB 45.0M - 70.0MCape Yamu
Balinese Pool Villas Near Top International School
THB 25.0MThalang
Boutique Golf Villa
THB 27.0MKathu
Exceptional 6-Bedroom Sea View Residence
THB 96.5MSurin
Incredible Six Bedroom Sea View Villa
THB 149.0MKalim
Modern Style Villas in Layan
THB 9.9MLayan
Luxury Sea View Patong Villas
THB 35.0M - 81.0MPatong