text:
Friday, September 30, 2011
Sweet Potato Cakes with Sour Cream and Chipotle Black Bean Salsa
The sweet potato cakes in Plenty have some red chiles and soy sauce in addition to chopped green onions mixed into the batter for extra flavor. I added only green onion and salt and black pepper. Big chunks of peeled sweet potatoes were steamed until tender, allowed to drain until dry, and then mashed with a potato masher. Flour, the green onions, and salt and pepper were added and mixed in by hand, and then small cakes were formed. This process could be done in advance, and the cakes could be stored on a baking sheet in the refrigerator until you're ready to fry them. They were fried for a few minutes per side in a mix of olive oil and butter, and the butter really adds great flavor. For the chipotle black bean salsa, finely chopped chipotle, small diced yellow bell pepper, minced red onion, chopped cilantro leaves, black beans, lime juice, and some salt were combined, and that's it. Of course, taste as you go to decide it you'd like more chipotle heat and/or salt. The salsa could also be prepared in advance. For serving, the cakes were topped with sour cream which acts like a glue and holds the salsa in place.
At this size, the cakes hold together well for picking up off a tray, and each one offers a bite or two of sweet, tangy, spicy, fresh flavors. I highly recommend them for a gameday party. Just don't ask me who won.
Sweet Potato Cakes with Sour Cream and Chipotle Black Bean Salsa
For the sweet potato cakes:
Adapted from Plenty by Yotam Ottolenghi
(Makes 34 small cakes)
2 pounds sweet potatoes, peeled and chopped into large chunks
½ cup all-purpose flour
1 teaspoon salt
½ teaspoon freshly ground black pepper
5 green onions, both white and green parts, finely chopped
4-6 tablespoons extra virgin olive oil
4-6 tablespoons butter
-Steam the sweet potato chunks for 15-20 minutes until completely tender, and then transfer to a colander and allow to drain until dry.
- Once very dry, place sweet potato chunks in a large mixing bowl and mash with a potato masher to break up chunks. Add flour and finely chopped green onions, and mix with your hands to form a smooth batter. Using your hands here is best so that it doesn't become over mixed. In a food processor, the sweet potato mixture could quickly become gummy. Taste for seasoning and add more salt and pepper if needed. Once the mixture is smooth, and the flour and green onions are mixed in, you're ready to fry. Note: the mixture should be sticky but not wet, so more flour may be needed.
- In a non-stick skillet, heat two tablespoons extra virgin olive oil and two tablespoons butter over medium-high heat. Form round, flat cakes from about two tablespoons of batter per cake, and fry four or five at a time for three minutes per side until golden. Transfer finished cakes to a paper towel-lined baking sheet to drain and cool. Add more oil and butter to pan between batches as needed, and continue frying a few cakes at a time until all are ready for their toppings.
For the black bean salsa:
1 16 oz. can black beans, rinsed and drained
1-2 chipotles in adobo, finely chopped
1 small, yellow bell pepper, small diced
¼ cup finely minced red onion
¼ cup cilantro leaves, chopped
Juice of 1 lime
¼ teaspoon salt
-Combine all salsa ingredients, starting with one chipotle, in a small bowl and stir to combine. Taste for chipotle heat and add more if desired, and taste for seasoning and add more salt if needed. Salsa can be made in advance and stored in the refrigerator.
To assemble for serving:
½ cup sour cream
- Place sweet potato cakes on a serving platter and add a small dollop of sour cream to each. Top sour cream with a small spoonful of black bean salsa, and enjoy.
Posted by lisa is cooking at Friday, September 30, 2011
47 comments:
wow These sweet potato cakes must be very very delicious!ReplyDelete
That is an awesome recipe! What a mouthwatering combination.ReplyDelete
very little football food is veg friendly, but I could see this pleasing just about everyone at a tailgating or football-watching party! These look amazing!ReplyDelete
This is definitely the kind of dish I love. QAs years go on I seem to love vegetarian dishes more than wheat we might usually eat. My dad has been right all along...can I say that:DReplyDelete
Adorable little cakes, and perfect to watch a game... which we are doing right nowReplyDelete
like you, I have football-watching food in my mind lately.
BTW, I got Plenty per your recommendation a couple of months ago - very nice cookbook indeed!
Awesome recipe!ReplyDelete
Oh Lisa, they look absolutely heavenly! I just love the way you "throw" a recipe together. I've never even considered sweet potatoes and chiles. What world do I live in:)ReplyDelete
Thank you so much for sharing. I bet this recipe scored big!!!
Oh goodness, I forgot to tell you about the Cookbook Party I'm having, drop by when you get a chance...October is National Cookbook Month! (amongst other things:)ReplyDelete
Wow congratulations, Lisa!! Your gameday recipe is definitely magazine worthy! It's so tempting and I'm loving the fall colors of this snack!ReplyDelete
Oh my, what a great recipe, I love this and your photos are fab. How creative you are with these sweet potato cakes they look delicious.ReplyDelete
Love these! What a fantastic recipe and perfect for fall entertaining. This is a must make!!! :)ReplyDelete
I am soooooooo feeling these! I would probably eat the whole batch in one go :DReplyDelete
*kisses* HH
I can't even tell you how great these look. Bookmarked!ReplyDelete
These look so delicious, I think I might have more than one serving of it. Love the photos, Nice blog :)ReplyDelete
Yum, potato cakes are so tasty and comforting and these look elevated to a whole new level with the yummy salsa on top!ReplyDelete
I think you are so good of cooking! they look lovely.I like your step by step pictures as well.ReplyDelete
I've made something similar before. Perfect party food.ReplyDelete
I'm always looking for great "pick up and eat" things for parties that I cater. I think it's much better for everyone to have easy to eat things rather than lots of plate and fork food. These are terrific - really different and I just know they are delicious. I'm on a sweet potato kick right now and I will make these for sure.ReplyDelete
Wow, this is just perfect for this season! Lovely!ReplyDelete
No American football for me but we have been in front of the tv at 6:30 a.m. too many mornings this past couple of weeks to watch the Rugby World Bup matches! Yay! And oh how I love sweet potatoes and this recipe is fabulous!! Love it! Anytime...ReplyDelete
This will make a perfect appetizer in parties. Thanks for sharing this wonderful recipe.ReplyDelete
Check out my 200th post Giveaway
Likewise i can't talk football but I can talk recipes; this one is a keeper, even that salsa is one I would try on its own. funnily, today I made some carrot pancakes just to use up some extra carrots.ReplyDelete
So pretty and color coordinated for the Longhorns. Hope y'all won on Sat.! Also reminds me I still need to pick up Plenty.ReplyDelete
Those look phenomenal!ReplyDelete
Just gave these a try and they are fantastic! Thanks for sharing!ReplyDelete
Your dishes are always so healthy, nutritious and beautifully presented.ReplyDelete
Thanks, Emily! So glad you enjoyed.ReplyDelete
From the first photo to the ingredient list, you got me. I love "cakes" made out of vegetables and haven't tried sweet potato cakes yet.ReplyDelete
- AnonymousOctober 5, 2011 at 9:52 AM
This looks great, making that asap as I have a great influx of sweet potatoes!ReplyDelete
These look amazing! I'm on a diet at the moment so these should go down a treat. Lovely blog!ReplyDelete
I also would't have a clue who won the game, or even who was playing the game. These looks great to serve at any kind of party. I love the idea of making them with lots of extra chipotle for a good kick of smokey heat.ReplyDelete
Love these! They'd be great for a party. Though, I could make a meal of them alone. ;)ReplyDelete
i've had sweet potato cakes only once before, and they were unimpressive. they weren't spicy at all, though, and there certainly wasn't any black bean salsa involved. these look positively stellar, lisa!ReplyDelete
Saw these on Foodbuzz and buzzed them! They are adorable and sound delicious!!! I am now following you by email :)ReplyDelete
Love these!ReplyDelete
I am so sold on these sweet potato cakes! I absolutely adore spicy sweet potato dishes. I've been hearing so much about Plenty lately—I might just have to order it today.ReplyDelete
- AnonymousJanuary 24, 2012 at 1:09 PM
Could I freeze these cakes once made?ReplyDelete
Anonymous: I haven't tried freezing the cakes, but I suspect it would work fine. You could warm them in the oven directly from the freezer to re-crisp the surfaces.ReplyDelete
I'm thinking about making these for guests this week but one is gluten-free. Do you think this could easily be made with say garbanzo flour?ReplyDelete
Peaceful Reader: I think garbanzo flour would work fine. You might want to start with less than the half cup suggested for AP flour and see how it binds the mixture. Then, add more if you feel it needs it.ReplyDelete
- AnonymousApril 10, 2012 at 9:29 PM
Hi I'd like to make these for a party. Can you bake them? Thanks.ReplyDeleteReplies
I haven't tried baking them, so I'm not sure what kind of texture they'll have. Also, I think I'd miss the flavor from the mix of butter and olive oil from frying.Delete
- AnonymousMay 15, 2012 at 7:30 PM
Disappointed to discover these were made with yams and not actual sweet potatos.ReplyDeleteReplies
Anonymous: No, these were made with sweet potatoes. We don't actually get yams in our markets here.Delete
- Kim P.June 10, 2012 at 6:04 PM
This recipe was absolutely delish! Perfect combination of sweet, hot/spicey & tangy w/sour cream. I made them as a meal served w/tossed salad. One of my favorite meals I'll have again and again!ReplyDelete
These were a BIG hit at our house. The flavor combinations are just so yummy. Looking forward to having them again. Thanks for sharing.ReplyDelete
These sound yummy, I wonder if they could be baked instead of fried?ReplyDelete


