text:
DEV531: Defending Mobile Applications Security Essentials
Sat, September 29 - Sun, September 30, 2018
Mobile application development is growing exponentially year over year. As of late 2015, over 3 million apps are deployed in the Apple and Google app stores. These apps are consumed by over 700 million users world-wide and account for 33% of the traffic on the Internet [1]. Average users have over 100 mobile apps installed on their device, many of which provide business critical services to customers and employees.
Unfortunately, these apps are often rushed to market to gain a competitive advantage with little regard for security. As seen in web applications for the past 20 years, software vulnerabilities always exist where code is being written and mobile apps are no different. Mobile apps are vulnerable to a whole new class of vulnerabilities, as well as most traditional issues that have long plagued web and desktop applications. This problem will only continue to grow unless managers, architects, developers, and QA teams learn how to test and defend their mobile apps.
DEV531: Defending Mobile Applications Security Essentials covers the most prevalent mobile app risks, including those from the OWASP Mobile Top 10. Students will participate in numerous hands-on exercises available in both the Android and iOS platforms. Each exercise is designed to reinforce the lessons learned throughout the course, ensuring that you understand how to properly defend your organization's mobile applications.
You Will Learn To:
To maximize the benefit for a wide range of audiences, the discussions in this course cover high-level mobile app defensive strategies, as well as risks specific to both the Android and iOS mobile operating systems. Students will walk away with the knowledge and skills to:
- Understand mobile app risks and common vulnerabilities
- Find vulnerabilities in their mobile apps before an attacker does
- Apply defensive strategies to build secure mobile apps from the beginning
Think different. Think Secure.
[1] http://www.statista.com/markets/424/topic/538/mobile-internet-apps/
Course Syllabus
DEV531.1: Defending Mobile Apps, Section 1
Gregory Leonard
Sat Sep 29th, 2018
On the first day of this course, students will examine some of the most prevalent mobile app vulnerabilities. Starting with the device data storage, students will discover how important it is to secure web APIs that communicate with a mobile app. Students will explore web service API topics including server configuration, session management, and transport layer encryption. Next, students shift their focus to the mobile device and explore all of the locations where data persists within mobile apps. Each section ends with a hands-on exercise where you can see how a vulnerable mobile app responds to an attack and how the app responds after applying the appropriate defensive technique.
CPE/CMU Credits: 6
- Insecure Device Data Storage
- File System Inspection
- Local Storage
- Android & iOS Hardware Security
- SQLite Encryption Extension (SEE)
- Device Data Leakage
- 3rd Party Keyboards
- URL Caching
- Application Screenshots
- Clipboard Caching
- Insecure Logging
- Transport Layer Protection
- App Transport Security
- Secure TLS Configuration
- Certificate Validation
- Certificate Pinning
- Mobile Web Services
- Web service hardening
- Secure configuration
- API Authentication
- Session Expiration
- Session Fixation
- Weak Session Tokens
DEV531.2: Defending Mobile Apps, Section 2
Gregory Leonard
Sun Sep 30th, 2018
The second day continues dissecting vulnerabilities that mobile app development teams must keep in mind when writing a mobile app. More complex topics such as mobile cryptography, authentication and authorization, client side injection, inter-process communication, and binary protections are covered in detail to continue creating secure mobile apps. Each section ends with a hands-on exercise where you can see how a vulnerable mobile app responds to an attack and how the app responds after applying the appropriate defensive technique.
CPE/CMU Credits: 6
- Broken Cryptography
- Weak Cryptographic Algorithms
- Secure Random Number Generation
- Secure Secrets Management
- Android Keystore
- iOS Keychain
- Authentication & Authorization
- Mobile Form Factor
- Enterprise Mobility Management (EMM)
- Mobile Device Management (MDM)
- Mobile App Management (MAM)
- Android Fingerprint Manager
- iOS Local Authentication
- iOS Touch ID
- Client Side Injection
- SQL Injection
- Mobile User Session
- Binary Code Injection
- XML Injection
- Format String Injection
- Inter-Process Communication
- Android IPC
- iOS URL Schemes
- iOS Universal Links
- iOS Activity Sharing
- iOS Extensions
- Lack of Binary Protections
- Binary Inspection
- Reverse Engineering
- Jailbreak Detection
- Code Obfuscation
- Checksum Controls
Additional Information
Laptop Required
A properly configured system is required for each student participating in this course. Before coming to class, carefully read and follow these instructions exactly.
Please download and install VMware Workstation, VMware Fusion, or VMware Workstation Player on your system prior to arriving at class. If you own a licensed copy of VMware, make sure it is at least VMware Workstation 11, VMware Workstation Player 7.0, or VMware Fusion 7.0. If you do not own a licensed copy of VMware, you can download a free 30-day trial copy from VMware. VMware will send you a time-limited serial number if you register for the trial at their web site.
VMware Workstation Player is a free download that does not need a commercial license. Most students find VMware Workstation Player adequate for the course.
Mandatory Host Hardware Requirements
- CPU: 2.5+ GHz multi-core 64-bit processor or higher
- Memory:
- 16GB of RAM is recommended to run both the Android and iOS VMs simultaneously
- 8GB of RAM is recommended to run only 1 VM at a time
- Hard Disk: 75GB of free disk space minimum
- Working USB 2.0 or higher port
- The student should have Local Administrator access within their host operating system
Mandatory Host Software Requirements
- VMware Workstation 11+, VMware Workstation Player 7+, or VMware Fusion 7+
- Zip File Utility
Mandatory Host Operating System Requirements
- Mac OS X (El Capitan, Sierra) *
- Windows (7, 8, or 10)
* The course exercises contain examples written for both the Android and iOS mobile operating systems. To run the iOS exercises, students must bring a laptop running Mac OS X. If a student does not have access to Mac OS X, Windows can be used to complete all of the Android exercises.
- Bring a laptop with the required system hardware and operating system configuration
- Install VMware (Workstation, workstation Player, or Fusion)
- Make sure you have a working USB drive capable of mounting exFAT file partitions. The course VM files will be copied onto your laptop from a USB key provided by SANS.
If you have additional questions about the laptop specifications, please contact firstname.lastname@example.com.
Who Should Attend
- Mobile application developers
- Mobile app development managers
- Mobile app architects
- Quality assurance testers
- Penetration testers who are interested in mobile app defensive strategies
- Auditors who need to understand mobile app risks and defensive controls
- Application security managers
This class requires a basic understanding of mobile application development, server side APIs, and the HTTP protocol.
Other Courses People Have Taken
Related Courses
- Courses that lead-in:
- DEV522: Defending Web Applications Security Essentials
- DEV534: Secure DevOps: A Practical Introduction
- Courses that are good follow-ups:
What You Will Receive
- Course books
- Lab workbook with step-by-step instructions for completing the Android and iOS exercises
- USB containing virtual machines for Android and iOS
You Will Be Able To
- Identify sensitive information stored insecure on a mobile device
- Sniff mobile app traffic using Wireshark
- Test a mobile app for certificate pinning protections
- Use a web application proxy to test mobile app APIs for vulnerabilities
- Leverage built-in fingerprint authorization APIs from your custom apps
- Understand industry cryptography best practices (NIST, PCI) for encryption, hashing, and random number generation on mobile platforms
- Secure Android IPC and iOS URL schemes
- Inspect mobile app binaries and obtain sensitive information
Hands-on Training
- Find sensitive information on the mobile file system
- Prevent mobile app data leakage
- Securely store data on the file system
- Intercept mobile app communications
- Secure mobile app communications
- Enable certificate pinning
- Test server side mobile APIs
- Implement custom app encryption
- Use the Android Keystore and iOS Keychain
- Defend against client side injection
- Configure secure Android IPC services
- Secure URL schemes and Universal Links
- Perform binary analysis
- Implement reverse engineering defenses
Press & Reviews
"Mobile DEV security is extremely important and yet very rarely covered in other courses. Excellent course, and very valuable." - Mark Geeslin
Author Statement
Mobile apps are changing the way organizations do business by replacing traditional web applications. Instead of using a laptop's web browser to access sensitive resources (e.g. prescriptions, financials, sales quotes, etc.), apps that perform the same functionality are being installed on the end user's mobile device.
Mobile apps, which often rely on backend web service API's that are exposed over the Internet, require development teams to understand a new set of security issues including protecting data stored locally on the device, defending against reverse engineering, deploying secure web API's, and many more.
This course is designed to teach students how to attack their mobile applications, learn the mitigation strategies required to fix common vulnerabilities, and further their understanding through hands-on exercises. Take part in this exciting course and learn to defend your mobile applications!
- Eric Johnson & Greg Leonard


text:
President Obama has thus far refused to entertain the idea of a compromise with House Republicans that would avoid a government shutdown. From all that appears, he won't even negotiate.
The primary reason for his refusal is political. He believes that the public will place primary blame on Republicans, thereby giving his presidency and his Party some needed much needed momentum.
Frankly, I think Obama is probably right about this.
Party politics aside, Obama is loath to accede to Republican demands to modify his signature legislative accomplishment — Obamacare. So that's a second reason why he hasn't been willing to negotiate, much less compromise.
But there may be a third reason why Obama refuses to negotiate. He probably believes, and in essence has said, that it would set a bad precedent for him, and for the president in general, to be coerced by the threat of a government showdown into agreeing to legislative modifications that cannot otherwise carry the day in Congress. After all, if a shutdown produces modifications in Obamacare, why won't we see a government shutdown anytime one chamber of Congress badly wants to revisit this or that piece of significant legislation, but lacks the votes to accomplish it through regular procedure?
Frankly, I think Obama is probably right about this.
UPDATE: President Obama reportedly called Speaker Boehner this evening, and the two talked for about ten minutes.

subset: commoncrawl


text:
Special Issues are nothing but sub topics/ more specific topics of journal which are focused with the scope of journals. Special issues are handled by Guest Editors who are expertise on particular subject, will review the manuscripts and provide decision on them.
Special issues will be with a minimum set of 7 articles is released on a monthly basis and proposals will be accepted accordingly. All proposals should contain the following information for Editorial Office use
Submissions could be Research/ Review/ case reports/ editorial articles etc. Special Issue proposals and manuscripts are welcome at any time during the year, and could be submitted to