text:
Trayvon Martin's friend describes final phone call
Alternate juror dismissed by judge
A friend who was on the phone with 17-year-old Trayvon Martin moments before he was fatally shot by George Zimmerman testified that she heard the Miami teen shout, "Get off! Get off!" before his telephone went dead.
Rachel Jeantel, 19, recounted to jurors in Zimmerman's second-degree murder trial how Martin told her he was being followed by a man as he walked through the Retreat at Twin Lakes townhome complex on his way back from a convenience store to the home of his father's fiancee.
Jeantel is considered one of the prosecution's most important witnesses because she was the last person to talk to Martin before his encounter with Zimmerman on Feb. 26, 2012.
She testified that Martin described the man following him as "a creepy-ass cracker" and he thought he had evaded him. But she said a short time later Martin let out a profanity.
Martin said Zimmerman was behind him and she heard Martin ask: "What are you following me for?"
She then heard what sounded like Martin's phone earpiece drop into the grass and she heard him say, "Get off! Get off!" The phone then went dead, she said.
Zimmerman, 29, could get life in prison if convicted of second-degree murder for killing Martin. Zimmerman followed him in his truck and called a police dispatch number before he and the teen got into a fight.
Zimmerman has claimed self-defense, saying he opened fire after the teenager jumped him and began slamming his head against the concrete sidewalk. Zimmerman identifies himself as Hispanic and has denied that his confrontation with the black teenager had anything to do with race, as Martin's family and its supporters have claimed.
Heard howls, shouts
Jeantel's testimony came after two former neighbours of Zimmerman testified Wednesday about hearing howls and shouts for help in the moments before the shooting.
Jayne Surdyka told the court that immediately before the shooting, she heard an aggressive voice and a softer voice exchanging words for several minutes in an area behind her townhome at the Retreat at Twin Lakes.
"It was someone being very aggressive and angry at someone," she said.
During the struggle, she said, she saw a person in dark clothes on top of the other person. Martin was wearing a dark sweatshirt and Zimmerman wore red clothing. Surdyka said she saw the person who was on top get off the body after the shot was fired.
Surdyka said she heard cries for help and then multiple gunshots: "pop, pop, pop." Only one shot was fired in the fatal encounter.
"I truly believe the second yell for help was a yelp," said Surdyka, who later dabbed away tears as prosecutors played her 911 call. "It was excruciating. I really felt it was a boy's voice."
During cross-examination, defence attorney Don West tried to show there was a lapse in what Surdyka saw. Defence attorneys contend Martin was on top of Zimmerman during the struggle, but after the neighbourhood watch volunteer fired a shot, Zimmerman got on top of Martin.
West also challenged Surdyka about her belief that the cry for help was a boy's voice, saying she was making an assumption.
The other neighbour, Jeannee Manalo, testified that she believed Zimmerman was on top of Martin, saying he was the bigger of the two based on pictures she saw of Martin on television after the fight. Manalo also described hearing howling, but she couldn't tell who it was coming from, and then a "help sound" a short time later.
Under cross-examination, defence attorney Mark O'Mara asked why Manalo had never mentioned her belief that Zimmerman was on top in previous police interviews. He also got her to concede that her perception of Martin's size was based on five-year-old photos on television that showed a younger and smaller Martin.
Martin's parents have said they believe the cries for help heard by neighbours came from their son, while Zimmerman's father believes the cries belong to his son. Both prosecutors and defence attorneys believe they could show whether Zimmerman or Martin was the aggressor in the encounter. Defence attorneys successfully argued against allowing prosecution experts who claimed the cries belonged to Martin.
Jeantel on Wednesday testified that she believed the cries were Martin's because "Trayvon has kind of a baby voice." The defence attorney challenged that, claiming she was less certain in a previous deposition.
Jeantel, 19, also explained that she had initially lied about her age — she claimed to be 16 — to protect her privacy when she was initially contacted by an attorney for Martin's family to give a recorded statement over the telephone about what she knew about the few moments before Martin's encounter with Zimmerman. She was expected to finish her testimony on Thursday.
While being cross-examined, Jeantel had several testy exchanges with West, including one moment when she prompted the defence attorney to ask his next question: "You can go. You can go."
Jurors to hear calls
Before the February 2012 shooting, Zimmerman had made about a half dozen calls to a non-emergency police number to report suspicious characters in his neighbourhood. Judge Debra Nelson on Wednesday ruled that they could be played for jurors.
Prosecutors had argued that the police dispatch calls were central to their case that Zimmerman committed second-degree murder since they showed his state of mind. He was increasingly frustrated with repeated burglaries and had reached a breaking point the night he shot the unarmed teenager, prosecutors say.
Defence attorneys argued that the calls were irrelevant and that nothing matters but the seven or eight minutes before Zimmerman fired the deadly shot into Martin's chest.
Seven of the nine jurors and alternates scribbled attentively on their notepads as the calls were played.

subset: commoncrawl


text:
Lindsay Lohan's eHarmony Profileposted by Moderator
Filed under: Parody
From Lindsay Lohan and Eric Appel:
Welcome to the Art of the Prank, produced and edited by Joey Skaggs. Here you will find insights, information, news and discussions about art, pranks, hoaxes, culture jamming & reality hacking around the world - past, present and future - mainstream and counter culture. You are invited to contribute to its development. May your journey be filled with more than your expectations.
Development/Design by: dgb.design | Illustration/Design by: Jef Leon | Built with: WordPress
© 2023 Joey Skaggs | Privacy Policy | Legal Notices and Conditions of Use


text:
Pack your bags—it's time to embark on a getaway. Whether you're craving a solo retreat or promising your family a vacation to remember, book one of the best hotels in Southwest Montana. These hotels are located within easy access of the city's hottest attractions and entertainment, so you won't miss a beat while you're in town. Spend the days exploring the local landmarks and the evenings getting to know the nightlife. After exploring the city from top to bottom, rest up at a hotel that speaks to you. Find the perfect place that matches your trip's vibe, from a trendy boutique to family-friendly accommodations.
Allow us here at Travelocity to pair you with up Southwest Montana hotels that suit your vacation preferences. Discover places with convenient on-site restaurants, around-the-clock service, and pools where your kids can make a splash. Some hotels may boast fitness rooms and spa services, while others feature game rooms and Wi-Fi access. To top it all off, you'll score cheap hotels in Southwest Montana that let you spend more on your activities and less on your lodging. Book and bundle your flight and hotel deals together today and save $$$. It's time to explore a new city, and break out of your routine.
|3,935 hotels
Lowest Price
Highest Price
Popular hotels
|Super 8 by Wyndham Butte MT, Copper King Convention Center, Ascend Hotel Collection, Wingate by Wyndham Butte City Center I-15/I-90, Ramada by Wyndham Butte, La Quinta Inn & Suites by Wyndham Butte, Whitewater Inn, Ramada by Wyndham Helena, Baymont by Wyndham Helena, Days Inn by Wyndham Helena


text:
CVGM.net - Chiptune, Retro & Video Game Music
Song Information
Tags for song:LaMulana
Related songs:La-Mulana - Primitive Dance by Naramura (Takumi Naramura) , SAMIERU (Houryu Samejima)
La-Mulana - La-Mulana by Naramura (Takumi Naramura) , SAMIERU (Houryu Samejima)
Author: Naramura (Takumi Naramura) , SAMIERU (Houryu Samejima)Uploaded By: tyco
Extra Resources:
Song Length: 3:55
Release Year: 2005
Song Status: Active
Song Bitrate: 159 kbps
Song Source: Game
Song Platform: Computer » PC (Windows - streaming and other)
Additional Information:
From the MSX tribute game "La-Mulana."
Download: http://agtp.romhack.net/project.php?id=lamulana
Last Queued : 1 month, 2 weeks ago
This song has been played 59 times.
[See Request History]
It was added 12 years, 1 month ago.
Song RatingSong Rating: 4.7 - Votes Placed: 3 View Voting History
A total of 1 users have this song on their favourites list.
Compilation / Remix Information
This Song Is Listed In The Following Compilations:
La Mulana Sound Collection
ScreenshotsAdd new screenshot
Song Corrections & Updates
[Edit Information] - [Add Links]
User Comments
|Song Comment


text:
You have no items in your shopping cart.
Prices are tax included
Go to cart Check out
6,00 €
Warning: Last items in stock!
Availability date:
Add to cart
Tweet Share Google+ Pinterest
Add to wishlist
Be the first to write your review!
Your email address will not be published.Required fields are marked *
Té negro Vainilla
* Required fields
Toasted green tea Japanese origin with mineralizing and alkalizing effects, barely containing protein.
Premium blend of green and white teas, flavoured
Organic Rooibos flavored with Madagascar vanilla.


text:
27 Aug, 2014, 08:00 ET
OMAHA, Neb., Aug. 27, 2014 /PRNewswire/ -- Rob Knight, chief financial officer of Union Pacific Corporation (NYSE: UNP), will address the Cowen and Company 7th Annual Global Transportation & Aerospace / Defense Conference at 8:45 a.m. ET on Wednesday, September 3, 2014, in Boston.
Interested investors may view the presentation and listen to a live Internet webcast through our website at www.up.com/investors. A replay of the audio webcast will be available shortly thereafter on Union Pacific's Investor website.
About Union Pacific
Union Pacific Railroad is the principal operating company of Union Pacific Corporation (NYSE: UNP). One of America's most recognized companies, Union Pacific Railroad connects 23 states in the western two-thirds of the country by rail, providing a critical link in the global supply chain. From 2004-2013, Union Pacific invested approximately $30 billion in its network and operations to support America's transportation infrastructure. The railroad's diversified business mix includes Agricultural Products, Automotive, Chemicals, Coal, Industrial Products and Intermodal. Union Pacific serves many of the fastest-growing U.S. population centers, operates from all major West Coast and Gulf Coast ports to eastern gateways, connects with Canada's rail systems and is the only railroad serving all six major Mexico gateways. Union Pacific provides value to its roughly 10,000 customers by delivering products in a safe, reliable, fuel-efficient and environmentally responsible manner.
For further information, contact Mike Staffenbeal at (402) 544-4227.
Logo - http://photos.prnewswire.com/prnh/20110304/LA59497LOGO
SOURCE Union Pacific


text:
By selecting "no" for both requests, your personal account will be permanently deleted and you will no longer be able to access the area reserved for your profile. You will also no longer receive promotional material and you will lose access to exclusive advantages and dedicated offers.
Do you want to continue?
The page which you will be redirected to relates to sales, which are delivered in {0}.
Do you still wish to continue with the selected country?