text:
TRAVEL back in time to the 18th century when our nation was born. Learn about early American history, from the Revolutionary War to the everyday Colonial world. Experience living like George Washington, Molly Pitcher, and Daniel Boone did in the 1700s.
AT Camp Flintlock, you won't just hear about history, you'll LIVE IT! All of our programs―from our Colonial Faire to our hands-on school field trips―are designed to promote a historical perspective while building character and having fun.
AN opportunity to do, rather than watch, living history.
KIDS have a better grasp of American History and a lot more respect for their hardworking ancestors.
AT Camp Flintlock, history comes alive in a personal way...
YOU can take a shot at living in the 18th Century.
THANK you so much for coming to our school again this year! You provide such a great program for the students―they enjoyed it so much! As a teacher it is also a pleasure working with you―you make it all so easy! Thank you again...
NOTE: The driving directions on Google Maps, MapQuest, etc. are to our Headquarters. To get to our Campsite, use this address:
218 Hickory Grove Church Road
Four Oaks, NC 27524
Camp Flintlock, Inc.
1580 King Mill Road
Four Oaks NC, 27524
Email: firstname.lastname@example.com
Telephone: (919) 938-1776
Fax: (919) 209-5279


text:
Frenchman Gets Backing for I.M.F. Post
The European Union broadly backed Dominique Strauss-Kahn, the former French finance minister, as the next head of the International Monetary Fund on Tuesday, even as Britain said the race remained open and questioned Europe's 61-year grip on the top job. Portugal, which holds the union's six-month rotating presidency, said a majority of finance ministers had backed Mr. Strauss-Kahn, 58, a lawyer and economist who was finance minister from 1997 to 1999. He failed to win the Socialist Party's nomination for president last year.


text:
Follow RFF News on your cell phone. Text follow rff to 40404 you will receive txt messages with RFF News
0 Members and 1 Guest are viewing this topic.
What if female/female = Goths by the error we all made at the beginning. At least I made that error.
Wait, the 7 remaining teams will arrive in Lithuania (might be TBC), then they will go to Italy and might be an elimination round, after they will leave in Italy, the 6 remaining teams will go to Croatia.
Unless Lithuania is a TBC
Hmmmm...so if there is a pitstop every time--then there can't be a TBC, right? And if there aren't any TBC's, then we need at least 2 NEL's to make the numbers right. Even if BVM said no NEL's--it has to be one or the other.
Page created in 0.084 seconds with 33 queries.


text:
Comprehensive Year-Round Youth Program
To be eligible for the Youth Program, youth must be aged (14-21), low income and meet other program requirements.
The following Program Elements are available to assist youth in obtaining their education and career goals.
Out-of-School Youth
Youth who are out-of-school (dropouts or graduates) between the ages of (14-21), and low income are encouraged to contact the JobLink. Youth can work up to 40 hours a week or up to 500 hours work experience. After the 500 hours, the employer is encouraged to hire youth. Youth are also provided occupational skills training, tutoring and adult mentoring.
In-school youth can work at least 18 hours per week and 3 hours a day during school week. May work up to 40 hours a week during non-school week.
Youth who do not meet the program enrollment requirements will be referred to other programs or service providers.
Provides employment to Harnett County youth ages 14-21 who are low income. This program is designed to enhance the employability skill of youth through the completion of educational goals and participation in meaningful work experience. Every effort will be made to place youth in a job that is closely related to his/her career interest. Youth will work in the public sector and may work a maximum of 40 hours a week. The program starts immediately after the public school system closes for summer break. Youth who do not qualify for the program will be referred to other agencies or businesses. All youth will receive orientation to the JobLink Center and the many services that are offered.
Youth Internship Enrichment Opportunities (YIEO)
Youth Internship Enrichment Opportunities (YIEO), provides work and academic enrichment experience to youth (14-21) enrolled in secondary education or out-of-school youth. In-school youth can work 18 hours a week, while out of school youth can work 35-40 hours a week for a maximum of 500 hours. Activities and services include; job placement, counseling, tutoring, adult mentoring, referrals, leadership opportunities, work experience, transportation assistance. Youth who are (17-21) will be provided occupational skills training, internships, job shadowing, supportive services and follow-up.


text: > >> > >> I suspect Microsoft has been listening here. I also suspect this > >> machine will do ok in the business world, but somehow I > doubt they're > >> gonna see significant headway in a lot of the scientific > arenas. Of course MS is on the list. Why not? Look back through the archives when CCS was being discussed. And if MS wants to develop products to address some specific market niche, more power to them.


text:
Ever shuffled out of the house at four a.m. with a fishing pole over your shoulder? Nearly every country boy can remember at least one daybreak of rounding up cheese, angleworms, night crawlers, dough balls, or chicken parts and running off for some good catfishin'.
Matter of fact, many of those boys don't quit when they grow up. Take me, for instance. Though I greatly enjoy the sporting aspects of wetting a line, I'm also a staunch "meat" fisherman. That is, I like to pursue a quarry that I can appreciate on the table . . . which is why I'm such an avid fan of catfish. The critters are common and widespread, bite when other fish won't, reach super sizes . . . and, above all, are incredibly tasty. My family of three here in Maryland enjoys this whiskered delight at least once a month, and—since catfish are available to most folks—their nutritional goodness can become an important part of anyone's diet.
Like to try catfishing? Get up bright and early one morning and head for the nearest river, lake, or farm pond. Nighttime will also produce good results. In fact, "cats" can be caught quite readily at all times of the day, at all water temperatures and depths. The best time to plan your expedition, however, is after a heavy rain . . . especially in the spring. When other fairweather fish are sluggish and temperamental, the hungry catfish forage about in the freshly rejuvenated waters.
If you fish regularly, you probably have a favorite spot. If not, just ask some of the local old-timers. Though angling stories are famed for their dishonesty, there's generally some darn good tips in them somewhere!
I prefer an old-fashioned bait-casting rod and reel but almost any type of arrangement—from Grandma's cane pole to a fancy spinning rig—will catch a catfish. Use a small-to-medium-sized hook and a sinker that's heavy enough to keep your bait on the bottom, in cat territory. The weight needed to do this will vary depending on water conditions.
Most conceivable baits will entice these tasty critters, but garden worms are the old standby (Just don't take too many out of the vegetable patch!). Cast a generous bait to the bottom, and wait for the slow, deliberate tugging which signals that a catfish is biting. Above all, be patient!
If the water you've chosen to fish is muddy, sluggish or still, you're very likely to catch a bullhead (a member of the catfish family that grows to no more than 20 inches long and 4 1/2 pounds in weight). All of the three common color phases of the bullhead—black, brown, and yellow—have pink meat that's sweet and fine. Faster, clearer water will generally turn up nice channel and blue cats (especially from that little pool beneath a steady current where natural nutrients abound). The variety really doesn't matter, however, because all catfish are readily distinguishable from other fish (by the "whiskers" or barbs that grow out of their upper jaws, and the skin—instead of scales—on their bodies) and all are among the finest eating anywhere.
Once you've landed your eatin'-size fish (eight inches and up), you're faced with the procedure of dressing him out. No problem. First, grip the critter so that his three protruding fin spines are firmly extended between your fingers. Beware of those spikes . . . they can easily inflict a painful, long-lasting wound! Next—with a sharp knife—cut a shallow ring about the fish's neck, immediately behind the gill openings.
Since all catfish are scaleless they must be completely skinned . . . but the operation is actually pretty easy. Grasp the edge of your incision with a handy pair of pliers and simply peel the skin down banana style. Then remove the head, fins, tail and entrails so that you're left with a large piece of meat that is ready to be washed, cooked and eaten. (Incidentally, the above system works for other scaleless fish and rattlesnakes!)
How will you cook your catfish? There are probably about a million ways, all of 'em good, so I'll just give three popular methods of preparation that my family likes.
[1] Skin any size "cat" and remove its entrails.
[2] Make a brine solution of 1 pound salt to each gallon of water and immerse the meat in the liquid overnight.
[3] Place the catfish in dry salt for 1-3 hours. Then wash it thoroughly.
[4] Dry the fish outdoors for 1-3 hours.
[5] Hang the meat securely in a smoker so that the pieces don't touch and aren't overcrowded.
[6] Stack wood at the entrance of the smoker tunnel and start a small, steady fire. Ideal fuels are seasoned maple, birch, oak, hickory, sweet bay, river mangrove, palmetto roots, buttonwood, orange, cypress, and apple . . . or corncobs or coconut husks(!).
[7] When the fire is smoldering steadily—not blazing—close the smoker door. The desired smudgy combustion can be maintained by dousing the coals regularly with sawdust, etc.
[8] After a few hours of hot-smoking (100-150° F), your fish is ready to be eaten or kept for up to—roughly—four weeks, depending on how long it was cured.
[9] Wrap the meat in paper and store it in wooden boxes in a cool, dry place.
The simplest smoker I know is merely a worn-out or discarded refrigerator with a few minor alterations. First remove the guts of the machine and knock a fist-sized or larger hole in the cabinet's floor. Second, drill 6-10 one-inch holes in each side and in the door, about three-quarters of the way up. Then put one more hole in the top and—when the results of a smoldering fire are introduced through the opening in the cabinet's bottom—you have an effective smokehouse. The racks may be retained for hanging your fish. I've sampled bullhead prepared in this homemade wonder and it was truly delicious.
6 small catfish, cleaned
1 pint milk
2 tablespoons butter
1/4 teaspoon salt
pepper to tasty
Boil your "cats" until their flesh can be separated from the bones. Then dice the meat and put the pieces in a saucepan with the other ingredients. Heat the rich brew and serve.
This is a general recipe. Any combination of vegetables and herbs may prove tasty with the basic mixture.
cleaned catfish
enough egg, beaten, to coat above
mixture of cornmeal and flour
oil or shortening
salt and pepper to taste
Dip the fish in the raw beaten egg, then roll the chunks of meat in the cornmeal-flour mixture. Drop the prepared piece in a pan of hot oil and jump back. Brown them quickly on both sides and serve. Absolutely delicious!


text:
The Pro Hunter is to Rolex as AMG is to Mercedes Benz. Proud to be the first company to personalise a range of...
In less than 20 years the Franck Muller brand, founded in 1992 by the talented young watchmaker, Franck Muller, in...
For over 20 years, under the watchful eye of charismatic founder Fawaz Gruosi, this brand has produced magnificent,...
DAVIDSON has grown to become one of the most desirable interior brands in this country and worldwide. With an...
Over the past four decades KJ West One has built up an enviable reputation as the leading purveyor of high-end audio...
The figures speak for themselves: 1185 baguette diamonds. 4100 hours of cutting. 500 hours of...
"By the name of the famous lutist of the Cremona school, an ensemble of experience and solutions...
The House of Luxury® is an international agency representing a portfolio of luxury brands with a dedicated public relations, events management and marketing department which specialises in the development and distribution within the luxury lifestyle industry, managing and positioning some of the leading brands from around the world.
The House of Luxury also hosts a detailed insider's guide to the world's most important luxury brands, offering an interactive experience on the best that life has to offer.
Our platform connects high net worth individuals directly with prestige brands, giving a compelling 360 degree perspective on their products and services and capable of offering bespoke products across all our partner brands. Stunning videos and imagery combined with private events invitations and exclusive interviews across areas such as Watches, Jewellery, Design, Art and Lifestyle, allowing members unrivalled access to a super-luxe world.
Dedicated to deliver a tailored customer experience, capable of matching the demanding requirements of consumers and brands, The House of Luxury offers a beautifully designed, easy to use, innovative website appealing to the most discerning individuals and luxury brands from around the world.
Terms and Conditions & Privacy
Apollo Magazine
BNP Paribas
Caballus International
Financial Times
Fashion TV
Frost of London
Hedge Magazine
Monaco Force One
Monaco Yacht Show
Nikki Beach
Salon QP
Square Up Media
Square Mile
The Luxury Channel
Top Marques Monaco


text: Adorno once said, "Those who peruse art solely with comprehension make it into something straightforward, which is furthest from what it is. If one seeks to get a closer look at a rainbow, it disappears." Respectively, I am going to have to disagree with his insightful assertion. That is, after experiencing the FriendsWithYou New York city take over this past week. The emotional and visual experience of FriendsWithYou art on display starting this past week proved that artwork can be successfully and simply straightforward, while still perpetuating depth within its comprehension. Furthermore it was proven that sometimes, the rainbow doesn't have to disappear.


text:
EvyReweghs83 đã đưa ý kiến …
I tình yêu this show, can't wait to finally catch up and see season 14 :) đã đăng cách đây 2 tháng
|thêm supernatural số phiếu bầu >>
|thêm supernatural các câu trả lời >>
xin chào y'all! I don't know about bạn but personally, I'm signing adoption forms anytime I see Jack, so bạn can imagine how upset I was when I saw the end of 14x06. Like, giving Jack tuberculosis is NOT what we're gonna do here.
But seriously, why IS Jack sick? If bạn missed the first few episodes of season 14 here's a recap. Jack has been coughing up blood for the past few episodes. In the most gần đây episode 14x06/Optimism (a fantastic episode, btw) he seems mostly fine up until the final scene. He has a pleasant conversation with Dean about tình yêu and how its a crazy thing when he...
(Don't forget to check the links.... They really add to it.) ;)
Am I the only one who has noticed that in Supernatural, God is a classic narcissist, and Castiel demonstrates all the symptoms of being an adult child of a narcissist?
Traits of adult children of narcissists:
- Never feel good enough hoặc valuable enough
Okay, I know Dean is awesome , but can we just take a moment and appreciate Sam? I mean he does so many great things I feel he hardly gets credit for, and people often take him for granted! I've seen a lot of hate toward him, and I don't understand why!
Disclaimer: I tình yêu Dean and I hope this doesn't come across as Dean hate. It's just most hate towards Sam comes from a lot of Dean girls (not all).
One of my biggest things however, is how when Sam does something great, they make it about Dean. While I agree, Dean definitely deserves praise, he has his own...
Let's first set the background here Sam Winchester: tall, kind, caring, cute and very smart (did I miss anything? I think that about covers it). For this blog, I want to focus on Sam's intelligence and how that carries out in his family life. Sam is very smart I mean he keep up his grade regardless of how much he moved around, he was in the mathletics, he went to Stanford, was good with Latin and research since he was a child. bởi any standard, bạn would say Sam is thêm than just smart; Sam is gifted.
Why both Sam and Dean where children
It always bothered me that Dean đã đưa ý kiến not once, but twice that he was not Kid. The first time I hear Dean say it to Jo on season 7 episode 4 (defending your life) it made me sad for his Mất tích youth but it also bothered me I didn't quite understand why. Then when he đã đưa ý kiến it, again this time to Mary in season 12 episode 14 (the raid) I had the exact same feeling as before and I couldn't understand why I had that feeling, until today. I recently đã đăng a phiếu bầu on prank wars and most of bạn agreed that it would be awesome to have them back on the...
Case Study
Subject: Robert Steven "Bobby" Singer
DOB: August 12, 1950
I. Case History: Bobby is a white male widower in his late 60's, has a mild case of sciatica, a long history of abuse, neglect and alcoholism. Morns the unique double death of his wife Karen. Based on family history he is at risk to suffer from alcoholism and it's derivative (i.e. liver problems), depression and spurs of violence. Bobby has zero healthy coping skills and resorts to alcohol to mask his problems. Bobby does not display...
Ode to the plaid
Hunter wears plaid it's not because of its pop culture reference to Paul Bunyan, but it's because of its durability and warmth. For years, flannel became a staple of the working man for the benefits it provided and it is those benefits that the hunters want and need.
So hunter learned to layer on clothing so that they adapt to the weather.
During Ketch's raid of the bunker in the "memory remains", he questioned how many flannel shirts Dean had, which made me wonder why he particularly wears thêm plaid flannel that Sam.
Most villains call Sam, Sammy for psychological reason. They do it to create a feeling of smallness and inadequacy.
Sam although very self-reliant he tends to fall back as most people do when they reunite with family into their family roles. Sam being the youngest in the family has always had to follow directions most of the time begrudgingly ( ). Because of that being called, Sammy bởi villains puts him in two different mindsets:
1) Small: So when villains called him Sammy it remind him of that time of the time when he didn't have...
John Winchester, is pretty much like Dumbledore in this fandom. His curse was that he understood too much. he was too wise, too broken and too strong.
Everyone keep saying that John was a bad father because he introduced his sons into this life. but guess what?! he didn't! he didn't introduced them to this life, they were already a part of this life. They were meant to be.
As that Cupid said, It was a big deal getting Mary and John to fall in tình yêu so that Sam and Dean are born to be Lucifer and Micheal's vessels to fulfill destiny of this world, the apocalypse, God's...
|thêm supernatural các bài viết >>
Romper.com bởi Connie Liou
EW bởi Samantha Highfill and Chancellor Agard
SPN Hunters bởi Alexandria Ingham
|thêm supernatural đường dẫn >>


text:
|PRISON PLANET.com Copyright © 2002-2006 Alex Jones All rights reserved.
Corporate Media Willfully Ignores Charlie Sheen's Challenge
But some balanced reports get squashed by censors
Paul Joseph Watson & Alex Jones/Prison Planet.com | April 13 2006
The London Observer carried an article in this week's edition by movie critic Mark Kermode which again wholesale refused to address any of the evidence that Charlie Sheen had raised to clarify his stance on 9/11.
Charlie Sheen is an actor who has exhaustively researched 9/11. Mark Kermode is a movie critic who, judging from his pathetic hit piece, has swallowed without question what the US government told him happened on 9/11 without one iota of independent investigation.
Kermode alludes to the tired old argument that believing the government was involved in the attack enables people to sleep better at night because it brings a sense of order to a chaotic world.
This echoes syndicated columnist Betsy Hart's ravings, who said that people who think anyone else but Al-Qaeda was involved are just afraid to face the frightening reality of Muslim hordes who want to kill us.
Both hit pieces completely miss the boat on two fronts.
a) Charlie Sheen never claimed to know who was behind the attack, he simply raised unanswered questions brought about as a result of researching the official version of events and discovering that it was an impossibility.
b) Neither piece addresses one single shred of evidence that Charlie Sheen raised in either his first or second interview on The Alex Jones Show, even after Charlie Sheen issued an invitation that the establishment media challenge him on the facts.
Kermode (pictured) resorts to eye-rolling psychological gymnastics in an attempt to avoid talking about a topic of which he obviously has very limited knowledge.
"The real reason people believe in such wild conspiracies is simple - it's more reassuring. In the case of 9/11, there is something perversely comforting about the idea that, behind all the chaos, the American government was always in control, carefully orchestrating the events of that terrible day."
Find out the truth about 9/11! Get your Martial Law 9/11 DVD here or watch it right now online here.
Let's flip this around.
The real reason people believe whatever the government says is simple - it's more reassuring. In the case of 9/11, there is something comforting about the idea that, behind all the chaos, Muslims from other countries that our government can find and destroy were carefully orchestrating the events of that terrible day.
Which is more frightening? The enemy that you can see or an unknown enemy lurking in the darkness?
Which is more frightening? A rag tag group of Muslims from a far away land? Or a huge, hulking, powerful military-industrial complex with the world's most potent army behind it?
He laughs at 'conspiracy theorists' for associating the 1962 film The Manchurian Candidate with fact of any kind, blissfully unaware that Senate Hearings took place and Bill Clinton later apologized for that fact that the CIA did create MK Ultra, a project designed to create a Manchurian Candidate.
He turns to United 93 film maker Paul Greengrass, now the apparent authority on anything Flight 93, who confidently informs Kermode that, "The stuff about the plane being shot down is simply not true."
Perhaps Paul can explain to us how a plane that is supposedly intact before it hits the ground after the "let's roll" scenario causes debris to be spread over an 8 mile radius?
Kermode then mixes in Elvis and faked moon landings to try and frame the entire debate in a context of frivolousness and incredulity.
"I had to abandon my adolescent fantasies. Others should do the same. It is chaos, rather than conspiracy, which really rules the world, " concludes Kermode, a pretty broad statement considering he has just claimed to put his finger on how the planet operates without citing a single slither of proof.
When Charlie Sheen sent his email statement to the London Guardian in response to their shoddy hit-piece on his recent questions about the official 9/11 story, we expected the prestigious newspaper to follow-up by taking his challenge to cover the facts.
We should have known better than to think the mainstream media (MSM) would take up such a challenge. The Guardian's response was to mock his serious comments and take more jabs at Sheen's character and oeuvre.
Although Sheen has helped to bring questions about 9/11 to a larger audience than ever, the mainstream media seems to be willfully pushing the news about a growing 9/11 Truth Movement to the back of the arts & entertainment sections. As ever, recent reports about the 9/11 Truth Movement in the Guardian's sister publication, the London Observer are little more than skewed comedy routines on those wacky conspiracy-types.
So while the MSM continues the strategy of deny and conquer, the blogosphere has championed the story of the Sheen's questions (as well as the growing number of other high profile skeptics), the MSM backlash, and the growing 9/11 Truth Movement.
Sites like Bravocharlie911.com and others have sprung up to spread the word and remind people that despite the MSM's attempt to convince us that we are alone in our "speculations" the numbers of people that are unconvinced by the government's official story of what happened on 9/11 is growing exponentially every day. For a site in existence for only a few weeks to have received thousands of votes on their polls questioning if 9/11 was an inside job is no small thing.
Charlie Sheen and his brave step into the spotlight for 9/11 Truth has opened the floodgates for people everywhere who have questions about 9/11 but up until this point have been too afraid to voice them. He has done what no one has until now, he has begun to make it acceptable to offer dissent about the official line and as more like him begin to publicly ask questions we will overwhelm the whitewash and the people who perpetrated it.
One such individual who viewed Charlie Sheen's courageousness as an inspiration was Winnipeg Free Press columnist Dallas Hansen from whom we received the following e mail.
"As a regular op-ed columnist for the *Winnipeg Free Press* since October, 2004, I have had only two submissions refused by my editor, both of which concerned the Bush administration and information first discovered on your websites."
In one of the columns, entitled Sept. 11 is my generation's Nov. 22, Hansen addressed points that Sheen had actually raised as evidence for his doubts on 9/11, something which every MSM hit piece has thus far failed to do.
Appearing Wednesday on the Alex Jones show, Hansen (pictured) made it clear that his column was just editorializing on the cultural phenomenon of a major Hollywood actor discussing a major modern day event. Yet his editor was vehement in stating that the column would not run under any circumstances, despite the fact that, as we saw in the case of CNN's Showbiz Tonight, interest in the subject is at an all time high and it boost viewership and readership figures.
This mirrors other examples where higher powers have acted to squash any coverage of this issue despite its rampant popularity.
Alex Jones' appearance on Fox News and Ed Asner's appearance on CNN to discuss Charlie Sheen's position on 9/11 were both cancelled at the last minute after pressure from above.
The lapdog establishment press have failed to address Charlie Sheen's challenge across the board. They have continued to idly gossip about Sheen's private life, his immature behavior from 20 years ago, and performed catch-all meandering mental somersaults in order to avoid the one thing they fear.
Having a real debate on 9/11 in which the evidence is laid out in the open.
Due to the overwhelming popularity of our $39.95 yearly special, we are bringing it back for Spring! This is your chance to receive over 5 months of access completely free compared to the standard price. Click here to subscribe!