text:
45x30mm 50 Horizontal Black Split-Back Mounts
46x36mm 50 Horizontal Black Split-Back Mounts
36x55mm 50 Vertical Black Split-Back Mounts
36x46mm 50 Vertical Black Split-Back Mounts
30x45mm 50 Vertical Black Split-Back Mounts
27x30mm 50 Vertical Black Split-Back Mounts
30x34mm 50 Vertical Black Split-Back Mounts
30x27mm 50 Horizontal Black Split-Back Mounts
47x32mm 50 Horizontal Black Split-Back Mounts
Mounts Protect Your Stamps
Mystic Mounts are a safe haven for your stamps – sturdy "envelopes" that gently surround your stamps. Mounts preserve your stamps and prevent damage from common threats like fingerprints, dust, creases and tears.
Mounts Display Your Stamps to Their Best Advantage
Mystic Mounts beautify your stamps and give your collection a neat, professional look. Your stamps are held securely in place against a black background – making the colors "pop" and adding definition to the stamp perforations.
How to Select the Right Mount for Your Stamp
The correct mount size depends on the height of your stamp. For example, a stamp measuring 36 millimeters in height requires a 41-millimeter mount. We've added a small extra margin of space to protect your stamps. If your stamp falls between two sizes, select the larger sized mount. For your convenience, you can also measure in inches, round your measurement to the nearest 1/16th of an inch, and match it to the nearest mount size.
Take a look at Mystic's Discovery Center for our guide on How-to-Measure-Stamps-for-Mounts.
Strips or Single Mounts – Which is Best for You?
Single precut mounts are the easiest to use because there is no cutting. However, if no precut mount exists for the width of your particular stamps, you may need to buy strip mounts.
Strips can be cheaper than single mounts and are useful for stamps of different widths with the same height. Cutting is easy using a device known as a "guillotine." (See here to learn more about the Schneider G – Large Mount Cutter.) Photo cutters, which are available at Staples, can also be used to cut mounts. (Helpful hint – cutting mounts with scissors doesn't work well because mounts are too slippery!)
Mounts are Easy to Use
To insert your stamp in a split-back mount, locate the split on the black background side. Lift a flap and gently slide the stamp in face-down. Then lift the other flap and lay the stamp flat inside. Close both flaps over the back of the stamp. Make sure the stamp fits smoothly inside. Lightly moisten the adhesive on the top of the back of the mount and press it firmly onto your album page.
Clear "drop end" mounts are welded on one side only. Drop mounts don't hold stamps as securely as split back mounts, but they are nearly invisible on an album page. To use a drop end mount, first locate its dull side. This is the back. Insert your stamp into the mount to make sure it's the proper size. The seam should be at the bottom. Remove your stamp and lightly moisten the entire back side of the mount. Place it in its proper position on your album page, and re-insert your stamp.
To fully protect your stamps, we recommend applying stamps and mounts to only one side of your album page. Mounts placed on facing pages may tangle, while mounted stamps placed front and back can weaken the page.
What Does Archival-Quality Mean?
Mystic Mounts are archival-quality, which means they're made of the same material museums use to protect their philatelic items. Because they're archival-quality, our mounts are acid free and contain no additives or softening agents. Plus Mystic Mounts don't shrink or discolor over time – giving you years of service for pennies apiece!


text:
Achieving your vision for contributingto high-performing technology and results-driven teams can be a challenge. Vaco matches people with acompany that perfectly fits their unique IT skill set.
Vaco's Technology Solutions delivershands-on, project-based consulting and operational support to companies needingsupport with a full range of IT-enabled operations. Our expert consultantsblend seamlessly with existing teams to enable cohesive operations, accelerateproject delivery, and transform business performance.
Our experienced professionals bridge thegap between technology and business, solving challenges in the most complexareas:
ERP, EPM, BI, CRM Implementation/Optimization
Software Selections
Program/Project Management
IT Strategy
Business Transformation
Business Analysis
Process Optimization
Interim IT Leadership
Infrastructure Support/Cloud
Application Development
Data Governance/Analytics
Testing & Software Quality Assurance(off/on shore, automated or manual)
Network Engineering
Mobile, UI, UX
Database/Systems Administration
Solution Architecture
Vaco's consultants enjoy anenvironment where performance is recognized and rewarded. Benefit plans enhancean extremely competitive salary structure.VACATION PAY - Consultants are eligible for holidaypay and a retention bonus after the completion of 2,000 regular project hours.Overtime hours are not included in this calculation. Consultants earn a 40-hourretention bonus after reaching 2,000 regular hours worked, and for every 1,000regular hours worked thereafter. Note: This benefit is retroactive to theoriginal date of hire. Once the eligibility requirements have been met,consultants on projects will also be eligible for holiday pay.HOLIDAY PAY - Once the eligibility requirementshave been met, consultants on projects will be eligible for holiday pay. Toreceive holiday pay, consultants must be on a project and work 24 hours theweek of the holiday and the week following the holiday. Eligible consultantswill receive eight hours pay for the following holidays whether the consultantworks that day.401(K) PLAN - All employees are eligible toparticipate in Vaco's 401(k) plan immediately (minimum age 21 years). The401(k) contribution limit for 2019 is $19,500, or 80% of compensation perapplicable pay period. If you are projected to attain age 50 before the end ofthe calendar year, you are eligible to make "catch-up contributions" this yearup to a maximum of $6,500.REFERRAL BONUSES - Vaco offers referral bonuses forconsultants who identify project opportunities and consultants placed onprojects. Referral bonuses may be in the form of one-time bonuses, percentageof revenue on referred projects, or non-cash awards. Other benefits offered through Vaco include:
· Life & Accident Insurance
· Voluntary Short-Term DisabilityInsurance
· Critical Illness-Complex CareManagement
· HealthJoy (HealthJoy BenefitsConcierge)
· Dependent Care FSA
· Medical, Dental, and Vision
HEALTHJOY – BenefitsConcierge Tool and Mobile AppHealthJoy is a NEW resource provided by Vaco to you and your family at no cost!
Vaco | 5501 Virginia Way, Suite 120, Brentwood, TN 37027| 615.324.8226
Recommended Jobs
at Vaco Technology
Software Test Engineer
Memphis, TN, TN -
1 days ago
Construction Project Manager | Onsite in Houston, TX
Houston, TX -
6 days ago
Customer Service Manager | Onsite in Arlington, WA
Automotive - Motor Vehicles - Parts,Manufacturing
Arlington, WA -
6 days ago
Software Test Engineer | Onsite in Memphis, TN ***NO C2C***
Memphis, TN -
2 days ago
Team Lead .Net Developer | W2 Only
Computer Software
Brentwood, GA -
2 days ago


text:
AMERICA – Prophetess Colleen Thomas warns that an alien attack is coming VERY soon!
Colleen Thomas, a home health administrator turned physicist who specializes in the science of creation. She is also the "mother" of a race of good aliens here on Earth to defend humans from lizard people.
Her message is this: While Obama is in India, he and all of his "cronies" will be killed by a tsunami. The good aliens will be ones doing the killing.
Thomas doesn't like Obama, and would prefer it if he surrendered himself to one of his FEMA death camps so Thomas and her friends can… do something. I don't know! It's unclear. Very factual, but unclear.
There's also something about Reptilians eating human bodies after natural disasters. Remember how there were no bodies recovered after the 2004 tsunami? Except for all the bodies they recovered and all the photographs of said bodies? Well, that. That's Reptilian conspiracy. They steal the bodies to eat them. Perfect.
Thomas has a whole host of wonderful, doom-foretelling web videos that are maybe worth a watch if you care about the future of this planet! She's also doing the home health administration thing in the Sacramento area (most Mothers of all-powerful alien races live in or around Sacramento), in case you need anything like that. But yeah, mostly you should go to her for aether physics-related matters.
Here's one of her videos:


text:
Lace Lingerie 3 Piece Set
Lace Lingerie 3 Piece Set
€27.00 €9.00
Look luxe in our luxury lingerie.
There's nothing better than the feeling of matching lingerie under your favourite 'fit or on its own. From briefs and thongs to lace bras and pretty bralettes, these lingerie sets are a vibe. Be the ultimate muse in jaw-dropping suspenders, sexy satin babydolls and lounge underwear for every occasion.
Model wears size UK 8/ EU 36/ AUS 8/ US 4. Model Height 5ft 7. Wash according to the instructions on the label. 95% Polyester 5% Elastane


text:
We are sorry, but we could not find the file you were looking for. If
there is a broken link on our web site, we would like to correct the problem.
Please contact our office at firstname.lastname@example.com and tell us the
name of the page you were on or the name of the file you were looking for.
Return to the ISA home page.
©International Society of Arboriculture 2009-2011
PO Box 3129 • Champaign, IL 61826 • 217.355.9411
Email comments and questions to ISA
Monday, December 10, 2012 9:22:39 PM (CST/ISA Headquarters Time)
Please click here to view our privacy policy.


text:
Providence is calling a Certified Nursing Assistant Hospice Aide - Hospice East Portland (1 FTE, Days Full-Time) to Providence Home Services Oregon in Portland, OR.
Apply today! Applicants that meet qualifications will receive a text message with some additional questions from our Modern Hire system.
We are seeking a Certified Nursing Assistant Hospice Aide - Hospice East Portland that will be under the supervision of a registered nurse, provides supportive personal care services to patients of all ages according to the individualized physical needs of the patient in accordance with state and federal regulatory requirements.
In this position you will have the following responsibilities:
Provide personal care to hospice patients consistent with their Plans of Care under the supervision of a Registered Nurse
Provide homemaker duties as defined by Medicare e.g. cleaning, organizing and food and water preparation consistent with the Plan of Care
Report changes in the patient's condition or living situation as they relate to personal care needs
Complete documentation in the patient medical record following established policies and procedures
Meet mandatory Federal requirement of twelve hours of in-service education per calendar year
Participate in Interdisciplinary Team conferences
Contribute to effective safety and risk management efforts by adhering to established policies and procedures, maintaining a safe environment, promoting accident prevention, and identifying and reporting potential liabilities
Required qualifications for this position include:
Education to meet certification, license -O R- registration requirement
Current State of Oregon CNA License
Valid driver's license
Current BLS (Basic Life Support for Health Care Provider) or ACLS (Advanced Cardiac Life Support) within thirty (30) days of hire
Two (2) years of experience (exception would be a nursing student with current CNA)
Experience using electronic medical record software
About Providence in Oregon
As the largest healthcare system and largest private employer in Oregon, Providence offers exceptional work environments and unparalleled career opportunities.
The Providence Experience begins each time our patients or their families have an encounter with a Providence team member and continues throughout their visit or stay. Whether you provide direct or indirect patient care, we want our patients to feel that they are in a welcoming place where they can be comfortable and free from anxiety. Our employees create the Providence Experience through simple, caring behaviors such as acknowledging and welcoming each visitor, introducing ourselves and Providence, addressing people by name, providing the duration of estimated wait times and updating frequently if timelines change, explaining situations in a way that puts patients at ease, carefully listening to their concerns, and always thanking people for trusting Providence for their healthcare needs. At Providence, our quality vision is simple,
"Providence will provide the best care and service to every person, every time."
Providence is consistently ranked among the top 100 companies to work for in Oregon. It is also home to two of our award-winning Magnet medical centers. Providence hospitals and clinics are located in numerous areas, ranging from the Columbia Gorge to the wine country to sunny southern Oregon to charming coastal communities to the urban setting of Portland. If you want a vibrant lifestyle while working with a team highly committed to the art of healing, choose from our many options in Oregon.
We offer a full comprehensive range of benefits — see our website for details http://www.providenceiscalling.jobs/rewards-benefits
About Providence
At Providence, our strength lies in Our Promise of "Know me, care for me, ease my way." Working at our family of organizations means that regardless of your role, we'll walk alongside you in your career, supporting you so you can support others. We provide best-in-class benefits and we foster an inclusive workplace where diversity is valued, and everyone is essential, heard and respected. Together, our 120,000 caregivers (all employees) serve in over 50 hospitals, over 1,000 clinics and a full range of health and social services across Alaska, California, Montana, New Mexico, Oregon, Texas and Washington. As a comprehensive health care organization, we are serving more people, advancing best practices and continuing our more than 100-year tradition of serving the poor and vulnerable.
Providence is proud to be an Equal Opportunity Employer. Providence does not discriminate on the basis of race, color, gender, disability, veteran, military status, religion, age, creed, national origin, sexual identity or expression, sexual orientation, marital status, genetic information, or any other basis prohibited by local, state, or federal law.


text:
Filter by Topic
- (-) Remove Experiments filter Experiments
- (-) Remove Processes filter Processes
- (-) Remove Theories filter Theories
Displaying 1 - 1 of 1 items.
Julia Barlow Platt's Embryological Observations on Salamanders' Cartilage (1893)
In 1893, Julia Barlow Platt published her research on the origins of cartilage in the developing head of the common mudpuppy (Necturus maculosus) embryo. The mudpuppy is an aquatic salamander commonly used by embryologists because its large embryonic cells and nuclei are easy to see. Platt followed the paths of cells in developing mudpuppy embryos to see how embryonic cells migrated during the formation of the head. With her research, Platt challenged then current theories about germ layers, the types of cells in an early embryo that develop into adult cells.
Format: Articles
Subject: Experiments, Theories, Processes


text:
White Chromebook Black Friday deals 2023 have brought up a tremendous opportunity to save a lot of money. During this occasion, you can save up to 34% on different white chromebook models.
Here we've put together a collection of the Best Black Friday deals of white chromebook so that you can find the perfect one and save your money.
Please note that white chromebooks featured on this post may have affiliate links. When you make any purchase from links on this page, we may earn a small commission at no extra cost to you.
White Chromebook Black Friday Deals 2023
Last update on 2023-09-15 / Affiliate links / Images from Amazon Product Advertising API
So, these are all of the Best Black Friday White Chromebook deals and discount offers available on the market. We recommend buying White Chromebook during the Black Friday sale to get it at the best price.
You may also like Samsung Chromebook Black Friday Deals
When Will the White Chromebook Black Friday Sale 2023 Start?
Black Friday does not have any specific date. Every year, the last Friday of November is celebrated as Black Friday. The discounted sale offers are sometimes launched as early as a week before the official Black Friday. Therefore, the Black Friday Sale of White Chromebooks is expected to start at least 2-3 days before November 25, 2023. We recommend checking out this page frequently to get the latest update.
Related Deals: 2 In 1 Chromebook Black Friday Deals 2023
Why Buy White Chromebook During the Black Friday Sale?
Buying products on Black Friday is like buying a product at a discount. And this is where the trick comes into play. During Black Friday, you can purchase your desired White Chromebook at a price much lesser than the regular price. So in this way, you are not only going to get the White Chromebook but also save a lot of money on purchasing it.
Don't forget to check our collection of the Best Chromebook Black Friday Deals
How to Get the Deal?
We've already listed some of the best Black Friday deals of different White Chromebooks available today. Since most of the deals are available on Amazon, you can buy with confidence. Just click on the button above to grab the deal now. If you are still facing any issues, feel free to inform us by dropping a comment below.


text:
Hillel is criticizing York University's Graduate Students' Association (YUGSA) for endorsing the boycott, divestment, and sanctions (BDS) campaign against Israel in a vote that passed 29 in favour and seven against.
The association released a statement Nov. 16, the day after the measure passed, calling it a "momentous vote." It commits YUGSA to press the university to withdraw its investments from companies profiting from "Israeli human rights violations, war crimes and oppression."
YUGSA is the third Canadian university student union to pass a motion in favour of BDS this year, following the University of Regina Students' Union last February and Carleton University's Graduate Students' Association in March.
Wangui Kimari, YUGSA vice-president of campaigns, said pro-Palestinian groups at York have long backed the BDS movement, but this is the first time the issue has been brought before the council, which comprises representatives from each department at the university.
The reason it passed now, she said, might have to do with the recent violence between Israel and Gaza.
The council meeting where the vote passed took place Nov. 15, one day after Israel launched Operation Pillar of Defence, although the motion was submitted for the agenda before the war began.
"It's our tuition fees that's contributing to companies that profit from occupation," Kimari said, adding that she personally supported the resolution. "It's tied to human rights, and students have always been at the forefront of human rights issues."
Hillel at York released a statement condemning the motion.
"BDS only serves to promote a toxic and divisive atmosphere on campus. It does nothing to promote civil discourse and will never lead to any true learning or education about the Middle East," Rochelle Derlick, Hillel's vice-president internal said, adding that this type of campaign only intends "to isolate and delegitimize Israel."
Hillel also alleged that the vote did not follow proper procedure, as outlined in YUGSA's constitution, making the motion illegitimate.
"In the [YUGSA] constitution, it requires at least seven days' notice before the meeting of what's going to take place in the meeting," said Tamara Caplan, director of Hillel at York. "That's where we think there might be a violation."
She said Jewish graduate students told Hillel they had not heard about the agenda until the day before the meeting.
However, Kimari said all councillors were given seven days' notice about the agenda, as they are for all meetings. Councillors can then decide whether to send the agenda to the rest of their departments, she said.
But Caplan said she doesn't think the responsibility should fall solely on councillors to publicize YUGSA's meeting agenda to fellow students, especially when such a contentious issue is involved.
"The problem is a lot of these councillors are apathetic and also ignorant of an issue like BDS," she said. "Not even all the councillors showed up to this meeting, and not all of them understood this vote was taking place, so they didn't have the opportunity to vote on behalf of [their] department."
YUGSA president Carolyn Hibbs said her group followed the same process it always uses.
"We've had other types of controversial motions in the past as well, and we don't privilege certain types of motions over others," she said. "We don't decide beforehand what is or is not a controversial motion."
She said that if anybody disagrees with the motion, they can submit another motion to be voted on. However, a two-thirds majority – a supermajority – would be required to reconsider a resolution that has already passed.
At the Nov. 15 meeting, a group of students gave a 30-minute presentation in favour of the motion.
Caplan said she was disappointed that pro-Israel students were denied the chance to give a presentation against the motion, but Hibbs, who chaired the meeting, said they never formally asked for one, and if they had, she would have let council vote on whether to allow them onto the agenda.
Meanwhile, campus anti-Israel groups praised the motion.
"It is important for organizations to not pretend to be neutral while profiting from human rights violations," Mona Ayyoub, a member of Students Against Israeli Apartheid, said in a statement.
Kimari said YUGSA leaders will try to schedule a meeting with York University president Mamdouh Shoukri to let him know that a majority of councillors representing a majority of the departments at York voted for the motion.
In a statement to The CJN on YUGSA's motion, York's administration said that "freedom of expression is one of York University's guiding principles. Members of the York University community have the right to express their views and to test and challenge ideas, provided they do so within the law."
It also said that it uses "best practices" in developing its policy on investments.
"The 'best practice' is built on advice from major investment consulting firms and does not recommend the use of 'negative screening' or divesting from particular companies."


text:
We've redesigned MyAccount to serve you better. The Email Center and Web Space Center are updated. Our other support pages have a new look too.
Navigate MyAccount using the menu on the left or the links at the top.
Did you know that some cable modems have a stand-by button? If this feature is activated you will not be able to connect to the internet. Verifying your modem is not in standby should be a part of standard troubleshooting
How to protect your identity
read more


text:
|This article contains inaccurate information. Further details can be found on the talk page.
Welcome to the FAQ
What is OpenGL?
OpenGL stands for Open Graphics Library. It is a specification of an API for rendering graphics, usually in 3D. OpenGL implementations are libraries that implement the API defined by the specification.
Graphics cards usually have an OpenGL implementation. Because the OpenGL specification is not platform-specific, it is possible to write an application that will be possible to use against many different types of graphics cards. It also increases the chance that the application will continue to work when new hardware will become available.
What is NOT OpenGL?
The OpenGL API only deals with rendering graphics. OpenGL does not provide functions for animations, timing, file IO, image file format processing, GUI, and so forth. OpenGL is concerned only about rendering.
GLUT is not OpenGL. It is not a part of OpenGL; it is simply a library that is used by some users to create an OpenGL window.
Who maintains?
The specification is maintained by OpenGL Architectural Review Board or ARB.
Is OpenGL Open Source?
No, OpenGL doesn't have any source code. GL is a specification which can be found on this website. It describes the interface the programmer uses and expected behavior. OpenGL is an open specification. Anyone can download the spec for free. This is as opposed to ISO standards and specifications, which cost money to access.
There is an implementation of GL that is Open Source and it is called Mesa3D It announces itself as implementing OpenGL 3.0 and GLSL 1.30.
Where can I download?
Just like the "Open Source?" section explains, OpenGL is not a software product. it is a specification.
On Mac OS X, Apple's OpenGL implementation is included.
On Windows, companies like nVidia and AMD/ATI use the spec to write their own implementation, so OpenGL is included in the drivers that they supply. For laptop owners, however, you'll need to visit the manufacturer of your laptop and download the drivers from them.
Where can I download? #2
Updating your graphics drivers is usually enough to get the latest OpenGL implementation for your graphics hardware. This is sufficient for those who want to use applications that require OpenGL.
For programmers, installing drivers is generally insufficient. You will need to load the OpenGL function pointers, either manually or automatically with a library. More information on this can be found in the Getting started page.
Is there an OpenGL SDK?
There is no actual OpenGL SDK. There is a collection of websites, some (outdated) documentation, and links to tutorials, all found here. But it is not an SDK of the kind you are thinking about.
NVIDIA and ATI have their own SDKs, both of which have various example code for OpenGL.
What platforms have GL?
- Windows: 95 and above
- Mac OSX: all versions
- Linux: OpenGL is provided by open source drives and MESA library, or by proprietary drivers.
- FreeBSD: OpenGL is provided by open source drivers and MESA library or proprietary Nvidia drivers.
OpenGL ES is often supported on embedded systems, but OpenGL ES is a different API from regular OpenGL.
What is an OpenGL context?
And why do you need a window to do GL rendering?
The GL context comprises resources (driver resources in RAM, texture IDs assigned, VBO IDs assigned, enabled states (GL_BLEND, GL_DEPTH_TEST) and many other things). Think of the GL context as some memory allocated by the driver to store some information about the state of your GL program.
You must create a GL context in order for your GL function calls to make sense. You can't just write a minimal program such as this:
int main(int argc, char **argv)
char *GL_version=(char *)glGetString(GL_VERSION);
char *GL_vendor=(char *)glGetString(GL_VENDOR);
char *GL_renderer=(char *)glGetString(GL_RENDERER);
return 0;
In the above, the programmer simply wants to get information about this system (he doesn't want to render anything) but it simply won't work because no communication has been established with the GL driver. The GL driver also needs to allocate resources with respect to the window such as a backbuffer. Based on the pixelformat you have chosen, there can be a color buffer with some format such as GL_BGRA8. There may or may not be a depth buffer. The depth might contain 24 bits. There might be a 8 bit stencil. There might be an accumulation buffer. Perhaps the pixelformat you have chosen can do multisampling. Up until now, no one has introduced a windowless context.
You must create a window. You must select a pixelformat. You must create a GL context. You must make the GL context current (wglMakeCurrent for Windows and glXMakeCurrent for *nix).
Offscreen Rendering
Some people want to do offscreen rendering and they don't want to show a window to the user. The only solution is to create a window and make it invisible, select a pixelformat, create a GL context, make the context current. Now you can make GL function calls. You should make a FBO and render to that. If you chose to not create a FBO and you prefer to use the backbuffer, there is a risk that it won't work.
- http://www.opengl.org/wiki/Common_Mistakes#The_Pixel_Ownership_Problem
- http://www.opengl.org/wiki/Common_Mistakes#The_Object_Oriented_Language_Problem
- http://www.opengl.org/wiki/Platform_specifics
How Does It Work On Windows?
All Windows versions support OpenGL.
When you compile an application, you link with opengl32.dll (even on Win64).
When you run your program, opengl32.dll gets loaded and it checks in the Windows registry if there is a true GL driver. If there is, it will load it. For example, ATI's GL driver name starts with atioglxx.dll and NVIDIA's GL driver is nvoglv32.dll. The actual names can change from release versions.
The Microsoft Windows DLL opengl32.dll only directly exposes OpenGL 1.1 functions. To gain access to functions from higher GL versions, you must load these function pointers manually with
wglGetProcAddress. The details of this process is explained.
There are several helper libraries for this, doing what is commonly called Extension Loading Libraries.
The important thing to know is that opengl32.dll belongs to Microsoft. No one can modify it. You must not replace it. You must not ship your application with this file. You must not ship nvoglv32.dll or any other system file either.
It is the responsibility of the user to install the driver made available from Dell, HP, nVidia, ATI/AMD, Intel, SiS, and whatever. Though feel free to remind them to do so.
How do I tell what version of OpenGL I'm using?
Use the function glGetString, with
GL_VERSION passed as argument. This will return a null-terminated string. Be careful when copying this string into a fixed-length buffer, as it can be fairly long.
Alternatively, you can use
glGetIntegerv(GL_MAJOR_VERSION, *) and
glGetIntegerv(GL_MINOR_VERSION, *). These require GL 3.0 or greater.
In order to get the latest version that your GPU supports, make sure that you update your video drivers. GL support is included in your video card's drivers. Also, you might notice that your GL version is for example 2.1. How can you get the latest version? It depends on your GPU. It is possible that your GPU doesn't support anything higher therefore the manufacturer of you video card doesn't provide a higher version. In that case, you can either buy a new video card or try Mesa3D (which is a software renderer) http://www.mesa3d.org
Why is my GL version only 1.4 or lower?
There are three reasons you may get an unexpectedly low OpenGL version.
On Windows, you might get a low GL version if, during context creation, you use an unaccelerated pixel format. This means you get the default implementation of OpenGL which is version 1.1.
The solution to this is to be more careful in your pixel format selection. More information can be found at Platform_specifics:_Windows and other parts of the Wiki.
The other reason is that the makers of your video card (and therefore the makers of your video drivers) do not provide an up-to-date OpenGL implementation. There are a number of defunct graphics card vendors out there. However, of the non-defunct ones, this is most likely to happen with Intel's integrated GPUs.
Intel does not provide a proper, up-to-date OpenGL implementation for their integrated GPUs. There is nothing that can be done about this. NVIDIA and ATI provide good support for their integrated GPUs.
Another reason is that you haven't installed your video card drivers after installing your OS.
Be sure to query OpenGL with glGetString and make sure the returned values make sense.
Are glTranslate/glRotate/glScale hardware accelerated?
No, there are no known GPUs that execute this. These functions are deprecated in GL 3.0. You should have your own math library, build your own matrix, upload your matrix to the shader. There are some libraries which you can use for this.
Fixed function and modern GPUs
Modern GPUs no longer support fixed function. Everything is done with shaders. In order to preserve compatibility, the GL driver generates a shader that simulates the fixed function. It is recommended that all new modern programs use shaders. New users need not learn fixed function related operations of GL such as glLight, glMaterial, glTexEnv and many others. It is easy to recognize a legacy application, as there is the glBegin() function. An application implemented in legacy mode is usually not easy to translate to using shaders. The learning curve is easier for fixed functions, leading many beginners into a false start.
A simplified description is that using fixed functions you make one function call for each vertex, inside a glBegin() and glEnd(). Using shaders, you have to first define all vertex data in a local memory buffer, allocate a buffer on the GPU, and then transfer it. The shader will then use this to draw.
How to render in pixel space
Setup a certain projection matrix:
glOrtho(0.0, WindowWidth, 0.0, WindowHeight, -1.0, 1.0);
//Setup modelview to identity if you don't need GL to move around objects for you
Notice that y axis goes from bottom to top because of the glOrtho call. You can swap bottom and top parameters if you want y to go from top to bottom. make sure you render your polygons in the right order so that GL doesn't cull them or just call glDisable(GL_CULL_FACE).
Fullscreen quad
Users seem to ask often how to render a fullscreen quad. What should the projection matrix look like?
The projection matrix should be an identity matrix. In old GL, you can call glMatrixMode(GL_PROJECTION) and glLoadIdentity() and glMatrixMode(GL_MODELVIEW) and glLoadIdentity().
In shader based GL, the GLSL shader doesn't even need a matrix. You can just do this
#version 110 void main() { gl_Position = gl_Vertex; //Just output the incoming vertex }
The vertices for your quad (or 2 triangles) need to be {-1.0, -1.0, 0.0}, {1.0, -1.0, 0.0}, {1.0, 1.0, 0.0}, {-1.0, 1.0, 0.0}.
Multi indexed rendering
What this means is that each Vertex Attribute (position, normal, etc) has its own index array. OpenGL (and Direct3D, for that matter) do not support this.
It is up to you the user to adjust your data format so that there is only one index array, which samples from multiple attribute arrays. To do this, you will need to duplicate some attribute data so that all of the attribute lists are the same size.
Quite often, this question is asked by those wanting to use the OBJ file format:
v 1.52284 39.3701 1.01523 v 36.7365 17.6068 1.01523 v 12.4045 17.6068 -32.475 and so on ... n 0.137265 0.985501 -0.0997287 n 0.894427 0.447214 -8.16501e-08 n 0.276393 0.447214 -0.850651 and so on ... t 0.6 1 t 0.5 0.647584 t 0.7 0.647584 and so on ... f 102/102/102 84/84/84 158/158/158 f 158/158/158 84/84/84 83/83/83 f 158/158/158 83/83/83 159/159/159 and so on ...
The lines that start with an f are the faces. As you can see, each vertex has 3 indices, one for vertex, normal, texcoord. In the example above, luckily the index for each {vertex, normal, texcoord} is identical but you will also encounter cases where they are not. You would have to expand such cases. Example :
f 1/1/1 2/2/2 3/2/2 f 5/5/5 6/6/6 3/4/5
so the group 3/2/2 and 3/4/5 are considered a difference vertex entirely even though they both access vertex 3.
You will need to do post-processing on OBJ files before you can use them. This means that the vertex count, the normal count, the texcoord count and whatever other attributes you have have, the count must be the same for all. Example : If you have 10 vertices, then you must have 10 normals to go along with them. You can't have 10 vertices and 7 normals.
You have 3 options : either you allocate separate arrays for each of your attributes or you create a single array for your attributes and you interleave the vertex and normals and texcoords or you create a single array and you don't interleave (example : you put all your vertices at the start of the array, then all the normals, then all the texcoords, etc). There are other pages on this Wiki that explain all that in more detail.
See also
Drawing A Cube
This question comes up often since there seems to be a lot of users rendering a lot of cubes. Just like the above section explains, OpenGL supports one index for a Vertex Attribute (a vertex attribute is position, normal, texcoord, etc).
Since a cube's face is flat, a user would want flat shading on each face. This means having 1 normal per face. However, GL wants 1 normal per vertex. The best solution is as the above section explains, duplicate the vertex because once one of the attributes is different, it is considered a completely different vertex. Another alternative is to do the following :
//The following code is for GL 2.0
//Render face 1
glNormal3fv(mynormal1); //Set your face normal
glBindBuffer(GL_ARRAY_BUFFER, VertexVBOID);
glVertexPointer(3, GL_FLOAT, sizeof(MyVertex), BUFFER_OFFSET(0)); //The starting point of the VBO, for the vertices
glTexCoordPointer(2, GL_FLOAT, sizeof(MyVertex), BUFFER_OFFSET(12)); //The starting point of texcoords, 12 bytes away
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IndexVBOID); //Bind the IBO
glDrawElements(GL_QUADS, 4, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0));
//Render face 2
glNormal3fv(mynormal2); //Set your face normal
//We can just call glDrawElements since the rest of the setup is already done above
glDrawElements(GL_QUADS, 4, GL_UNSIGNED_SHORT, BUFFER_OFFSET(16));
//.... and render face 3 and 4 and 5 and 6
In the above code, the disadvantage becomes clear. We can only render 1 quad at a time. It requires 6 calls to glDrawElements just to render a single cube. Another problem is that you are using glNormal3fv which doesn't fetch its data from a VBO!
So what are the savings? For each face, you only needed memory space for 1 normal. Your savings are = 3 normals * 3 floats * 4 bytes_per_float * 6 faces = 216 bytes saved per cube.
glClear and glScissor
glScissor is one of the few functions that affects on how glClear operates. If you want to clear only a region of the back buffer, then call glScissor and also glEnable(GL_SCISSOR_TEST).
Alternatively, if you have used the scissor test and forgot to glDisable(GL_SCISSOR_TEST), then you might wonder why glClear isn't working the way you want to.
Pay attention to glColorMask, glStencilMask and glDepthMask. For example, if you disable depth writes by calling glDepthMask(FALSE), then all calls to glClear will not clear the depth buffer.
glGetError (or "How do I check for GL errors?)
OpenGL keeps a set of error flags, and each call to
glGetError() tests and clears one of those flags. When there are no more error flags set, then
glGetError() returns
This helper function can be used to query all previously fired OpenGL errors:
int CheckGLErrors()
int errCount = 0;
for(GLenum currError = glGetError(); currError != GL_NO_ERROR; currError = glGetError())
//Do something with `currError`.
return errCount;
This requires active polling for errors. Doing so can incur a performance penalty, so it is best to limit this to debug builds where possible.
The extension ARB_debug_output provides an alternative mechanism that can offer error handling without explicit polling. The overhead for this can be significant, and it is only available if the OpenGL context is created with the CONTEXT_DEBUG_BIT_ARB flag.
This became a core feature in OpenGL 4.3, with KHR_debug. This feature is always available, but non-debug contexts are not required to actually log message.
What 3D file format should I use?
Newcomers often wonder what 3D file format, for their indices and vertices and texcoords and texture name, to use for their project.
GL doesn't offer any 3D file format because GL is just a low level library. You would either have to use someone else's library or write your own code. You have to decide whether to use an already existing file format or create your own. Newcomers don't want to reinvent the wheel but the fact is, in the games industry, it is very common to reinvent the wheel when it comes to 3D files.
In case you want to use an already existing format, the obj format is very popular because it is in ASCII text. This format is very limited. It is very old.
The 3ds format is also popular. There is even a open source library called lib3ds. It is old and limited. There is no official documentation from the company that created it.
DirectX has the x file format. It supports simple meshes and keyframes and multiple vertex attributes.
Some people use md2 (from Quake 2). md3 from Quake 3. BSP. POD. RAW. LWO. Milkshape. ASE. Some of them belong to the inventor (company) and you are not suppose to use them.
There is COLLADA which uses a XML style and it has become popular for content creators. This format can be read and exported by several 3D editors (example : Blender).
There are many other formats not mentioned here. They are described at http://www.wotsit.org
Memory Usage
It seems to be common to think that there is a memory leak in the OpenGL driver. Some users write simple programs such as this
and they observe that their memory usage goes up each time their Display function is called. That is normal. The driver might allocate some memory space and since the driver is basically a black box, we don't know what it is doing. The driver might be doing some work at optimizing in a secondary thread or preparing some buffering area. We don't know what it is doing, but there is no memory leak.
Some users call glDeleteTextures or glDeleteLists or one of the other delete functions and they notice that memory usage doesn't go down. You can't do anything about it. The driver does its own memory management and it might choose not to deallocate for the time being. Therefore, this is not a memory leak either.
Who manages memory? How does OpenGL manage memory?
Graphics cards have limited memory, if you exceed it by allocating many buffer objects and textures and other GL resources, the driver can store some of it in system RAM. As you use those resources, the driver can swap in and out of VRAM resources as needed. Of course, this slows down rendering. The amount of RAM storage is also limited for the driver and it might return a GL_OUT_OF_MEMORY when you call glGetError(). It might even return a GL_OUT_OF_MEMORY if you have plenty of VRAM and RAM available and you try to allocate a really large buffer object that the driver doesn't like.
The purpose of this section is to answer those who want to know what happens when they allocate resources and the video card runs out of VRAM. This behavior is not documented in the GL specification because it doesn't concern itself with system resources and system design. System design can differ and GL tries to remain system neutral. Some systems don't have a video card. Some systems have an integrated CPU/GPU with shared RAM.
Display List or VA or VBO
Display lists and VA (vertex array) have been with GL since the beginning. VBO was introduced with GL 1.5. Newcomers would like to know which to use since GL is a complicated API with multiple ways to do the same thing.
Display lists are great for static data. The driver probably stores them in video memory and it certainly performs well. The driver optimizes whatever vertex/normal/texcoord format you throw at it. On the otherhand, VBO was introduced into GL 1.5 for a reason. Display list is marked as deprecated in the GL 3.0 specification. In the end, it is up to you if you want to use it in your modern program. Yes, you can store additional function calls in a display list such as glBindTexture but it is best to avoid this. The original intention of display lists was for it to be a macro. The driver just piles up commands in RAM. When you call glCallList, the driver just sends the block of commands.
Vertex arrays are stored in RAM. The driver will have to send it to video memory before processing them. The good news is that you can have a dynamic object in it. On the other hand, why would you use it if you have VBO?
Buffer objects were first introduced during the GL 1.4 era, via the GL_ARB_vertex_buffer_object extension. This extension allowed buffer objects to be used for vertex array and element array storage. It went into core in GL 1.5.
You can put vertex arrays in display lists.
glNewList(DisplayListID, GL_COMPILE);
glDrawRangeElements or glDrawElements;
This bakes the vertex array data directly into the display list. Once glEndList is executed, changing the data in your vertex arrays will not change anything that was built into the display list. So you can free up that memory for other uses.
You can put VBOs in a display list as well. However, once your display list is created, changing the VBOs content will not change the content of the display list.
Unresolved External Symbol
Some newcomers try to compile their GL program and get linker errors such as:
error LNK2001: unresolved external symbol _glBegin
and similar linker errors related to other GL functions and perhaps GLU functions and other functions from other libraries.
The example given above is specific to Microsoft Visual C++ but you can get linker errors from other linkers as well. In order for the linker to do its job, it needs to know which library file it should search.
For VC++ 2010, you could click on Project from the menu. Select Properties. From that properties dialog box, on the left side, drop the Configuration Properties. Drop Linker. Click on Input. On the right side, it says Additional Dependencies. Type the name of the library file followed by a colon. For OpenGL, it would be opengl32.lib. For GLU, it would be glu32.lib.
Alternatively, you can add these lines:
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
to your .cpp files, which will force the libraries to be included. These only work on compilers that support this use of #pragma.
Obviously, we can't list what you need to do for each IDE. You need to search the internet or your manuals. You need to know how to use your IDE and your particular programming language.
In the case of gcc, a user types this command on the CLI :
gcc -lGL -lglut myprogram.c -o myprogram
and CLI shows
/tmp/ccCQkTKm.o:myprogram.c:function display: error: undefined reference to 'gluLookAt'
That's because you are using GLU and you did not link again the GLU library. The command you should type is :
gcc -lGL -lGLU -lglut myprogram.c -o myprogram
Not Declared In This Scope
Some newcomers try to compile their GL program and get compile errors such as:
GL_TEXTURE_3D was not declared in this scope
This happens because the compiler has no idea what GL_TEXTURE_3D is since it was not declared anywhere.
You probably have not included glext.h (all OSes, required if you need >GL 1.1 functionality), wglext.h (Windows platform specific extensions), glxext.h (*nix platform specific extensions).
Instead of the above files, if you are using an extension loading library, make sure you download their latest version.
Why limit to 8 lights?
The OpenGL fixed-function pipeline has the concept of a maximum number of lights to render with. Shaders do not have any lights; you may use shaders to render any number of lights, but you must build this framework within the tools that shaders give you.
Within fixed-function OpenGL, it is often asked why GL supports a maximum of 8 lights. That is not true, GL doesn't impose a maximum of 8 lights. It imposes a minimum of 8 lights. Your driver/GPU combo is allowed to support more than 8 but most of them limit themselves to 8. The reason for that is that it doesn't become noticeable when there are more than 3 or 4 lights shining on the same surface. So in fact, 8 is an excessive number.
Example, if you have a city and you have street lights, you probably need more than 8 street lights. The solution is to subdivide your city streets in sections where only 3 lights effect each surface. It is up to you, the artist, to make it look good.
Example, if you are doing particle effects where each particle is a light source and you have perhaps 1000 particles, that is actually an insane number of lights for a real time renderer for old hardware (example : hardware that supports GL 1.5). You can get away with it with just 1 light for the entire group of particles.
If you do really want to have more than 8 lights, you can do it with a multipass approach. Render your object with 8 lights on. Then enable blending and enable additive blending (
glBlendFunc(GL_ONE, GL_ONE)) and then render your object again. You might want to set your depth test to GL_LEQUAL.
Now let's look at it in a different perspective. Did old game use lights? Actually they did not. Many old games used light maps for static surfaces. For a moving object, they computed the lighting themselves or it was precomputed (aka. light volume).
Can I precompile my shaders?
GL 4.1 adds the ability to compile the shader and you get to download the shader binary from the GL driver, however, these binaries are GPU and driver specific. There is no guarantee they will work on other GPUs. There is no guarantee that they will work once the user upgrades or downgrades the driver. The purpose of this feature is to compile once and store on the hard drive for future runs. They avoid the compile and link time in future runs of your application. Of course, once the drivers are changed, the shader binary upload will fail and your program must recompile all the shaders again.
If you ship your application with precompiled shaders, you have to include the source code format also. That way you can do the compilation the usual way if loading of the precompiled files fails.
Note that the extension to do this, ARB_get_program_binary, is widely available on pre-4.1 hardware. So you do not need 4.x-class hardware to use it.
Many Small 2D Textures
This technique is also called a texture atlas.
Some users ask about putting together many smaller 2D textures inside one big 2D texture (1024 x 1024 or something larger). This way, you can avoid a call to glBindTexture and perhaps gain some performance. Yes, you can do that but you also have to watch out for the texture coordinates on your models. You also have to watch out for texture filtering because a linear filter can cause texel bleed (neighboring sub-texture gets sampled).
Another solution is to put those small textures in one 3D texture (GL_TEXTURE_3D which is part of GL 1.3 and above) as long as all the 2D textures are the same size. The problem of texture filtering still is present in this case in case you use linear filtering. There is no problem in the S and T direction but the problem is present between the texture layers.
Another solution is to make use of 2D texture array (GL_TEXTURE_2D_ARRAY which is part of GL 3.0 and above). This solves the problem that is present in the case of using a 3D texture as described above, however, the texture sizes must all be the same.
Font Rendering and Text Rendering
GL doesn't render text because GL is a low level library. It handles the basics such as rendering points, lines and triangles and whatever technique that might get introduced in the future. For rendering text, you either need a 3rd party library or do it yourself.
One of the simplest methods is to create a texture with all the characters on it. Then, render many quads on your screen and texture map the characters.
You could also have a texture with full sentences. Then, render a quad and texture it.
You could also use the features of your OS and get access to the fonts and make texture out of it. Then, texture map some quads.
Windows offers certain functions for text rendering but these are old and should probably not be used these days. See wglUseFontBitmaps and wglUseFontOutlines.
The old FAQ explains the above well. It also has links to 3rd party libraries. http://www.opengl.org/archives/resources/faq/technical/#indx0170
Some users still use GLU. GLU is an old library and it is recommended to write your own code or use a 3rd party library. A list of 3rd party libraries can be found here Related_toolkits_and_APIs.
If you still plan on using GLU, you should know that Windows provides glu32.dll. It provides GLU version 1.2. Your compiler should come with glu32.lib or glu32.a.
You should also know that the latest version of GLU is 1.3. You can download the entire package that Mesa3D provides (http://www.mesa3d.org). Inside, you will find the source code for GLU 1.3 and you must compile it yourself. Remember that you must not replace Microsoft's glu32.dll. It is considered a system file and you must never overwrite system files.


text:
Ashley Shaffer has not received any gifts yet
Hi and welcome on board from The Girlz Korner in upstate New York. We're a one stop visit to light, witty and rather entertaining articles on health, beauty, fashion, parenting, relationships, awesome recipes and so much more. So if you get a chance to kick back, if only for a brief moment ... come on over ~ kick off your shoes and stay for a while. http://cynthiahelwig.blogspot.com
Welcome to Mom Blogger's Club! I hope you enjoy your time here and find it helpful! I know it can be overwhelming at first but I promise, you'll be a pro on here in no time! I write a blog called The Adventures of J-Man and MillerBug. It's a blog about my life with my two boys and I do some pretty cool giveaways (OK, I think they're cool! Do you?)
Every weekend I host the Finding New Friends Weekend Blog Hop. It's a great way to find new followers and friends as well as get to know more of your fellow mom bloggers. If you're not familiar with a blog hop, all you have to do is add your blog to the list. Participants then "hop" from blog to blog to find great new blogs! It's a ton of fun! I'd love to have you join us. It's going on now so come on over and link up! You can find it here:http://www.jmanandmillerbug.com/2011/12/finding-new-friends-weekend-blog-hop_15.html#more. Be sure to leave a messge if you join up so that I can follow you back!
Let me know if you have any questions or if I can help you with anything in your blogging journey! I look forward to being your friend!
Welcome to MBC! We are glad to have you here. We look forward connecting more with you. I'm a super mama who has a family friendly blog. I also have a weekday blog hop called Exposure 99%. Is a great way for you to increase your blog readers and followers, and at same time make new bloggy friends. Hope you join us and i look forward connecting more with you here. And i assure you, there are lots of positive minded moms here. Have a great day.
Hello, welcome to Mom Bloggers. This is a wonderful community where you can meet other interesting moms.
I am Nekky from Reflexions, a fun loving mom of two who like to meet people, make friends and share opinions. I have some weekly blog hops: GET CONNECTED TUESDAY BLOG HOP and WELCOME TO WEEKEND BLOG HOP. Always feel free to link up every week as this will enable you gain some new followers and make new blogger friends.
Hope you enjoy your stay here. Happy Connections.


text:
RENO, Nev. — A Reno man who skipped out on a $100 bill at a brewpub and then was publicly pilloried on Facebook was taken into custody on Thursday.
Saul Zelaznog was booked into the Washoe County Detention Center in northern Nevada on a probation violation, although officials at the jail couldn't provide specifics Friday on the circumstances of his arrest.
Zelaznog became an object of social media scorn after workers at the Brewer's Cabinet posted his picture on Facebook Tuesday, warning other restaurants to watch out for him and linking to his profile so others could "let him know he sucks."
"And, while you're at it, you could tell him that visiting restaurants with your friends, running up a huge bill, roughing up servers and then bailing is pretty uncool ... pathetic, really," the post reads. "Get a life, man."
The post had more than 800 shares on Facebook by Friday, with users helping identify him and voicing enthusiastic support for the business.
Chris Kahl, a co-owner of the Brewer's Cabinet in Reno, said he reported the incident to police after it happened on Tuesday.
"All his friends paid and left, and he was the last one," Kahl told the Reno Gazette-Journal. "The server needed to collect his money. He said he forgot his wallet."
Other restaurants and bars in the area — including Imperial, Campo and Chapel Tavern — told KRNV-TV they believe they've also been his victims.
When contacted by the newspaper, Zelaznog — who also goes by the name Saul Gonzalez, according to public records — said he had forgotten a method of payment when he visited Tuesday, but planned to return to pay the tab.
He said he was involved in a similar situation at another Reno-area restaurant, where he said he left a "nice watch" as collateral.
"I'm not trying to burn bridges around town," he told the paper. "This is a small little town."
Late Thursday, the brewpub posted on its Facebook to announce Zelaznog was nabbed on the probation violation and to thank users for their support.
"We hope that all of his outstanding debts are paid in time," the post reads, "but more importantly, that he makes wiser decisions in the future."


text:
"At first glance, the intervention in Libya looks like a textbook case of how the new U.N. doctrine of the Responsibility to Protect (R2P) was supposed to work," writes David Rieff in a New York Times op-ed titled R2P, R.I.P. In fact
The White House, 10 Downing Street, and, above all, the Elysée Palace, are now patting themselves on the collective back. But a far more qualified reaction may be in order. [R2P is] about protecting civilians, and emphatically not about regime change. The Security Council resolutions that authorized an R2P-based intervention to protect Benghazi did not authorize outside powers to provide air support for the subsequent rebellion against Qaddafi. … for all intents and purposes, R2P was NATO-ized. As a result, everywhere outside Western Europe and North America, R2P is losing what little ethical credibility it ever commanded.
"A doctrine of intervention," Rieff concludes, that "claims the moral high ground … but under which the interveners are always from the Global North and the intervened upon always from the Global South is not moral progress; it is geopolitical business as usual."
Looks like before it can be used to protect populations from mass atrocity crimes — defined as genocide, war crimes, ethnic cleansing and crimes against humanity — R2P needs to be protected from Western powers that would use it to their own ends.