text:
Nov. 19, 2007
CAMBRIDGE, Mass. - The College Sports Information Directors of America (CoSIDA) announced the 2007 ESPN The Magazine Academic All-America selections on Monday, and for the third consecutive year, an MIT men's soccer player was honored as senior defender Michael Allshouse was named to the Second Team. The Highland Village, Texas native becomes just the fourth player in program history to elicit the prestigious honor.
A three-time New England Women's and Men's Athletic Conference (NEWMAC) Academic All-Conference honoree, Allshouse anchored an Engineers defense which conceded just 19 goals in 16 matches this season for a sparkling 1.13 goals-against-average. The tri-captain served as an integral part of Tech's five shutouts, which tied for the most in the NEWMAC and was the second highest single-season total in program history.
Allshouse's fellow tri-captain Andrew Bishara was also honored, as the junior forward earned Second Team All-District accolades. The native of Toledo, Ohio led the Engineers in assists with four, while also placing second in goals (5) and points (14).
Allshouse joins the elite company of Ryan Sheffler, Nick Nestle and Rory Foster as the Cardinal and Gray's only CoSIDA Academic All-America honorees. Sheffler remains the only MIT men's soccer player to garner First Team honors, as he did so in 2005 and 2006. Nestle copped Third Team accolades in 2002 and Second Team honors in 2003, while Foster was a Second Team selection in 2003.


text:
Accuweather.com reported the following weather update…
State College, Pa. — 7 January 2013 — AccuWeather reports temperatures will surge over much of the eastern two-thirds of the nation this week into the weekend of Jan. 12-13, 2013, before the advance of arctic air.
Steering winds, known as the jet stream, will retreat northward from the Rockies and Plains to the Midwest, South and mid-Atlantic.
Average temperatures are usually at their lowest point during this part of January. However, temperatures will trend to 10 to 20 degrees above normal during the warmup event. Places without snowcover will warm up the quickest.
The sun's energy will focus on melting the snow rather than warming the ground, where there is significant snowcover.
As the warmup progresses in much of the Central and Eastern states during this week, colder air will slowly dip southward along the West Coast. Cold air will try to hang on in New England and upstate New York during much of the week before a warmup takes hold toward this coming weekend.
Snowcover was at a 10-year record extent during the first few days of January, but will whither away from southwest to northeast. The fastest snow loss will occur in areas exposed to the sun and along paved areas.
Most ski resorts will retain a large amount of their base of snow. Most of trails are located on the north or shaded side of the mountain. In addition, man-made snow is more dense than natural snow, so that it melts at a slower rate when compared to natural snow.
The warmup may be deceiving in some locations and to some people. Long nights and episodes of clear skies and light winds will allow temperatures to drop substantially after dark.
In areas made wet by melting during the day, clear ice can form any time from the late afternoon into the early morning. Be especially careful when driving through wet areas as a result.
In most cases, the snowmelt will be gradual. However, a springlike storm with rain, severe thunderstorms and high relative humidity will drive northeastward through lower Mississippi Valley, into the Ohio Valley and then the central and eastern Great Lakes later in the week. As this happens, areas that have thick snowcover (lake-effect snow areas), could experience flooding problems.
The storm will deliver another dose of needed moisture from Texas and the southern Plains to the middle part of the Mississippi Valley.
During this weekend into week three of January, multiple waves of cold air will punch through the Rockies, Plains and Midwest. The waves will bring progressively colder and colder conditions.
According to Long Range Weather Expert Paul Pastelok, "When you compare temperatures during the height of the warmup with the core of the arctic air that follows, some locations may have a difference of 40 degrees more."
This is why AccuWeather.com is referring to the weather later in January as "brutal cold."
In the East, and especially the Southeast, the progression of cold will be delayed by multiple storm systems riding northeastward from the Gulf of Mexico and an area of high pressure trying to hang on until the very last.
The arctic cold is still forecast by AccuWeather.com's Long Range experts to break through to the Atlantic coast near or following the third weekend of January, provided one of the storms becomes strong enough to break down the high pressure area and draw the cold air in its wake.
Alex Sosnowski, Expert Senior Meteorologist for AccuWeather.com


text:
Watch Canvas 2: Niji Iro No Sketch episode 4 Online
Other episode(s)
Other animes you may like
In the year 2062, the world's two superpowers are fighting a long and brutal war. In a desperate attempt to win, pilot Kei Katsuragi is given the mission to detonate a super weapon called the Space/Time Oscillation Bomb. The bomb explodes but the results are completely unexpected: a multitude of dimensions, times, and realities are unleashed into the world. Can Kei reverse the effects and bring life back to normal?
Years of political tension and mistrust between the two rival nations of Zafran and Revillia escalate to the point of war. Each nations solution: to gain possession of Decimators, the same ancient robots of war that nearly ended all life on the planet 200 years before. As the war ensues and the leaders of both nations become reluctant to surrender, only the desperate plan of Lean, a young cadet, and Nataruma, a psychically gifted young woman, to alter the timeline of events 200 years before stands the chance between humanity's survival or absolute destruction.
By the year 2120, humans have successfully colonized other planets following the near devestation of Earth from the last great world war. However, on Gloire, one such colony are surprised and unprepared at the arrival of The Zor, a group of beings whom were the original inhabitants of the planet and left following similar near fatal events. Coming to reclaim their former home world, a relentless war erupts between both races that ultimately leads to a cataclysmic showdown and into a no-win scenario for either.
AD 199X, Tokyo. Four giant meteorites appearing out of nowhere crash on the city, destroying much of it. Thirty years later, Tokyo has been completely rebuilt under the name of Megalocity, enojoying a high level of prosperity and technology. However, the city is often under attack from extradimensional creatures called Youmas, that seem somehow linked to the accident happened thirty years before. While the city police seems mostly helpless against those creatures, a group of cyborgs known as Borgman, Ryo Hibiki, Chuck Swegger and Anice Farm, fight off the Youmas using powered suits called baltectors. With the help of the scientist Memory Gene, the Borgman try to stop the Youmas and their enigmatic leader, Gilbert Mesh, from taking over Megalocity.


text:
Last night I was part of a webinar designed to explore the purposes of education, sponsored by Nipissing University and Carlo Ricci. At the heart of the webinar were the questions: what do you think the purpose of education is, and are your ideas expressed in the work you are doing, or the learning setting you find yourself in?
The results of the webinar were fascinating. Carlo and I had designed some polls to figure out who our audience was, and why they were there. Then I outlined some current "purposes" most often described in contemporary talk, and how I feel this conversation has been hijacked by a discourse that defines educational purpose almost exclusively as economic and social attainment. Since the early 1980s, I argued, a strong "functionalist" discourse has become preeminent, in which the "real" reason to get educated, and to get kids to do well in school, is to help them become competitors in a fierce, zero sum, sharp-elbowed, global economic environment. School is about building a portfolio of accomplishments that will help you get a great job, learn how to be a valuable corporate citizens, and stabilize our nation state to fight against encroachment from others on an economic battlefield. Education is attainment, and by extension, attainment IS equity. That's the only REAL reason to do school, implicitly implied in most of the improvement and policy talk. To me, this marginalization of all other educational purposes–the real dissing of other educational purposes–has stripped the discussion of educational meaning to a very flat, very superficial dialog, where larger ideas about the spiritual, emotional and transformative aspects of education get left out.
We polled our participants to ask them which educational purpose they thought was most important, after working through all that. (See the chart below.) While we cautioned them that it was really difficult to choose just one, and that ALL of them are important, we asked them to commit. If you are enrolling your own child in a school, or are a teacher looking for like-minded colleagues to help you grow, or a learner who gets to choose your own educational environment, which "purpose" is most important to you?
79% chose #3.
6% chose #1;
8% chose #2
7% chose #4.
Where do you fit? And what do you make of the fact that so much of the policy and improvement talk is about #1, but so few folks supported it as their chosen educational purpose?
You can see the whole webinar slides here, although they've uploaded in a funky way.


text:
Lexus Public Relations
Ming-Jou Chen – 310.468.4782 or firstname.lastname@example.com
Nancy Hubbell – 310.468.7633 or email@example.com
Bill Kwong – 310.468.3764 or email@example.com
Allison Takahashi – 310.468.5315 or firstname.lastname@example.com
Copyright Notice
All materials on this site are for editorial use only. The use of these materials for advertising, marketing or any other commercial purpose is prohibited. They may be cropped but not otherwise modified. To download these materials, you must agree to abide by these terms.


text:
Set up your mobile phone for MMS
An MMS is a message which can contain pictures and other media files and can be sent to other mobile phones and e-mail addresses. You'll be able to send and receive MMS as soon as you've inserted your SIM into your mobile phone. If this isn't the case, we can send an MMS configuration to your mobile phone or you can set up your mobile phone manually.


text:
Date: 1790
Origin: South New Berlin, Chenango County, NY
Builder: Unknown
Original owner: Brooks, William, ?-1904
Info: The Brooks Smokehouse is located behind the Lippitt farm house. It is a simple brick structure with a flat stone roof and is approximately 6' high. Its flat roof structure is unusual as most smokehouses of the time had gable roofs or very rarely a rounded roof. Another odd thing about this smokehouse is it small size, as it seems rather impractical for anything but the smallest of meats.
Provenance: The Farmers' Museum acquired the smokehouse from Charlotte Spicer Layton.
*Charlotte Spicer Layton acquired the property from Mort Brooks on April 28, 1943.
*Mort Brooks became sole owner on August 7, 1942.
*Esther Spicer and Mort Brooks inherited the property from Fred Brooks on April 4, 1941.
(Fred Brooks took control of property when William Brooks died April 13, 1904.)
*William Brooks purchased the property from Smith and Adaline Mayhew on August 13, 1868.
*Smith and Adaline Mayhew purchased property from William and Phoebe Mayhew on June 15, 1849.
*William Mayhew purchased property from John Taylor September 24, 1822.


text:
Taylor Swift Is Richest Artist of the Past Year
Taylor Swift is music's biggest money maker!
In Billboard's annual ranking of the highest-paid musicians of the past year, America's country sweetheart tops the list with earnings, outranking everyone from Justin Timberlake to Luke Bryan and Fleetwood Mac.
The country icon may be just 24, but she has a comfortable lead on her richest musician counterparts. With earnings topping $39 million, Swift made over $6 million more than the No. 2 earner, Kenny Chesney, in 2013.
Speaking of Chesney and other country stars, the genre made the 40-person list more than any other! Swift, Bryan and Chesney are joined by Jason Aldean, George Strait, Blake Shelton, Zac Brown Band, Rascal Flatts, Miranda Lambert, Tim McGraw and Carrie Underwood.
Swift's money-making prowess is thanks to the fact that she pretty much owned every level of the industry last year, capturing revenue in every way possible.
Her album sales always soar, and on the digital front, she does even better. Billboard reports that Swoft has nearly 10 million downloads and ranks fifth in earnings from online streaming royalties. That's not to mention all the money the 'Love Story' starlet pulls in with touring, which is where she really shines. Thanks to the fervor and dedication of 'Swifties' all over the world, her Red Tour brought in around $30 million -- way more than anyone else on the list. And while the singer certainly earned a pretty penny through her take of ticket sales alone, she also raked in cash from three integrated sponsorships with Keds, Elizabeth Arden and Diet Coke, as well as from merch sales, which figured in at about $17 per concert-goer -- almost $10 million in all.
To top it all off, Swift makes more than double her ex Harry Styles and his One Direction bandmates, who come in at No. 13 on the highest earners list. How's that for payback?


text:
Raw Vegan Caramel Sundae
This recipe is based around the magic trick of putting frozen bananas in the blender to make soft-serve ice cream. Recently I've discovered some raw dark agave nectar that tastes like caramel, along with hulled hemp seeds and found combining these with the ice cream makes a delicious caramel sundae. If you don't have hemp seeds, any other crushed-up nut would be fine to replace it with. The caramel sauce recipe in this post would be a good replacement for the agave.
To freeze bananas, peel them and place them in the freezer in a container or bag. If you're in a hurry you can slice them up really small, but I usually just break them in half and leave them in there for at least a few hours. Once they're frozen they'll last in there for months, so if you find some cheap bananas this is a quick way to store them for use later in this ice cream, as well as for smoothies and cakes.
Makes 1 big serve, or 2 small
Gluten-free, soy-free, raw
2 bananas, frozen
1/3 cup vegan milk (use a raw nut milk if you want it to be 100% raw)
2-3 teaspoons dark raw agave or date caramel sauce, for drizzling
hulled hemp seeds, or crushed-up nuts, for sprinkling
In a blender place the bananas and vegan milk. Leave to sit for a minute (not very long though) and then blend until it resembles soft-serve ice cream. You may need to stir it a couple of times during the blending to help it blend evenly.
Place on your serving dish, drizzle with dark raw agave and sprinkle with hulled hemp seeds. Eat right away.
Posted on January 1, 2012, in recipes and tagged agave, bananas, caramel, gluten-free, hemp seeds, ice cream, paleo, raw, soy-free, vegan, vegetarian. Bookmark the permalink. Leave a comment.


text:
Inspiration. Is it an ephemeral, elusive bit of magic? Something people lie in wait for, sometimes living life only from one flash of brilliance to the next…the time in between inconsequential and forgotten. Or is it something that is ever present? Slyly camouflaged all around us…just waiting for us to notice?
I'd like to think it is that latter. That inspiration truly exists among us and can be found in the everyday. That it is precisely in the everyday where brilliance thrives. That it is inspiration that lies in wait for us, and not the other way around.
It doesn't take much to inspire me or make me smile in wonder. The scent of a mangoes ripening on my dining room table. The way bread dough comes together. Butter melting. The slight tickle of really long earrings brushing against my bare shoulder. What happens to vegetables when you roast them. Nice stationary. My baby's giggle. My friends.
And all of you. Those of you that always leave your comments here even when I've been terribly delinquent. Those of you that are silent but keep dropping in. You who leave helpful hints and answer my sometimes amateurish questions. You who cheer me on. You who I have met. You who I have yet to meet.
Another place where I find endless inspiration is other blogs. Food bloggers' passion, and the delicious results of that passion, never fails to inspire me. This beautiful pudding is one such example.
Quinoa Pudding with Mango and Pineapple
(adapted from Cannelle at Vanille)
- 3 – 3 1/2 cups whole milk
- 1/4 cup dark muscovado sugar
- 1 cup quinoa
- 1/2 cup pineapple chunks
- 1/2 cup mango chunks
– Rinse quinoa in a strainer for a few seconds.
– Combine 3 cups of the milk and the sugar in a saucepan and bring to a simmer.
– Add the quinoa and stir. Reduce heat to medium low and cook for about 30 minutes, stirring every few minutes, especially in the latter part of cooking so your quinoa doesn't stick.
– If mixture starts looking too dry, or you would like a more liquid pudding, add the extra 1/2 cup of milk. I didn't have too although I must admit I do like a fairly squidgy pudding.
– Ladle pudding into bowls, cups, or glasses (as I did here) and top with mango and pineapples.
Anyone who has visited Aran's gorgeous blog knows that it is bursting at the seams with charm and beauty. A virtual stroll through her pages always leaves me inspired. When I saw this pudding I knew I had to recreate it – not only did it look enticing, it was a quinoa version of arroz con leche (which my mum makes and I love!). I decided to make mine with our local dark muscovado sugar, whose deep molasses-y flavor got on perfectly with the quinoa's earthiness. Instead of strawberries, I topped mine with pineapples and mangoes…our intensely sweet summer fruits. The juicy mangoes were a gift from another food blogging friend. Yet one more thing that inspires me – the generosity of food bloggers who are so willing to share even if they haven't really "met" the person at the other end (thank you Divina!)!
This blog has always been a very personal space for me – a place where I journal my life in the kitchen (and sometimes outside of it too!). But over the course of almost five years you (yes you!) have, happily, become a part of it. No, it isn't my birthday, nor my blog's birthday, nor any occasion of distinction. Just another lovely everyday in which I'd like to say thank YOU for the inspiration! 🙂


text:
2 Robots Meeting Up
This is the second lab that follows after Lesson 8 of the Lesson Curriculum. The initial positions of both robots are known, and one robot has to compute the actions required in order for both robots to meet-up, such that both robots travel the minimum possible distance.
To do so, each robot has to turn a certain amount to face each other, and then both robots move forward to each cover half the distance between them. These actions, once computed by one robot, is communicated to the other robot, so that both robots perform the actions simultaneously.
This lab's purpose is both to reinforce Lessons 1-8, and also to reinforce geometry concepts. The arc-tangent function (atan) is used to compute the angles that the robots have to turn to face each other. The Pythagoras' theorem is then used to compute the distance between both robots. Finally, multi-robot communication concepts have to be applied so that the robots perform the actions simultaneously.


text:
This numbered edition Throw Pillow, designed by Alemi, comes with a numbered and signed certificate of authenticity. Made from 100% spun polyester, filled with a soft faux down insert, and closed with a concealed zipper. No matter which way you turn it, this double-sided pillow is the perfect accent to any living space.
Black and white cactus succulent watercolor illustration. Gray tropical and boho nature design. Great for yourself or as a gift! See my store for more items with this image.


text:
By Ollie Irish
Some links what I did see and enjoy:
Man Utd's next home shirt? [EPL Talk]
… And United's next away kit? [EPL Talk]
Jozy Altidore brings the stupid [Bill Archer]
The sweeper position set for a comeback? [Zonal Marking]
An astonishing miss in MLS [Inside World Soccer]
Gerrard's WAG Alex Curran out shopping for bargain booze. She's classy like that [Mail]
If Man City don't finish fourth, could Carlos Tevez join compatriot Javier Mascherano at Liverpool? (I doubt it) [The Spoiler]
The oldest footy vids on YouTube [World Cup Blog]
Chelsea's mascot ran the London Marathon! [Dirty Tackle]
Pics of Figo's WAG, Helen Svedin [Big Smudge via Busted Coverage]
Inter back on top in Serie A after Roma lose [Guardian]
Kofi Annan on what the World Cup means for Africa [Guardian]
Pato's marriage already over, after less than a year [Kickette]


text:
OK, here's mine - can you guess the theme?
At least it isn't the POTF2 Royal Guards (stumpies) Saga HAS to be better than that, unless it is a repack...I don't know.
OH geez Saga IS worse than POTF2! how is that even able to happen?!
So, it appears that from the little signs next to the 5-packs at SDCC that most of these rehash sets will now be TRU exclusives...Good news in that these re-pack monsters won't clog the shelves at Target (where I do most of my shopping ).Jeff
Jedi Temple Assault pic from RebelScum
Page created in 0.043 seconds with 18 queries.


text:
California has come a long way, quickly, on the subject of gay rights. However, the decision to have two gay men marry on a float during the New Year's Day Rose Parade will really test just how much the state's residents have accepted the overturn of Proposition 8, which banned same-sex marriage in California.
I support same-sex marriage, opposed Prop. 8, and even wrote a widely published opinion piece supporting the right of the court to overturn that narrow ballot victory in 2008. While in grad school at Berkeley I shared an apartment with a gay law student, who was also my best friend, and he was best man at my wedding. He died of AIDS in the mid-1990s.
Before the courts began to rule that gays were entitled to domestic partnerships and other benefits that accompany straight marriages, I argued that we ought to extend those benefits to gays. To read the equal protection clause of the constitution in a way that only applied to other groups, not gays, was a perversion of the meaning of that clause. If heterosexual partners receive tax, pension and other perks because they are married, to deny those benefits to same-sex couples would be inconsistent with the intent of equal protection.
Even with the Supreme Court ruling of last June, letting stand lower court decisions invalidating Prop. 8, the deep-seated prejudice widely extant in California, and America, against gay rights in general remains. Polls show a growing acceptance of gays in society, and that is reflected in television dramas and sitcoms that increasingly portray gays in a positive way. But those legal gains did not remove the inherent prejudice against gays that is held by a large portion of Americans.
The prejudice, if not discrimination, against gays can be compared to white attitudes toward blacks. The Warren Court in 1954 ruled against school segregation based on race but that did not change the feelings of whites even though they bit their lips and reluctantly followed the court's mandate. White flight from public school attendance and from residential areas which were becoming mixed race instead of lily white was an obvious indicator that prejudice remained although legal discrimination was gone.
When Aubrey Loots and Danny Leclair take their marriage vows on Colorado Boulevard on New Year's Day, what will be the reaction of the half-million viewers along the way?
That question can be answered by a look back at the Prop. 8 election campaign four years ago. Rarely has a ballot initiative brought out such passion, on both sides. In my neighborhood, homeowners who rarely post signs for candidates put up signs about Prop. 8, for and against. The final tally statewide showed the public was almost equally divided, with a slim lead for the anti-gay marriage side.
In the heat of the campaign San Francisco mayor Gavin Newsom uttered a statement in support of gay marriage that still resounds: "It's going to happen, whether you like it or not." While San Francisco's gay community roared their approval of his stand, those supporting Prop. 8 turned it into a very effective pro-8 campaign commercial.
Newsom trashed the anti-gay portion of the public with that speech and it may well have been the factor that caused the passage of Prop. 8. It certainly didn't win over anyone who was indecisive on the ballot measure.
Placing two grooms-to-be on a wedding cake in the midst of the Rose Parade is akin to another "whether you like it or not." It may make some gays feel good, but at what cost? It's another "in your face" act that ought not to take place. It will only harden attitudes in opposition to gays.
While they have won many legal rights, they need to win the hearts and minds of straights, too. A wedding on Colorado Boulevard won't do that.
Ralph E. Shaffer is a professor emeritus of history at Cal Poly Pomona.


text:
Accessibility tools
Service tools
Language selector
Navigation path
Left navigation
Additional tools
Other available languages: none
European Commission
Brussels, 31 January 2013
European Retail Action Plan and Green Paper on unfair trading practices in the business-to-business food and non-food supply chain – frequently asked questions
What are the existing challenges in the retail sector?
Retailers are faced with various challenges that differ according to the size of the business concerned and its specific sector of activity. Global phenomena, such as the financial crisis and its impact on consumers' purchasing power, rising commodity prices, demographic trends, in particular the aging of the EU population and the drive for sustainability, all represent significant challenges for existing retail business models and processes. The development of e-commerce is also putting pressure on the retail sector to reinvent its business models. Moreover, there are various regulatory barriers that hinder the proper functioning of the Single Market in Retail, and obstruct processes such as cross-border sourcing, consumer access to cross-border retail services, and even market entry by retailers themselves.
Why is the Commission proposing a European Retail Action Plan?
Numerous barriers to the Single Market in Retail were identified in the Commission's Retail Market Monitoring Report1, the European Parliament's Report "Towards a more efficient and fair retail sector"2 and the Country Specific recommendations issued by the Council in 2012. Two major challenges exist in the EU retail sector: (i) restrictions on establishment; and more generally, (ii) lack of competitiveness in the retail sector, in particular in some Member States, and a need to reduce barriers and operational restrictions.
Last spring, the Commission held a series of three workshops to bring together interested parties to discuss the future of retail services in Europe, the need for a European Retail Action Plan and the actions that should be part of it.
This Action Plan aims to address the key obstacles identified by setting out a strategy to improve the competitiveness of the retail sector and enhance its economic, environmental and social performance. The obstacles often concern various different policy areas and cannot be addressed in isolation. The Action Plan forms a coherent European strategy by putting forward eleven concrete actions that have a direct impact on retail and address the issues identified.
What are the main elements of the Action Plan?
The actions suggested by the European Retail Action Plan relate to five key priorities:
Empowering consumers: the actions are aimed at:
1. Developing, through dialogue with stakeholders, good-practice guidelines and/or codes of conduct to facilitate consumer access to transparent and reliable information, making it easier to compare prices, quality and sustainability of goods and services. In particular, the inclusion of cross-border offers by comparison websites is important for consumers to be able to take full advantage of the Single Market
2. Proposing European methodologies for measuring and communicating the overall environmental footprint of products and organisations.
Improving accessibility to retail services: the actions foreseen include the promotion of an exchange of good practices between Member States on commercial and spatial planning rules, in parallel with a performance check of existing national rules in this area. Proper and consistent enforcement of EU law will be guaranteed by applying a zero-tolerance policy for restrictions which clearly infringe EU rules.
Fairer and more sustainable trading relationships along the food and non-food supply chain: a Green Paper addressing the issue of unfair Business-to-business trading practices in the food and non-food supply chain is being adopted simultaneously with the Action Plan (see below for more information). In addition, two actions are foreseen that are aimed at reducing food waste and making the supply chains more sustainable through minimising energy consumption of retail outlets.
Ensuring a better link between retail and innovation: Here three actions are foreseen:
1. Launching a retail innovation initiative in 2013 whereby the Commission, with the help of high-level experts, will explore how to ensure that the retail sector can contribute to, and benefit from, innovative products, services and technologies;
2. Examining the feasibility of setting up a dedicated database containing all EU and domestic food labelling rules and providing a simple way of identifying labelling requirements per product;
3. Taking measures to ensure better market integration for card, Internet and mobile payments.
Creating a better work environment, for example by better matching the needs of employers and staff skills, particularly by identifying and anticipating skills needs through an EU Sectoral Skills Council and by improving retailers' training and reskilling policies.
Which stakeholders will benefit from the Action Plan?
Consumers will have improved access to high-quality retail services and products and more competitive prices. They will also be able to make better choices through improved access to information.
Businesses, both retailers and their suppliers, especially SMEs, would benefit more fully from the Single Market through the development of a clearer legal environment, enabling them to deliver greater value throughout the supply chain. Similarly, by addressing unfairness in the supply chain, upstream and downstream players would benefit from more sustainable relationships and would be encouraged to increase both innovation and investment. Further development of e-commerce will be beneficial to retailers by providing them with broader opportunities and new markets.
Employees will have access to better job opportunities and improved working conditions in the retail sector, leading to better job satisfaction. Improving employee training should in particular bring benefit to young and less-qualified workers.
How will the proposed actions be implemented?
Different Directorates-General of the Commission are responsible for the different actions and they will work on them together with their experts. The results of their work will be discussed in the framework of the Group on Retail Competitiveness that would provide for a global overview of all the actions.
How will the implementation of the Action Plan be monitored?
The Commission will monitor developments and report on the progress in implementing this Action Plan by issuing a report in 2015. This monitoring will be done on the basis of the on-going discussions within the EU institutions, with Member States, and with representatives of the retail sector and other relevant stakeholders through the Group on Retail Competitiveness.
Green paper on unfair trading practices
What exactly are business-to-business unfair trading practices?
Unfair trading practices (UTPs) are practices that grossly deviate from good commercial conduct and are contrary to good faith and fair dealing. Freedom of contract is a cornerstone of any business-to-business (B2B) relationship in the market economy. However, in some cases where one of the contracting parties has a stronger bargaining position, it may unilaterally impose terms on the weaker counterpart. In such situations, the weaker party may not be in a position to reject such unilaterally imposed unfavourable conditions due to a fear of not concluding the contract or even being driven out of business.
Such practices include failure to provide sufficient information about contract terms, demanding payments for goods or services that are of no value to the contractor such as demanding from suppliers certain excessive investments in new outlets, unilateral or retroactive changes of contract terms, as well as payments for fictitious services, preventing contractors from sourcing from other Member States — leading to territorial partitioning of the Single Market.
UTPs can occur at any stage of the B2B relationship and retailers as well as suppliers can be the victims of such practices.
What are the potential effects of the business-to-business unfair trading practices covered by the Green Paper?
UTPs may have detrimental effects on the EU economy and for the B2B food and non-food supply chain in particular. Such practices may affect companies' capacity to invest and innovate. The existence of fragmented national rules may constitute an additional obstacle to engaging in cross-border sourcing and distribution in the Single Market.
Has the Commission previously addressed the problem of business-to-business unfair trading practices?
At EU level, UTPs were first discussed in the EU food sector in 2009 when consumer prices rose against the background of the agricultural price spikes. This triggered the need to analyse the way in which the food supply chain works. It was concluded that consumers were not offered sufficiently fair deals in terms of product range and prices and that intermediaries / food processing industrials / retailers squeezed the margins of agricultural producers.
In 2010, the Commission published the Retail Market Monitoring Report, which identified the lack of rules addressing B2B UTPs or the insufficient enforcement of such rules as one of the major problems of the retail sector. In the Single Market Act I, the Commission expressed its intention to launch an initiative to combat UTPs in business relations.
What is the link between the Green Paper and the High Level Forum for a Better Functioning Food Supply Chain?
In the specific case of food, an Expert Platform on B2B Contractual Practices within the High Level Forum for a Better Functioning Food Supply Chain was set up in 2010 to work on providing a solution to the issue of UTPs. In 2011, the Expert Platform delivered a set of principles and examples of fair and unfair practices in vertical relations in the food supply chain signed by eleven organisations representing different interests across the European food supply chain. In 2012, the Platform worked on an enforcement mechanism. Despite the common effort, the proposed framework did not gain the support of representatives of the entire supply chain at the time of the third meeting of the High Level Forum on 5 December 2012 (see IP/12/1314). Eight of the eleven organisations announced their intention to launch the implementation of the principles of fair practice on a voluntary basis in early 2013.
During the meeting of the High Level Forum, the "twin-track approach" to address the problem was also announced. In parallel to the self-regulatory implementation of the principles of fair practice, the Commission is publishing this Green Paper, in order to launch a consultation with stakeholders on its analysis of the B2B UTP phenomenon, to gather information and, where appropriate, to identify possible next steps to address this issue. In addition, the Commission will launch an Impact Assessment analysing several possible options to tackle B2B UTPs that range from self-regulation to legislation.
Why does the Green Paper focus on the business-to-business food and non-food supply chain in Europe?
The Green Paper addresses the issue of B2B UTPs in the food and non-food supply chain, i.e., the chain of transactions between businesses or between businesses and public authorities that leads to the delivery of goods destined mainly for the general public for personal or household consumption or use. The supply chain is composed of a number of actors (producers/processors/distributors) who all have an impact on the final price paid by the consumer.
UTPs may occur not only in the food sector but in non-food sectors as well. The food and non-food retail sectors have evolved towards a 'mixed' format, whereby the vast majority of retailers supply ranges of food, household goods and other products under the same management and under the same terms and conditions. The fact that some of the largest manufacturers produce food as well as other types of goods such as detergents, cosmetics, hygiene products, etc. combined with the importance of some brands may also affect the supplier/retailer relationship.
The Commission's Retail Market Monitoring Report mentioned the presence of UTPs in various retail sectors. The European Parliament has also acknowledged the need to go beyond the agro-food industry and urged the Commission to take action in this regard in its 2011 Resolution on a more efficient and fairer retail market.
What are the current rules applicable to business-to-business unfair trading practices?
Over the years, unfair practices in relationships between suppliers and buyers have increasingly been seen by public authorities as an important political issue. As a result, many Member States have taken actions to address the issue of UTPs but have done so in different ways. This has led to a high degree of divergence in terms of the level, nature and legal form of protection provided against UTPs at national level. Some national frameworks are statutory while others are self-regulatory, some are sector-specific while other apply across the board, some address certain UTPs while other don't.
The consultation launched by the Green Paper will help the Commission in the assessment of the national rules applicable to UTPs.
What will be the follow-up of the Green Paper on unfair trading practices in the business-to-business food and non-food supply chain in Europe?
All interested parties are invited to submit their views in response to the questions raised in the Green Paper by 30 April 2013. As a follow-up to this Green Paper and on the basis of the responses received, the Commission will announce the next steps by mid-2013.
Retail market monitoring report, 'Towards more efficient and fairer retail services in the internal market for 2020' (COM (2010) 355 final, of 5 July 2010)
European Parliament resolution of 5 July 2011 on a more efficient and fairer retail market (2010/2109(INI)
Side Bar


text:
It's a question that has faced homebuyers for decades: which is better, a new or existing home?
Continue Reading Below
And what's right for you comes down to preference.
Rewind just a few years and builders were developing new homes at record speeds, giving more homebuyers an opportunity to move into a brand new home. New home construction came to a screeching halt during the Great Recession and builders in some markets are still only erecting a handful of spec houses to show potential buyers. This trend is forcing house hunters to be a little more of a visionary when looking at soon-to-be-constructed homes.
When it comes to buying an existing home, it's easier for buyers to get a sense of the home and surrounding area.
"You get to see how mature the neighborhood is," says Danielle Coats, a Redfin real estate agent in Atlanta.
With newly-constructed communities the trees will just be planted, the landscape immature and the neighborhood just starting to fill out. There's also construction to contend with, especially if you are buying in phase one of a multi-phase project.
With many new homes, buyers get to choose the floors, counter tops and finishes, but Jessica Riffle Edwards, a real estate agent at Coldwell Banker Sea Coast Advantage, says choice will be limited based on home price. The builders usually offer standard packages, she says, so if you want something custom, you'll have to buy a lot and build it yourself, which can be expensive.
New homes may not appeal to buyers that like to be unique or want a house with character and history. Homes in new communities tend to look similar in design, size and shape. With an existing home you can find one that is unique, especially if it's in an older neighborhood, but it also means costs to redecorate or deal with any existing problems.
There are advantages to buying a new home versus an existing one. With a new home, the chances of dealing with leaky faucets, broken boilers and cracked foundations are reduced. And you'll also likely get a warranty for a year or two to cover any problems that may crop up. Builders may even be able to throw in perks like an appliance package or be willing to cover closing costs if you forgo on some upgrades, says Coats. Not to mention that new homes are current with all the codes and often have green features that can save you money down the road. "Having the current building code standards is something positive," says Riffle Edwards. "If you buy a house that is 20 years old it's not built to the codes of today."
While greening a house can save you a lot of money on energy bills, upgrading an existing home is pricey. "A lot of builders are now building energy-efficient homes," says Riffle Edwards. "It can save you a ton of money year over year." Not to mention it will be an attractive selling point down the road.


text: Hi I am trying to setup a small cluster incrementally, to run mpi programs only. I have 4 PCs with linux fedora core, 2 with core 5, and one with core 6, and I will install the new one with core 6. I installed mpich2 on fedora core 6, and I can run mpd and the mpi programs on this machine fine, and I can ping and ssh from and to all machines, then I added an smb share to the install bin path, and can access it from the other machine, and updated the mpd.hosts file (in the user folder on the mpich2 installation machine) with the names of both machines for now, (I copied .mpf.conf to the user folder on both machines, and same about the mpd.hosts - not sure if this is right or not) on the second machine, I can read and write the mpich2 bin folder, and I can run mpd command only and when I try to mpdtrace, it says no mpd is running, when I try to run mpd on the installation machine, and can mpdtrace it and get the port number, and run on the other machine, mpd -h hostname -p port & I receive: ********************** [1] 7007 [mhelal at manal mhelal]# manal.localhits_45668: conn error in connect_rhs: Connection refused manal.localhits_45668 (connect_rhs 726): failed to connect to rhs at 127.0.0.1 56317 manal.localhits_45668 (enter_ring 633): rhs connect failed manal.localhits_45668 (run 245): failed to enter ring ********************** and on the installation machine I keep getting: lot rhs; re-entering ring ..... back in ring ********************** another scenario, I tried on the installation machine: ********************** [mhelal at manallpt ~]$ mpdboot -n 2 mhelal at manal's password: mpdboot_manallpt.localhits (handle_mpd_output 388): from mpd on manal, invalid port info: /home/mhelal: Permission denied. /home/mhelal/mpich2-install/bin/mpd.py: Command not found. ********************** how can I debug this problem, any help is highly appreciated, I only have the mpich2 README and it says refer to the installation guide for more information, and I can not find that. It would be really helpful if anyone points me to a tutorial (detailed step by step) on how to create a small simple network to run mpi jobs, and the things I need to take care of, Thank you in advance, Kind Regards, Manal


text:
LONDON (Reuters) - U.N. climate negotiations have made greater progress towards agreeing a 2015 deal to bind all nations to cut greenhouse gas emissions than the lead-up to the previous attempt in 2009, former U.N. climate chief Yvo de Boer told Reuters.
Envoys from almost 200 nations are aiming to agree this year on the main elements of a text to be signed by their leaders in Paris in late 2015 to tackle the emissions from 2020 that U.N.-backed scientists say are causing more severe droughts, flooding and a rise in sea levels.
"The process is definitely further advanced a year before Paris than it was a year before Copenhagen (in 2009)," de Boer said in an interview in London on Tuesday.
The Dutch diplomat was the public face of the negotiations from 2006 but stepped down shortly after the Copenhagen talks almost broke down despite the attendance of more than 130 world leaders late into the final night.
Late on Monday, the U.N. published several documents on its website meant to help guide negotiators towards agreed wording for the Paris deal, including on what countries need to include in their individual contributions and how richer nations will make good on a commitment to mobilise $100 billion a year to help poorer states.
"There is now greater clarity on the way forward on many of the substantive areas," one document said.
For de Boer, who has led the Global Green Growth Institute advising developing countries since March, December's summit in Lima, Peru, will indicate whether the world will be able to come together on the issue.
"For me, Peru will be the litmus test. Having a clear negotiating text on the table ... will give everyone a much clearer understanding of what the definition of success or failure is.
"One of the major handicaps of Copenhagen was that so many people had so many different definitions of success," he said, adding that in the lead-up to the conference it was clear that a fully-fledged treaty would not be struck.
"Small island states and the European Union were negotiating towards an international legally binding treaty that would contain obligations for pretty much everyone... whereas others, notably the United States and China, were just looking for a political agreement."
Ahead of Paris, nations have agreed that all countries should contribute, but it remains unclear what legal weight any pact will carry, or which should make the strictest contributions.
De Boer said a meaningful Paris deal would require every country to convert their contributions into national law, both to ensure they are met and to help companies raise investment in cleaner technologies.
Rather than the aim of some in Copenhagen to lock in adequate targets from the outset, countries will need to review their initial contributions, including cash from richer nations, every three years or so.
This would ensure they are in line with their previously agreed goal of limiting global temperature rises to 2 degrees Celsius (3.6 Fahrenheit) above pre-industrial levels.
"I do not expect Paris in one fell swoop to take us to 2C. More steps will be needed," he said.
The U.N. negotiations resume for a week in October in Bonn, Germany before the two-week Lima session in December.
Editing by Louise Heavens


text:
Take a bath, hippie
With the help of the Hanoverton Township and Winona fire departments the Humane Society of Columbiana County (HSCC) hosted it second Plunge for Rescue on Guilford Lake Saturday. About 100 people took the plunge in the ice cold water to raise funds for the abused, neglected and abandoned pets in the care of HSCC. Team Haltec from Salem dressed as hippies and were led by Shannon Leininger and the family dog, a yellow Labrador named Zoe. Shannon was joined by Craig Andrews, Danielle Stevenson, Sarah Bobby and Sami Reedy. Morning Journal/Patti Schaeffer
PlungeforRescueHumaneSocietyofColumbiana Guilford Lake Hanover Township Winona Fire Department


text:
|Go to Page...
Always wanted to use standard hooking and unhooking methods that are safe, felxible, compatible with other hooks and easy to debug but didn't want to require your users to down load all of the Sea Library? Well now you can embed that functionality into your addon as easily as modifying your TOC! Not only that but if multiple Sea/SeaHook libraries are loaded a simple versioning system with keep the live copy up to date without extranious loading and having multiple copies in memory.
This is the most flexible hooking system you've ever seen; plus it's optimized to create the least gc possible!
The calls you'll use the most:
Sea.util.hook( "origFunctionName", "hookFunctionName", "hide/before/replace/after")
Sea.util.unhook( "origFunctionName", "hookFunctionName", "hide/before/replace/after")
Hook types :
"hide" - called instead of the orig function. If you return true, subsequent hooks will be called afterwards, otherwise no further non-hide hooks nor the orig function will be called.
"before" - called before the orig function. If you return true, the subsequent args will be fed into the calls of the orig function as well as any other functions that hook the same orig function.
"replace" - called instead of the orig function. If you return true, the orig function will be called afterwards. Subsequent args will be returned by the hooked function call.
"after" - called after the orig function. If you return true, the subsequent args will be returned by the hooked function call.
Sea.util.getReturnArgs() - Get the current return values of a hooked function from within an 'after' hook. (So that you don't have to duplicate logic and/or can simply modify the return arguments.)
==Frame Script Element Hooking==
Sea.util.hook( "frameName", "hookFunctionName", "before/after/replace/hide", "scriptElementName")
Sea.util.unhook( "frameName", "hookFunctionName", "before/after/replace/hide", "scriptElementName")
==Indexed Variables==
The variables for origFunctionName/frameName/hookFunctionName may all be tabled index strings. Thus "myTable.key" works as a valid function definition if you would normally call it by doing myTable.key() or myTable["key"]()
This is made possible by the following functions (which can by themselves as well):
Sea.util.split( "text", "separator"[, oldTable[, noPurge]] )
Sea.util.setValue("indexed.variablename", value)
- Drop the SeaHooks folder into your Interface\AddOns\YourAddon\ folder
- Add Sea and SeaHooks as optional dependancies
- Add the following line to the end of your TOC file, before your addon files:
- Drop the SeaHooks folder into your Interface\AddOns\ directory
- Add SeaHooks a required dependancy
Another nice thing about Sea hooks is that you can look in one place to find all your hooking conflicts. If there's a problem just look in the Sea.util.Hooks table. Hooks are listed by the name of the orig function, or by "frameName.scriptElementName". If all your addons are usign this method it makes them infinitely easier to debug conflicts. Plus it's simple to replace a manual hook with a Sea hook, usually just a couple of lines. In the rare case that a manual hook calls the orig function in the middle you can usually split it into a "before" and "after" hook and make life easier for everyone. This standardized hooking is cleaner to code with, simpler to read and understand, flexible enough to handle any hook type and now doesn't require your users to download a dependancy! If you can think of ANY reason why it would be better to use another hooking method please let us know. We'd love to make SeaHooks the primere method preferred by addon developers.
Sea.util.debugHooks( enable , "verboseFunctionName" ) - Enable standard or verbose error logging.
(Prints to the default chat frame)
--On: Sea.util.debugHooks(1);
--Verbose: Sea.util.debugHooks(1, "ChatFrame_OnLoad");
--Off: Sea.util.debugHooks();
Change Log :
- Rewrote hook handler to use a more table intensive method. This may use more memory, but executes much less code and should use overall less processor time. This allows for the removal of all of the table recycling code: SeaHooks_assignArgs, SeaHooks_inverseAssignArgs, SeaHooks_getTables, SeaHooks_releaseTables and Sea.util.argStack. This also fixes two serious issues that were cropping up:
- Args and return args no longer stop after the first nil
- The number of arguments and return arguments allowable to hook is now unlimited
- Fixed bug with hooked functions only returning a single value
- Added SeaHooks_inverseAssignArgs for replace hooks, so that it now correctly passes return arguments when fully replacing the function
- Removed Sea.util.returnArgs completely. Use the new passReturnArgs, 4th arg to Sea.util.hook
- Added a check to make sure GetScript returned a function (since there's an issue with it returning a number)
- Added another argument to hook: needsRetArgs. This boolean will allow 'after' hooks to be passed a table of args and a table of return args. All other hooks will pass unpacked args like v0.7 and earlier
- Removed Sea.util.topReturnArgs
- Fixed a bug with local functions being out of scope
- Prepared for Lua 5.1
- Removed Sea.string.split and Sea.string.explode aliases. use Sea.util.split
- Added Sea.util.join (removed from Sea.io)
- Completely revamped the hook handler.
-- Hooks now use recycled tables to store passed arguments and return arguments (now that Lua 5.1 handles table garbage better)
-- Now hook function are passed a single table of arguments passed to the parent function.
-- 'after' hooks are also passed a second table containing the current return values
-- DO NOT MODIFY PASSED TABLES. Assign them to local variables and use the 'return true, ...' construct to pass new arguments as specified for each typ of hook.
-- 'return true, ...' from all hooks (other than 'after' hooks) uses the passed arguments as the return arguments from the parent function.
-- 'return true, ...' from 'before' hooks passes those arguments (instead of the orig ones) to all subsequent hook functions and the orig function
-- Debug mode is temporarily dissabled, awaiting rewrite for new procedures
- Added an inclusive argument to split to catch empty strings
- Changed lua file name
(Included in v1.20)
- Fixed bug preventing propper unhooking
- Synced with Sea v1.11
- Only one replace hook is now called for each hook call, unless it returns true as arg1
- Old style table passing of return arguments as a table is again honored, but not encouraged. All other return value must be nil except fro arg1 (non-nil) and arg2 (argument table)
- Optimized split, getValue and setValue for speed and GC (thanks Iriel and krka)
- Removed cleanArgs. Slow and pointless.
- Changed internal SeaHooks_debugErrorPrint syntax to match Sea.io.dprintfc syntax for easy conversion to Sea
- Code Synced with Sea 1.07
- Fixed Bug: causing no return from hooked functions where no return replacement was supplied
- Fixed Oversight: causing a return to Frame Script Elements (which don't take any)
- Fixed Oversight: sloppy Sea.util.unhook mirroring
- Hook definitions now use an object refrence rather than a name to save on indexing (Thanks Iriel for suggestion)
- Added Feature: You can now modify return values from either a 'replace' that hides the orig func or an 'after' hook
- Added Feature: Added Error Debug and Vebose Debug by hook function name
/script Sea.util.debugHooks(enabled, verboseHookName)
enabled - boolean, verboseHookName - string equal to 'orig' passed to hook function (nil to disable)
Note: enabling debug usually incurs a heavier proc load and can cause slow down when used with OnUpdate hooks.
- Added Feature: current return values from a hooked function are availible to 'after' hooks via global return variables: Sea.util.returnArgs[1-20]
Note: These arguments are only availible for the durration of the 'after' hook call.
Also, if you call any function within the 'after' hook that would lead to the call of another 'after' hook call then the global Sea.util.returnArgs would most likely change.
Thus it is highly recommend you grab whatever return arguments you need at the beginning of the function call and assign them to local variables.
This method preserves reverse compatibility as well as avoids table creation and thus does not effect GC.
You can also use Sea.util.getReturnArgs() to unpack them for you. Ex: local arg1, arg2 = Sea.util.getReturnArgs();
- Cleaned up comments and code readability
- Added Feature: Sea.util.cleanArgs eliminates trailing nils in a list of arguments. Used in the hook functions to mask the 20 arguments utilized to avoid GC.
Ex: Sea.util.cleanArgs("a", nil, "b", nil, nil) == "a", nil, "b"
- Now stores a refrence of the hooked function handler in the database to facilitate future overhook recognition
- Added input argument modification using a 'before' hook.
If you return true as the the first arg from a before hook function
the subsequent arguments will be the arguments fed to each hook function called afterwards as well as the orig function.
EX: if your before hook returned (true, nil, 10) then the next hook would be called as func(nil, 10), as would the orig(nil, 10)
This allows you to modify a function output without destroying or hiding the orig function, allowing additional hooks to be called without conflicting functionality.
v0.1 (Alpha)
- SeaHooks Forked into Mini-Library from the main Sea. Still backwards compatible.
There have been no comments posted to this file.
Be the first to add one.