text:
With its dramatic salt pans, diamond rich deserts and vast open savannas teeming with wildlife, Botswana could very well be the Africa you've always dreamed about.
Located in Southern Africa, Botswana is one of Africa's great game destinations. With about 40% of its land designated as protected parks and reserves, travelling in Botswana will have you feeling like you're in a natural paradise. Botswana's emphasis on low-impact luxury tourism also ensures that even the most famous game-viewing areas are isolated and private.
Lightfoot Travel focuses on Botswana's most beautiful regions that have the highest concentrations of wildlife, and the most exclusive luxury tented camps and lodges – the Okavango Delta, and the Kalahari Game Reserve, the Linyanti Wildlife Reserve.
Be enthralled by the unique sights and sounds of the Okavango Delta, the biggest inland delta in the world. Travel silently through the waterways in a traditional mokoro (traditional dug out canoes) with a guide, or discover the beauty and richness of the area on horseback or even elephant back. If you're going for the game viewing, most animals meet up around the waterholes from May to October. Birds and vegetation thrive in the area's rainy season from November to April, with birds returning from their migration and plants burst with rich colour.
The Kalahari Desert is a huge semi-arid sandy savannah in Southern Africa, covering much of Botswana and parts of Namibia, and is way up there on our Africa 'to do list'. It has some of the best safaris in all of Africa, and is a great holiday destination for families, couples and groups of friends. Bond with meerkats before they go foraging for the day, track the desert black rhino, and witness the sheer size and power of the Kalahari black-maned lion.
Selinda is a private concession found in the northern part of Botswana linking with Linyanti and the Okavango Delta, and is renowned as one of the best game viewing areas in the region. The best time of year to see predators in action, view enormous herds of elephants and the very rich birdlife is from May to October. Hopefully during your safari you will witness rare animals like red lechwe and sitatunga. It is also a birdwatcher's paridise and those who know their birds can look out for the rare narina trogan.
Whether you're in search of the best wildlife safaris or looking to go on the honeymoon of a lifetime, our experts are on hand with personalized advice to help you design your own tailor-made itinerary to Botswana.
Botswana Travel Designer
Nico Heath
Country Info
- Capital: Gaborone
- Main Language: English
- Population: 2.03m (2011)
- Time Zone: GMT +2
- Currency: Botswana Pula (BWP)
- Best time to go: Climate varies wildly around the country and best time to go depends on type of wildlife you wish to see.


text:
DEADLY WARNING! The Radiation release is over 14,400 TIMES GREATER THAN WAS BELIEVED, hence all values reported below are significantly underestimated.
DEADLY WARNING! Nearly ELEVEN THOUSAND Becquerels per Cubic Meter of Radioactive Pu239 + Am241 Air Released In New Mexico
People on site in New Mexico were inhaling AT LEAST 1 TRILLION Plutonium atoms every 3.6 hours, based on a measurement taken 1/2 Mile away. The source was likely an underground radioactive explosion at DOE's WIPP site cause by Radiation induced off gassing of Hydrogen, Methane, and VOC's produced by highly radioactive wastes mixed in with hazardous wastes. Complete write and details at our previous blog post.

subset: commoncrawl


text:
happy 2 months 'till christmas everyone!
i've been counting down since about...6 months & boy does time FLY BY!
i can't wait until we get into november & i start decorating my place so cute and christmasy.
i promise to take lots of photo's of the cuteness
i had a really good weekend :)
it consisted of ;
+ mikie's birthday party on saturday night, lots of flip cup
+ going to buddies (gay bar) and having so many dance battles!
+ keeping pete up until 4am on saturday night with my insane amount of energy
& sunday...
it was a lazy sunday, but somehow extremely productive
pete is such a good handyman! honesty, it's so impressive. together we did so much to my apartment and i am sooooo happy about it!
+ new mini coat hook in kitchen
+ hung adorable ikea lamp from ceiling
+ hung my crosby olympic gold medal game photo
+ hung a bunch of picture frames!
+ hung 2 shelves that look so cuuuuute
+ went to next door to this adorable store and got 2 vintage posters for my place, one is san fransico and one is new york! i will post pictures soon!:)
+ had a little tea party
+ made dinner for us, and fab
+ watched SCREAM!
&&&& now i have lots to do today
+ go freshen up my colour at work
+ go to the halloween stuff to get my wig!
+ go to dufferin mall (walmart & dollarama!)
+ laundry & gossip girl night with sarah


text:
Jeb Burton will start the North Carolina Education Lottery 200 at Charlotte Motor Speedway from the pole.Burton's speed of 181.372 beat out Ty Dillon for the top spot in Friday night's race.
Kyle Busch who qualified fourth will have to go to the back of the field due to an engine swap at the end of practice.
Charlotte is a 1.5 mile quad oval with 24 degree banking in the corners and serves as the fifth race of the NASCAR Camping World Truck Series season.
The race can be seen on SPEED with coverage beginning at 8:00 pm ET.
1. Jeb Burton2. Ty Dillon
3. Timothy Peters
4. Kyle Busch
5. Miguel Paludo
6. Justin Lofton
7. Ross Chastain
8. Dakoda Armstrong
9. Ryan Blaney
10. German Quiroga
11. Tim George Jr.
12. James Buescher
13. Darrell Wallace Jr.
14. Matt Crafton
15. Brennan Newberry
16. Johnny Sauter
17. Joey Coulter
18. John Wes Townley
19. Brad Keselowski
20. Ryan Sieg
21. Max Gresham
22. Ron Hornaday Jr.
23. Brendan Gaughan
24. Scott Riggs
25. Jake Crum
26. Tyler Young
27. Caleb Holman
28. Jeff Agnew
29. Chris Jones
30. David Starr
31. Bryan Silas
32. Todd Bodine
33. Chris Cockrum
34. Danny Efland
35. Blake Koch
36. Mike Harmon
Two drivers failed to qualify for the event, Norm Benning and Jennifer Jo Cobb. Cobb did not run a lap but made headlines earlier in the week when her trailer was stolen.


text:
Up for grabs this month is a fun mini embellishment kit, perfect for you to use on your Valentine's Day layouts or cards!!!
Hi! I've uploaded my project but it's not showing, so thought I'd been a bit silly and not done it correctly, so tried again, but it's saying that link already exists. Is there a prob with the link up pls? Thanks!ReplyDelete
So sorry you are having issues with the link up, I checked on our end and I don't see it. I am wondering if it was a problem with the inlinkz site. Please try again and if you can't get it to work email me a link at email@example.com and I will see if I can figure it out from there! Thanks for playing along with us!Delete
I can't see my link 4 my LO sketch... i added here the link
I can't see my link 4 my LO sketch... i added here the link


text:
South Indian Film Director Suraj lands in trouble for making indecent comments on south Indian Heroines. Suraj who recently directed Tamil flick with hero Vishals "Kaththi Sandai" .On Location of shooting spot he said that heroines are now a days paid crores of rupees to show their skin show. Suraj reportedly says to have made this indicent comments referring Tamannah who she playing a female heroine role in the kaththi sandai movie
The director also feels that the low class Audience come to movie theatres to enjoy the skin show of the Actresses and not for the movie story line and therefore he would insist his Actresses to wear Glamourous Dresses "If the heroines costume designer comes to me with the heroine's dresses covering up to the ankle knee, he would strictly order them to shorten the costumes length. He don't mind even if heroine is not happy or comfortable with dresses, but Suraj insist and get it done. This is because cinema audiences pay money to see the heroines in such dresses" said the director
Director Suraj also stated that "Let heroines and actresses show their acting skills in television serials. When it comes to commercial movie, they are paid only to provide the required sizzle to the money-paying audiences".
Tamannah Reacted strongly to Director`s Suraj's comments and She released a press statement. In that statement she says that she was hurted so much and angered by the comments made by Suraj and I would definitely want directo to apologize, not only to me, but to all women heroines in the film industry. She says We are heroines, we are here to Act and Entertain the movie audience.I have been working in the South film industry for past 11 years and have worn dresses which I have been more comfortable with.
Another Top Heroine Nayanthara came in support of Tamannah `s statement and blasted Suraj indicent comments. Nayan says that "How can a responsible person in the film industry make such cheap and indicent comments on heroines.Who is Suraj to say such derogative comments on Actresses ?


text:
(You can read about part 1 and part 2 if you missed them)
After the Seuss Sculptures, we headed to Stockbridge and the Norman Rockwell museum. I loved it! He is one of my all time favorite artists/illustrators.
|Loved all the Saturday Evening Post Illustrations...this one is too cute!
|Bruce, me, Susan, and Kevin resting after touring the museum
|Love the windows and all the light
Stockbridge is also picturesque and quite quaint.
|Paul and Bruce showing off the oysters
|uh, Bruce...I thought you were helping me paddle?
|Gosling and Mama
|Cute windmill
|Oh my! The roses!
|The window boxes!
As we were taking pictures of front yards, a man came out and invited us to see the rest of his garden in back. What a treat! They were beautiful - love the day lilies!
|I admit I was crushing on his dragon weather vane!
|bathing dragon
|ceramic cat on his roof
|Three Sisters
|Anybody home?
|oh the stairs wound round and round
|They got scarier
|Finally at the top and this quote was there
|This was fascinating about the cliff eroding and them moving the light house.
And per Bruce's suggestion - we decided to do a chowder crawl. Basically, we looked up places along the way to Provincetown and tried the chowder. They were all different; some good, some so-so, and only one we all didn't like. (Needless to say, I don't want clam chowder for awhile. Ha.)
|Pilgrim Monument
|view from the top
|It's a little windy up there
|lots of steps
|we made it to the top and back!
|Took a Funny Group Photo
(Oh no! Mira is caught in the shark's mouth!)
|Me and my friend Bubbles
|me and Mira...we're cold!
|Bruce was a lot tougher than me!
|Love these people!


text:
So much has happened this month!! I had an amazing time at home, got 2 new awesome roomies who I've had some great adventures with, and started PA school. Ack!! Needless to say, blogging didn't really happen so much this month.
I was home for 2 weeks for the first time since Christmas and that was just wonderful. How can it not be when you come home to this?
Mmmmmm! Red Cat, good New York style pizza, and wings. What more could a girl ask for? I had a fantastic time with friends and family alike. I came back much recharged and looking forward to seeing them all again : ).
Lots of good times with the new roomies as well. Perused the Old Market hitting up Upstream, Ted and Wally's, and the pedestrian bridge as well as Barrett's, Greek Festival, Urban Wine, and Zio's. Not all in one night of course! It's been so nice to connect with other girls my own age. I have missed that a lot since undergrad.
Speaking of school, I've just started my second full week of PA school. It's going to be interesting folks!! I sense much less time for blogging in the future. A whole different type of academic atmosphere to adjust to and a whirlwind of a program will make life interesting over the next 2 years. I'm sure there will be more to come on that as it happens.
Well this certainly is a short update. My apologies! I have to get back to class!! However, there will be an update on my 101 in 1001 posted later tonight some time if you are interested. If you have no idea what that means, drop by my post here: https://kfredsmusings.wordpress.com/2009/06/30/101-in-1001/🙂


text:
By reorganizing your furniture every couple of months, you'll open brand-new strolling spaces that will certainly aid to uniformly disperse the wear and tear on your rug. When this alcoholic drink of allergens comes to be air-borne is when you will begin to endure. This system consists of spraying the carpet cleaning ormeau service onto the rug, dealing with spots as well as stains then rinsing with warm water that is quickly sucked up by a powerful vacuum system right into a holding container. When moving your furniture, always get help to lift heavier items. By not dragging the items to their new settings, you will avoid getting and also drawing of the carpet fibres.
Many people have the misunderstanding that a protectant will maintain their carpet clean for years with no upkeep which spills will certainly not penetrate the pile. Guards will certainly enhance the life and also look of your rug, yet in time they will wear off, specifically in website traffic areas.
Selecting the best carpeting cleansing method for your carpeting type is extremely important. Your rug cleaning technician will certainly should reapply new protection after each professional clean. Regular vacuuming is also had to stop the friction of dirt from wearing off at the protector on the carpet fibers. Lower the effect of sun damage by setting up and also using blinds, curtains or awnings. If they do not have one, take into consideration traveling to a close-by city that does.
If he chooses great tools after that possibilities are you will receive top quality handiwork. Any kind of spills will certainly still have to be wiped up quickly, as they will ultimately seep into the fibres. The biggest carpet producer in the world– Shaw Industries, recommends ". For the cleansing remedy you can use any of the numerous commercial items readily available but a basic mix of water as well as vinegar works equally as well.
Using these easy carpet cleaning ideas you could make rug cleansing and maintenance a wind. If you have youngsters in your home, it's only an issue of time prior to sweet ends up in the carpeting. Having the sun put into your house is charming– particularly in winter months.
And also although the sunlight will certainly eliminate bacteria as well as germs, it will also damage your rug. You could have heard that soda water works against beer as well as wine stains. To keep high website traffic areas like hallways looking excellent, a floor covering or runner is optimal. Simply be sure to investigate your decision prior to you delve into anything.


text:
Digital leather shawn foree ben vanhoolandt
Digital Leather used to just be singer/songwriter Shawn Foree.
Since the project's self-titled debut, released in 2003 on Arizona punk label King of Monsters, Foree has played every part heard on every Digital Leather record despite surrounding himself with various musicians on stage.
But that began to change seven years ago when Foree moved to Omaha from Tucson, Arizona, a town he calls "a fucking shithole" where "there is no music scene; there is nothing." He says he came to Omaha to escape a "horrible girlfriend," the one who presumably inspired the writing of misunderstood gay-love song "Studs in Love."
After arriving in River City, Foree quickly became a fixture at local watering hole/music venue O'Leaver's, where he met Johnny Vredenburg, then a member of gritty garage punk band The Shanks.
"I was a huge fan of the 2005 (Digital Leather) release Monologue," Vredenburg said, recounting his history with the band. "I couldn't believe my band was going to play with f**king Digital Leather. Shawn and I hit it off right away because The Shanks was this nasty, gritty f***ing band out of their minds about sex, drugs and rock 'n' roll."
Vredenberg said all this while sitting in the covered patio at The Nifty, the kind of place where the bartender gives strangers "what-the-f***-do-you-want?" looks when they walk up to the bar to place an order. He was joined by synth player Ben VanHoolandt and Foree, all smoking cigarettes and sipping on Busch Lite while Warren Zevon sang about werewolves from speakers hidden overhead.
Foree is considered a quiet man by those who don't know him. Some think he's stand-offish, but he's actually an introvert who doesn't like to mince words with strangers.
Vredenburg is the opposite side of the coin — kinetic bordering on spastic, bouncing from one subject to the next while Foree quietly answered questions in few words, preferring to let the rest of the band continue the story.
Shortly after playing a few shows with The Shanks, Foree asked Vredenburg to join Digital Leather... on drums. "Not a good idea," Vredenburg said, instead suggesting he play bass and that Jeff Lambelet handle drums. It was a wise decision. Just last month Foree told College Music Journal the rhythm section of Vredenburg and Lambelet "drives Digital Leather harder than any current band I can think of." And he was right.
For the next few years the band was a guitar-bass-drums trio with an occasional keyboard player, despite Digital Leather's rep as a synth band. Ironically, Digital Leather's 2009 Fat Possum label debut, Warm Brother, introduced an even bigger audience to DL's synth rock sound. But despite that record's overflow of great songs (music website Pitchfork gave the album an impressive 7.3 on a 10-scale), Digital Leather rarely played any of it live.
"It was all made up in the studio," Foree said of the album.
"We tried as hard as we could to translate it live on those initial tours," Vredenburg said. But it didn't work. The band continued as a guitar-based trio despite Foree recording more synth-heavy albums like 2011's Infinite Sun (Volar) and 2012's Modern Problems (FDH). Those records caught the attention of The Faint's Todd Fink, who made it known that he wanted to play keyboards in Digital Leather.
"I didn't know Todd at all at the time," Foree said. "Then after we got one keyboard player, we decided we needed a second keyboard player, which was Ben (VanHoolandt)."
With the new line-up in place, the band began working on All Faded, the first full-band Digital Leather album, slated for a June 23 release on FDH Records. The 11-song collection is the most realized, best sounding Digital Leather album since Warm Brother.
As with past recordings, All Faded relies on old-school synth sounds that recall acts like Gary Numan, Devo and, maybe most surprisingly, The Cars.
"I'll take that all day," Foree said of the Cars reference. "There's nothing (on the album) near the kind of musical acumen of the Cars, but the Cars are definitely there."
Ask Foree which bands belong on a Digital Leather Pandora channel and he'll mention underground acts like Grave Babies, The Spits, Black Bug and his pals in The Hussy. But don't mention Joy Division.
"There's a Joy Division connection with us that I f***ing hate," he said, adding that people often make the connection because both bands feature synths. "They're not one of our influences."
Instead, Foree points to Kraftwerk, and of course, Devo. "I love every Devo album, even the new record," he said.
Another influence is Jay Reatard, the Memphis rocker who made a name for himself as a member of The Reatards and Lost Sounds before forging a solo career that would end with his drug-related death in 2010. Reatard not only was Foree's friend, he helped manage his career. It was Reatard who connected Foree to FDH and Fat Possum Records.
Foree still harbors anger at Matador Records, the massive indie label that signed Reatard prior to his death. "I thought they took this incredible, volatile guy that they thought they could sell and gave him a bunch of money," Foree said. But when the music didn't sell as well as they expected. Reatard blamed himself. "It sent him into a tornado of drug abuse, and he was never a heavy drug user."
Perhaps Reatard's most lasting influence on Foree was his ceaseless work ethic.
"When he was alive, he motivated me," Foree said. "We would put out records against each other. 'Oh, I can do this.' 'No, I can do this.' Who could be the biggest rock star or at least who could write the better song to impress the other guys? Then Jay did Blood Visions (In the Red, 2006), which took off and he had to go his own way."
Foree is one of the most prolific songwriters and musicians in Omaha, releasing an album a year peppered with singles, split EPs and outside projects. Last year's split LP with The Hussy, released on Southpaw Records, was a surprise even to his own band members who didn't know until after the release date was announced that Foree had been working on the record in his bedroom.
All Faded is a departure from Foree's usual fast-paced recording process. The album was recorded at The Faint's midtown studio from the fall of 2013 through 2014 — a monolithically long time for a Digital Leather record. Foree pointed to Fink's meticulousness as one of the reasons it took so long.
"We put a lot of time into it," Foree said. "This is the way I prefer to do Digital Leather records from now on. It just takes a lot of f***ing work."
"It was really neat to watch those two work together," VanHoolandt said, "because Todd's a huge perfectionist and Shawn isn't, which is probably why he gets so much stuff done."
"I don't care about perfection at all," Foree said. "If I didn't put my foot down on this record, we would still be working on it because Todd likes to get in there and sit behind a computer and do things I would never think of doing. At some point, you just have to say, 'That's enough.' Like Leonardo said, 'A work of art is done when you give up on it.' You've got to say 'F**k it' and walk away."
The final product, Foree said, is "Loud as shit. It's definitely not garage rock. It's not even rock. We can write a pop song and play it in a way no one else can. There will be no record that comes out that sounds like this one."
Now all he has to do is get people to listen to it. His record label has hired a publicist, though Foree is skeptical All Faded will get that coveted review in Pitchfork -- something he badly wants.
"I don't know why I'm obsessed with Pitchfork," he said. "If I could get a hold of them I'd go to their houses and strangle them and make them write it. It's very frustrating."
The one thing he can control is touring. Foree doesn't like to use that word "tour" to describe two-week jaunts like the one scheduled for early June that takes Digital Leather into the South, up the East Coast to Virginia and New York City before returning to the Midwest (including a June 27 show at O'Leaver's with The Hussy that's being billed as a "Free Hot Dog BBQ").
After those dates, Digital Leather is scheduled to play a few shows with local punk band Desaparecidos in July. Foree said Todd Fink won't be along for the road shows because he's training a new keyboard player for The Faint. Taking his place is Greg Elsasser (Capgun Coup), leaving one to wonder if there will be any other personnel changes, and if the Tucson transplant will stay put.
"Me and Johnny have stuck together for a long time," Foree said, "and Ben is never going away. Digital Leather is a band from Omaha, more than it's ever been a band from Arizona. I'm not going anywhere."
"I cannot imagine playing this music with any other group of dudes," Vredenburg added. "This band is a f**king home."


text:
.HOMES Domain Names
.HOMES domain names at Gandi.netAccreditation: Gandi has been accredited for .HOMES since March, 2016.
Price: see the .HOMES domain names price list
Corresponding Gandi contract:https://www.gandi.net/contracts
Terms and ConditionsAssigning: .HOMES domain names are only available to individual or a legal entity with a bona-fide nexus to the .HOMES sector as specified in the registration policy
The domain name must reflect your name, acronym, trademark, or derivative thereof.
Syntax: from 3 to 63 alphanumeric characters or a hyphen (excluding in the first and last place and third and fourth place)
IDN (accented domain names): no
Registration period: 1 year during Sunrise, 1 to 10 years during general availability
Second-level extensions: no
ProceduresRegistration: Once your order made on our interface, you will receive an e-mail with log in information allowing you to connect on the verification interface set up by the Registry in order to provide with evidence of your eligibility. These information have to be provided within 10 days following your registration order. The registration of your domain name will be effective only after validation by the Registry.
In any case, if the domain name is not allocated to you by the Registry after the verification process, you will not be entitled to any refund.
Renewal: domains are deactivated upon expiration. It is possible to renew up to 45 days following the expiration date
Disputes:URS, UDRP and REDRP
Transfer (change of Registrar): the process is started on the new registrar's interface with an auth code. Ensure that your domain does not have a TransferProhibited status, will not expire in less than 90 days, is older than 60 days and was not transferred the past 60 days. The successful transfer depends on your validation (by e-mail), and will renew the domain for 1 year.
Change of Ownership: available online via our website. The expiration date remains unchanged
Deletion process: quarantine of 30 days, see this table
|Registration period
|10 years max.
|Register a .homes
|Renewal period
|9 years max.
|Renew a .homes
|Late renewal period
(domain suspended)
|45 days
|Restoration period
|30 days
|Restore a .homes
|Period before release
(Pending Delete)
|5 days
|Minimum period before a transfer
|60 days
|Transfer a .homes
Prices include Gandi's full range of services.
If you manage a larger portfolio of domain names, B to E rates are available with a discount of up to 50%.
|Registration price/year
|1 year
|Registration price/year
|2 to 10 years
|Renew price/year
|1 to 9 years
|Owner change
|Restore (more info)
|1 year


text:
♪Sakura~ Sakura~
There are many songs about it.Recently the weather is getting warm and cherry flowers start blooming.
Last year,I went to Ueno park,and it's famous for hanami,with my friends at night.
There were no illuminated and only few people and stalls because we had to save electricity for the earthquake.
But this year,there are many people in the park,and I heard about that on TV.
I'm excited to go there next week><I'll take photos!
I prefer to have hanami with friends though,we also have it with colleague.
Japanese people go out to drink after work very often.
Hanami is just change of place.haha
April is special for Japanese because our school and company start every April.
Entrance ceremony is held in this season.
I feel "new" something every year.I wanted new notebook,new pen case and new friend as a teenager:)
-_-....Back to hanami.
Fresh employers(men) have a first job.
It's to keep place for hanami.They go to a park early and spread out large sheet at a place to be able to see cherry trees very well.
Some of them stay all night before the hanami!
They wrapped up in a blanket with freezing body and waited for hanami's time coming.It's silly but funny,and I can see them on news.
I hope they can drink hot sake right now which is strong alcohol.I've had bad memory because I couldn't walk by myself,and it is easy to get drunk,so fresh men will be able to forget their first hard job!
Any way I will have hanami on Sunday:)
I wish it will be warm ,and cherry will be in full bloom!
I took them last year near my apartment.
This year,I will show you more crowded hanami photos next week:))))
See you^^


text:
March 27, 2014 — Nickel City Animal Hospital (NCAH) joins VetCor as our 14th hospital in New York and our 111th partner practice overall. Founded in 2012 by Dr. Heather Sacks Allen, Nickel City Animal Hospital established itself as a successful and progressive hospital in an eclectic, downtown neighborhood of Buffalo in a very short period of time. The rapid growth can only be attributed to the committed and passionate culture created by Dr. Sacks Allen and the entire team at NCAH.
Advanced diagnostics and progressive medicine combined with integrated therapies and a warm, family atmosphere is what makes Nickel City Animal Hospital stand out. It is apparent from the dedicated support staff that client service is a top priority. The entire practice is committed to providing excellent veterinary care by integrating Eastern and Western medicine for a complete and well-rounded approach.
Please join us in welcoming Chief of Staff, Dr. Sacks Allen; Associates, Drs. Hurley, Pletscher, and Poltis; Team Leads, Jeff Mathews and Nicole Argue; and the entire team at Nickel City Animal Hospital to the VetCor family!


text:
The Industrial Monitoring System (called later on PSM) conducts supervision over the temperatures and pressures of the technological processes, as well as the climate parameters (air temperature and humidity in the production rooms) and other measurements (according to the requirements) and notifies a user about any inconsistencies. It is done independently from a user's place of stay – through an sms or e-mail. The system allows also on storing the information about the sensors' status and measurement in data files for later readout and processing. The system consists of the following component elements:
The meters offered for the system, the displaying panels and regulators are made in a form of standard modules in casings designed for assembly on a bus rail TS35, what allows on easy configuration of the adequate set of devices in a form of a synoptic table built in standard hermetic cassettes designed for electric installations. The logic scheme of such installations was introduced in detail in a pamphlet called "The monitoring systems based on a concentrator LB-731".
PSM software uses an internet browser as a graphic interface for a system allowing on notifying the chosen persons about the changes in the parameters that violate previously set thresholds. Because of that a user can be informed about exceeding i.e. permitted temperature in one of the monitored warehouses. It defines for this purpose the adequate conditions (scope of sensor temperatures, which exceeding would result in sending a communicate), specifies a type of reaction (i.e. a SMS to a set cellular telephone number) and defines in what intervals the system is supposed to work, checking the parameters. If there is a breach of conditions then a SMS communicate will be sent with a specified message to a provided cellular number. Additionally, a user can define a mail box and an e-mail as means of contact and receive those lists also from a telephone.
A user can upon a request, receive the communicates about proper system work. The practice has shown that such function is very valuable, especially when room air conditioning works correctly. The communicates "self test" provide certainty of proper PSM system work.
If a user has a remote access to a company network through i.e. a public network (it depends on specific installations, authorizations etc.) one can remotely change the system settings and supervise the parameter status using an internet browser.
In PSM system the newest technology has been applied, to assure security and adequate product storage conditions, adequate to the requirements of valid regulations and ISO standards, HACCP and other rules. The system responds immediately to each irregularly – notifies the persons responsible in every place and of any time (as long as they have their cellular phone with them). It is necessary in modern companies that want to meet the European standards.
In order to start working with PSM – one must pass the authorization procedures in the system by providing one's login and a password.
To each one of the sensors a logic condition is set by a user (one out of three: larger, smaller or equal) in connection with a specified value, to which a reaction is supposed to take place. Additionally, the complex conditions are available, allowing joining in one rule few conditions and defining for them a common reaction.Three basic reactions are available for fulfilling the alarm conditions:
At a side of a client a browser Internet Explorer version 5.0,
Mozilla albo Netscape w wersji 4.7 is recommended or newer ones with a
monitor of least 800x600 resolution.
At a side or a server a PC computer Celeron 350MHz is enough (with a memory RAM 128MB, HDD 8GB and a multi port card RS-232). For each COM computer ports the concentrators are attached LB-731 and LB-473 that cooperate with the meters.The server uses software that works in a system LINUX Redhat 8.
In order to become familiar with the work of an example PSM system one should choose the following address: http://www.meteo.waw.pl/psmk/ in one's internet browser. Access to a DEMO version of the PSM system starts in this way.


text:
- Introduction
- Use of cat
- Use of nl
- Use of wc
- Using grep
- Streams, pipes, redirects, tee, here docs
- Using head and tail
- Using tr
- Use of colrm
- Use of expand and unexpand
- Use of comm, cmp, and diff
- Using fold
- Using paste
- Using bc
- Using split
- Using cut
- Using uniq
- Using sort
- Using join
- Using sed
- Using awk
- Shell-based string operations
- Summary
- Downloadable resources
- Related topics
- Comments
Introduction to text manipulation on UNIX-based systems
Using standard utilities
A basic tenets of UNIX philosophy is to create programs (or processes) that do one thing, and do that one thing well. It is a philosophy demanding careful thought about interfaces and ways of joining these smaller (hopefully more simple) processes together to create useful results. Normally textual data flows between these interfaces. Over time, more and more advanced text processing tools and languages have been developed. For languages, earlier on there was perl, later came python, and ruby. While these and other languages are very capable text processors, such tools are not always available, especially in a production environment. In this article, a number of basic UNIX text processing commands are demonstrated and may be used individually or in conjunction with each other to solve problems which may also be addressed with newer languages. For many people, an example provides more information than long winded explanations. Please note because of the variety of UNIX and UNIX-like systems available, command flags, program behavior, and output differs between implementations.
Use of cat
cat command is one of the most basic commands. It is used
to create, append, display, and concatenate files.
We can create a file with
cat using the '>' to redirect
standard input (
stdin) to a file. Using the '>' operator
truncates the contents of the output file specified. Text entered after
that is redirected to the file specified to the right of the '>'
operator. The control-d signals an end-of-file, returning control to the
Example of cat to create a file:
$ cat > grocery.list apples bananas plums <ctrl-d> $
Use the '>>' operator to append standard input into an existing file.
Example of cat to append a file:
$ cat >> grocery.list carrots <ctrl-d>
Examine the contents of the grocery.list file, using
without flags. Notice how the file contents include input from the
redirection and append operator examples.
Example of cat without flags:
$ cat grocery.list apples bananas plums carrots
cat command can be used to number the lines of a file.
Example of cat to count lines:
$ cat -n grocery.list 1 apples 2 bananas 3 plums 4 carrots
Use of nl
nl filter reads lines from
stdin or from
specified files. Output is written to
stdout, and may be
redirected to a file or piped to another process. Behavior of
nl is controlled through various command-line options.
By default,
nl counts lines similar to
cat -n.
Example default usage of nl:
$nl grocery.list 1 apples 2 bananas 3 plums 4 carrots
Use the -b flag to specify lines to be numbered. This flag takes as its
argument a "type". The type tells
nl which lines need to be
numbered – use 'a' to number all lines, 't' tells
nl to not
number empty lines or lines that are only whitespace, 'n' specifies no
lines be numbered. In the example a type of 'p' for pattern is shown.
nl numbers the lines specified by a regular expression
pattern, in this case, lines starting with the letters 'a' or 'b'.
Example of nl to number lines conforming to a regex:
$ nl -b p^[ba] grocery.list 1 apples 2 bananas plums carrots
By default,
nl separates the line number from the text using a
tab. Use -s to specify a different delimiter, such as the '=' sign.
Example of nl to specify a delimiter:
$nl –s= grocery.list 1=apples 2=bananas 3=plums 4=carrots
Use of wc
wc (wordcount) command counts the number of lines, words
(separated by whitespace), and characters in specified files, or from
Examples of wc usage:
$wc grocery.list 4 4 29 grocery.list $wc -l grocery.list 4 grocery.list $wc -w grocery.list 4 grocery.list $wc -c grocery.list 29 grocery.list
Using grep
grep command searches specified files or
stdin for patterns matching a given expression(s). Output
grep is controlled by various option flags.
For demonstration, a new file was created to use with the grocery.list.
$cat grocery.list2 Apple Sauce wild rice black beans kidney beans dry apples
Example of basic grep usage:
$ grep apple grocery.list grocery.list2 grocery.list:apples grocery.list2:dry apples
grep has a sizable number of option flags. Following are some
examples demonstrating usage of a few options.
To display the filename (if multiple files) with number of lines on which the pattern was found – in this case, count the number of lines the word 'apple' occurs in each file.
Example of grep - counting number of matches in files:
$ grep -c apple grocery.list grocery.list2 grocery.list:1 grocery.list2:1
When searching multiple files, using the -h option suppresses printing the filename as part of the output.
Example of grep - suppress filename in output:
$ grep -h apple grocery.list grocery.list2 apples dry apples
In many situations, a case-insensitive search is desired. The
grep command has the -i option to ignore case-sensitivity
when doing searches.
Example of grep – case insensitive:
$ grep -i apple grocery.list grocery.list2 grocery.list:apples grocery.list2:Apple Sauce grocery.list2:dry apples
Sometimes, only the filename needs to be printed, not the pattern-matching
grep provides the -l option to only print filenames
containing lines with a matching pattern.
Example of grep – filenames only:
$ grep -l carrot grocery.list grocery.list2 grocery.list
Line numbers can be provided as part of the output. Use the -n option to include line numbers.
Example of grep – include line numbers:
$ grep -n carrot grocery.list grocery.list2 grocery.list:4:carrots
There are times when lines not matching the pattern are the desired output. In such situations use the -v option.
Example of grep – inverted matching:
$ grep -v beans grocery.list2 Apple Sauce wild rice dry apples
Sometimes the pattern desired forms a "word" surrounded by whitespace or
other characters like a dash or parentheses. Most versions of
grep provide a -w option to ease writing searches for these
Example of grep – word matching:
$ grep -w apples grocery.list grocery.list2 grocery.list:apples grocery.list2:dry apples
Streams, pipes, redirects, tee, here docs
In UNIX a terminal by default contains three streams, one for input, and
two output-based streams. The input stream is referred to as
stdin, and is generally mapped to the keyboard (other input
devices may be used, or could be piped from another process). The standard
output stream is referred to as
stdout, and generally prints
to the terminal, or output may be consumed by another process (as
stdin). The other output stream
stderr primarily
used for status reporting usually prints to the terminal like
stdout. As each of these streams has its own file descriptor,
each may be piped or redirected separately from the other, even if they
are all connected to the terminal. File descriptors for each of these
streams are:
- stdin = 0
- stdout = 1
- stderr = 2
These streams can be piped and redirected to files or other processes. This
construct is commonly referred to as building a pipeline. For example, a
programmer may want to merge the
stdout and
stderr streams, and then display them on the terminal but
also save the results to a file to examine build issues. Using
2>&1 the
stderr stream with file
2 is redirected to
&1, a
'pointer' the
stdout stream. This effectively merges
stderr into
stdout. Using the '|' symbol
indicates a pipe. A pipe links
stdout from the left-hand
process (
make) to
stdin of the right-hand
process (
tee). The
tee command duplicates the
stdout stream sending the data to the terminal and
to a file, in this example, called build.log.
Example of merging and splitting standard streams:
$ make –f build_example.mk 2>&1 | tee build.log
Another example of redirection, a copy of a text file is made using the cat command and some stream redirection.
Example of redirection to make a backup file:
$ cat < grocery.list > grocery.list.bak
Earlier the
nl command was used to add line numbers to a file
displayed on
stdout. The pipe can be used to send the
stdout stream (from cat grocery.list) to another process, in
this case, the
nl command.
Example simple pipe to nl:
$ cat grocery.list | nl 1 apples 2 bananas 3 plums 4 carrots
Another example shown earlier was to do a case-insensitive search of a file
for a pattern. This can be done using redirection - in this case from
stdin, or using a pipe, similar to the simple pipe example
Example with grep - stdin redirection and pipe:
$ grep -i apple < grocery.list2 Apple Sauce dry apples $cat grocery.list2 | grep -i apple Apple Sauce dry apples
In some situations a block of text will be redirected into a command or
file as part of a script. A mechanism to accomplish this is to use a 'here
document' or 'here-doc'. To embed a here-doc into a script, the
<<' operator is used to redirect the following text,
until a end-of-file delimiter is reached. The delimiter is specified after
<< operator.
Example basic here-doc on the command line:
$ cat << EOF > oranges > mangos > pinapples > EOF oranges mangos pinapples
This output can be redirected to a file, in this example the delimiter
changed from 'EOF' to '!'. Then
tr command (explained later)
is used to upper-case the letters with a here-doc.
Example basic here-doc redirected to a file:
cat << ! > grocery.list3 oranges mangos pinapples ! $ cat grocery.list3 oranges mangos pinapples $tr [:lower:] [:upper:] << ! > onions > ! ONIONS
Using head and tail
head and
tail commands are used to examine
the top (head) or bottom (tail) parts of files. To display the top two
lines and bottom two lines of a file use the -n option flag with these
commands respectively. Similarly, the -c option displays the first or last
characters in the file.
Example basic use of head and tail commands:
$ head -n2 grocery.list apples bananas $ tail -n2 grocery.list plums carrots $ head -c12 grocery.list apples banan $ tail -c12 grocery.list ums carrots
A common use for the
tail command is to watch log files or the
output of running processes to see if there are issues, or to note when a
process finishes. The -f (
tail –f) option causes tail to
continue to watch the stream, even after the end-of-file marker is
reached, and continue displaying output when the stream contains more
Using tr
tr command is used to translate characters from
stdin, displaying them on
stdout. In its general
tr takes two sets of characters, and replaces
characters from the first set with characters from the second set. A
number of pre-defined character classes (sets) are available to be used by
tr, and some other commands.
These classes are:
- alnum - alphanumeric characters
- alpha - alphabetic characters
- blank - whitespace characters
- cntrl - control characters
- digit - numeric characters
- graph - graphic characters
- lower - lower-case alphabetic characters
- print - printable characters
- punct - punctuation characters
- space - space characters
- upper - upper-case characters
- xdigit - hexadecimal characters
tr command can translate lowercase characters in a string
to upper case.
Example tr - upper-case a string:
$ echo "Who is the standard text editor?" |tr [:lower:] [:upper:] WHO IS THE STANDARD TEXT EDITOR?
tr can be used to delete named characters from a string.
Example tr - delete characters from a string:
$ echo 'ed, of course!' |tr -d aeiou d, f crs!
tr to translate any named characters in a string to a
space. When multiple named characters are encountered in sequence, they
are translated into a single space.
Behavior of the -s option flag differs between systems.
Example tr - translate characters to a space:
$ echo 'The ed utility is the standard text editor.' |tr -s astu ' ' The ed ili y i he nd rd ex edi or.
The -s option flag can be used to suppresses extra white space in a sting.
$ echo 'extra spaces – 5' | tr -s [:blank:] extra spaces - 5 $ echo 'extra tabs – 2' | tr -s [:blank:] extra tabs – 2
A common problem when transferring files between UNIX and Windows based
systems is line delimiters. On UNIX systems the delimiter is a new line,
while Windows systems use two characters, a carriage return followed by a
newline. Using
tr with some redirection is one way to fix
this formatting problem.
Example tr - remove carriage returns:
$ tr -d '\r' < dosfile.txt > unixfile.txt
Use of colrm
colrm columns of text can be cut from a stream. In the
first example,
colrm is used to cut from column 4 to the end
of line for each line off the pipe. Next, the same file is sent to
colrm to remove columns 4 through 5.
Example colrm to remove columns:
$ cat grocery.list |colrm 4 app ban plu car $ cat grocery.list |colrm 4 5 apps banas plu carts
Use of expand and unexpand
expand command changes tabs to spaces, while
unexpand changes spaces to tabs. These commands take input
off of
stdin or from files named on the command line. Using
the -t option, one or more tab stop can be set.
Example of expand and unexpand:
$ cat grocery.list|head -2|nl|nl 1 1 apples 2 2 bananas $ cat grocery.list|head -2|nl|nl|expand -t 5 1 1 apples 2 2 bananas $ cat grocery.list|head -2|nl|nl|expand -t 5,20 1 1 apples 2 2 bananas $ cat grocery.list|head -2|nl|nl|expand -t 5,20|unexpand -t 1,5 1 1 apples 2 2 bananas
Use of comm, cmp, and diff
To demonstrate these commands, two new files are created.
Create files for demonstration:
cat << EOF > dummy_file1.dat 011 IBM 174.99 012 INTC 22.69 013 SAP 59.37 014 VMW 102.92 EOF cat << EOF > dummy_file2.dat 011 IBM 174.99 012 INTC 22.78 013 SAP 59.37 014 vmw 102.92 EOF
diff command compares two files, reporting on differences
between them.
diff takes a number of option flags. In the
following example, a default
diff is shown first, followed by
diff using the -w option which ignores whitespace, then
finish with an example of the -i option flag which ignores differences
between upper and lower case when doing comparisons.
Examples of diff command:
$ diff dummy_file1.dat dummy_file2.dat 1,2c1,2 < 011 IBM 174.99 < 012 INTC 22.69 --- > 011 IBM 174.99 > 012 INTC 22.78 4c4 < 014 VMW 102.92 --- > 014 vmw 102.92 $ diff -w dummy_file1.dat dummy_file2.dat 2c2 < 012 INTC 22.69 --- > 012 INTC 22.78 4c4 < 014 VMW 102.92 --- > 014 vmw 102.92 $ diff -i dummy_file1.dat dummy_file2.dat 1,2c1,2 < 011 IBM 174.99 < 012 INTC 22.69 --- > 011 IBM 174.99 > 012 INTC 22.78
comm command compares two files, but behaves much
differently than diff.
comm produces three columns of output
- lines only in file1 (column 1), lines only in file2 (column 2), and
lines common to both files (column 3). Option flags can be used to
suppress columns of output. This command is probably most useful to
suppress column 1 and column 2, showing only lines common to both files,
as shown below.
Example of comm command:
$ comm dummy_file1.dat dummy_file2.dat 011 IBM 174.99 011 IBM 174.99 012 INTC 22.69 012 INTC 22.78 013 SAP 59.37 014 VMW 102.92 014 vmw 102.92 $ comm -12 dummy_file1.dat dummy_file2.dat 013 SAP 59.37
cmp command also compares two files. However, different
comm or
diff, the
cmp command
(by default) reports the byte and line number where the two files first
are different.
Example of cmp command:
$ cmp dummy_file1.dat dummy_file2.dat dummy_file1.dat dummy_file2.dat differ: char 5, line 1
Using fold
Using the
fold command, lines are broken at a specified width.
Originally this command was used to help format text for fixed-width
output devices incapable of wrapping text. The -w option flag allows
specification of a line width to use instead of the default 80
Example using fold:
$ fold -w8 dummy_file1.dat 011 IBM 174.99 012 INTC 22.69 013 SAP 59.37 014 VMW 102.92
Using paste
paste command is used to align files side-by-side, merging
records from each file respectively. Using redirection, new files can be
created by joining each record of one file, with records in another file.
Create files for demonstration:
cat << EOF > dummy1.txt IBM INTC SAP VMW EOF cat << EOF > dummy2.txt 174.99 22.69 59.37 102.92 EOF
Example 1 of paste - lines from multiple files:
$ paste dummy1.txt dummy2.txt grocery.list IBM 174.99 apples INTC 22.69 bananas SAP 59.37 plums VMW 102.92 carrots
There is a -s option flag used to process the files one at a time (serially) instead of in parallel. Notice below, the columns align with the rows in the example above.
Example 2 of paste - lines from multiple files:
$ paste -s dummy1.txt dummy2.txt grocery.list IBM INTC SAP VMW 174.99 22.69 59.37 102.92 apples bananas plums carrots
If only one file is specified, or
paste is processing
stdin, by default the input is listed in one column. Using
the -s option flag, the output is listed on one line. Since output is
condensed to a single line, use a delimiter to separate the returned
fields (tab is the default delimiter). In this example, the
find command is used to locate directories where 64-bit
libraries would likely be found, and builds a path suitable for appending
to a $LD_LIBRARY_PATH variable.
Examples of paste - with delimiter:
$ find /usr -name lib64 -type d|paste -s -d: /usr/lib/qt3/lib64:/usr/lib/debug/usr/lib64:/usr/X11R6/lib/X11/locale/lib64:/usr/X11R6/ lib64:/usr/lib64:/usr/local/ibm/gsk7_64/lib64:/usr/local/lib64 $ paste -d, dummy1.txt dummy2.txt IBM,174.99 INTC,22.69 SAP,59.37 VMW,102.92
Using bc
For an easy way to do math in the shell, consider
bc, the
"basic calculator" or "bench calculator". Some shells offer ways to do
math natively, others rely on
expr to evaluate expressions.
bc, calculations can be portable across shells and UNIX
systems, just be careful around vendor extensions.
Example of bc – simple calculations:
$ echo 2+3|bc 5 $ echo 3*3+2|bc 11 $ VAR1=$(echo 2^8|bc) $ echo $VAR1 256 $ echo "(1+1)^8"|bc 256
bc can perform more than these simple calculations. It is an
interpreter defining its own internal and user defined functions, syntax,
and flow control, similar to a programming language. By default
bc does not include any digits to the right of the decimal
point. Increase precision in the output by using the special
scale variable. As the example shows,
bc scales
to large numbers, and carries out to lengthy precisions. Use
obase or
ibase to control conversion base for
input and output numbers. In the example below:
obasechanges the default output base (ten), converting the result to hexadecimal
- for this square root of 2 approximation,
scalespecifies number of digits to the right of the decimal
- support for large numbers is illustrated by calculating 2 to the 128th
- the
sqrt()internal function is called to calculate square root of 2
- From
ksh, compute and print a percentage
Example of bc – more calculations:
$ echo "obase=16; 2^8-1"|bc FF $ echo "99/70"|bc 1 $ echo "scale=20; 99/70"|bc 1.41428571428571428571 $ echo "scale=20;sqrt(2)"|bc 1.41421356237309504880 $ echo 2^128|bc 340282366920938463463374607431768211456 $ printf "Percentage: %2.2f%%\n" $(echo .9963*100|bc) Percentage: 99.63%
The man page for
bc is detailed and includes examples.
Using split
A useful task for the
split command is to break large
datafiles into smaller files for processing. In this example, BigFile.dat
is shown to have 165782 lines using the
wc command. The -l
option flag tells
split the maximum number of lines for each
output file.
split allows for a prefix to be specified for
output filenames, below BigFile_ is the specified prefix. Other options
allow for suffix control, and on BSD, a -p option flag allows for splits
to occur at a regular expression like the
csplit (context
split) command. Take a look at the man page for more information.
Example of split:
$ wc BigFile.dat 165782 973580 42557440 BigFile.dat $ split -l 15000 BigFile.dat BigFile_ $ wc BigFile* 165782 973580 42557440 BigFile.dat 15000 87835 3816746 BigFile_aa 15000 88483 3837494 BigFile_ab 15000 89071 3871589 BigFile_ac 15000 88563 3877480 BigFile_ad 15000 88229 3855486 BigFile_ae 7514 43817 1908914 BigFile_af 248296 1459578 63725149 total
Using cut
cut command is used to 'trim out' column-based sections of
a file or data piped to it from
stdin. It cuts data by bytes
(-b), characters (-c), or fields (-f) as specified by a list. The lists of
fields or byte/character positions are specified using comma separated
lists and hyphens. Just specify the position or field desired if only one
is needed for output. A range of fields can be specified using a hyphen
such that 1-3 prints fields (or positions) 1 through 3, -2 prints from the
beginning of the line up to field 2 (or byte/character 2), and 3-
cut to print field (or position 3) through the end
of line. Multiple fields can be specified using a comma. Some other useful
flags are -d to specify a field delimiter, and -s, to suppress lines
without delimiters.
Examples of cut:
$ cat << EOF > dummy_cut.dat # this is a data file ID,Name,Score 13BA,John Smith,100 24BC,Mary Jones,95 34BR,Larry Jones,94 36FT,Joe Ruiz,93 40RM,Kay Smith,91 EOF $ cat dummy_cut.dat |cut -d, -f1,3 # this is a data file ID,Score 13BA,100 24BC,95 34BR,94 36FT,93 40RM,91 $ cat dummy_cut.dat |cut -b6- s is a data file me,Score John Smith,100 Mary Jones,95 Larry Jones,94 Joe Ruiz,93 Kay Smith,91 $ cat dummy_cut.dat |cut -f1- -d, -s ID,Name,Score 13BA,John Smith,100 24BC,Mary Jones,95 34BR,Larry Jones,94 36FT,Joe Ruiz,93 40RM,Kay Smith,91
Using uniq
uniq command is typically used to uniquely list lines from
an input source (usually a file or
stdin). To operate
properly, duplicate lines must be contiguously positioned in the input.
Normally input to the
uniq command is sorted, so duplicate
lines are aligned. Two common flags used with the
command are -c to print the count of the number of times each line
appeared, and -d can be utilized to display one instance of duplicate
Examples of uniq:
$ cat << EOF > dummy_uniq.dat 13BAR Smith John 100 13BAR Smith John 100 24BC Jone Mary 95 34BRR Jones Larry 94 36FT Ruiz Joe 93 40REM Smith Kay 91 13BAR Smith John 100 99BAR Smith John 100 13XIV Smith Cindy 91 EOF $ cat dummy_uniq.dat | uniq 13BAR Smith John 100 24BC Jone Mary 95 34BRR Jones Larry 94 36FT Ruiz Joe 93 40REM Smith Kay 91 13BAR Smith John 100 99BAR Smith John 100 13XIV Smith Cindy 91 $ cat dummy_uniq.dat | sort |uniq 13BAR Smith John 100 13XIV Smith Cindy 91 24BC Jone Mary 95 34BRR Jones Larry 94 36FT Ruiz Joe 93 40REM Smith Kay 91 99BAR Smith John 100 $ cat dummy_uniq.dat | sort |uniq -d 13BAR Smith John 100 $ cat dummy_uniq.dat | sort |uniq -c 3 3 13BAR Smith John 100 1 13XIV Smith Cindy 91 1 24BC Jone Mary 95 1 34BRR Jones Larry 94 1 36FT Ruiz Joe 93 1 40REM Smith Kay 91 1 99BAR Smith John 100
Using sort
To arrange rows in
stdin or a file in a particular order, such
as alphabetic or numeric, the
sort command may be used. By
default output from
sort is written on
Environment variables such as LC_ALL, LC_COLLATE, or LANG can affect the
output of
sort and other commands. Notice how the example
file shows 2 separate duplicate records – one dupe for IBM, the other dupe
is a blank line.
Example of sort – default behavior:
$ cat << EOF > dummy_sort1.dat 014 VMW, 102.92 013 INTC, 22.69 012 sap, 59.37 011 IBM, 174.99 011 IBM, 174.99 EOF $ sort dummy_sort1.dat 011 IBM, 174.99 011 IBM, 174.99 012 sap, 59.37 013 INTC, 22.69 014 VMW, 102.92
sort has a great flag that can substitute in place of the
uniq command in many circumstances. The -u option flag sorts
the file, removing duplicate rows so a listing of unique rows of output is
Example of sort – sort unique:
$ sort -u dummy_sort1.dat 011 IBM, 174.99 012 sap, 59.37 013 INTC, 22.69 014 VMW, 102.92
Sometimes, the reverse ordering of input is desired. By default
sort arranges the order from smallest to largest (for
numeric) and in alphabetical order for character data. Use the -r option
flag to reverse the default sorting order.
Example of sort – sort reverse order:
$ sort -ru dummy_sort1.dat 014 VMW, 102.92 013 INTC, 22.69 012 sap, 59.37 011 IBM, 174.99
Different situations call for a file to be sorted on certain fields or
"keys". Fortunately
sort has the -k option flag allowing a
sort key to be specified by position. Fields are separated by whitespace
by default.
Example of sort – sort with a key:
$ sort -k2 -u dummy_sort1.dat 011 IBM, 174.99 013 INTC, 22.69 014 VMW, 102.92 012 sap, 59.37
When case sensitivity is an issue,
sort provides the -f option
flag, which ignores case when doing comparisons. When combining multiple
flags as shown below, some versions of UNIX need these flags specified in
a different order.
Example of sort – sort ignoring case:
$ sort -k2 -f -u dummy_sort1.dat 011 IBM, 174.99 013 INTC, 22.69 012 sap, 59.37 014 VMW, 102.92
So far, all the sorts have been the alphabetic variety. When data needs to be sorted in numeric order, use the -n option flag.
Example of sort – numeric sort:
$ sort -n -k3 -u dummy_sort1.dat 013 INTC, 22.69 012 sap, 59.37 014 VMW, 102.92 011 IBM, 174.99
Some inputs may use characters other than white space to separate fields in a row. Use the -t option flag to specify a non-default delimiter such as a comma.
Example of sort – sort on field using non-default delimiter:
$ sort -k2 -t"," -un dummy_sort1.dat 013 INTC, 22.69 012 sap, 59.37 014 VMW, 102.92 011 IBM, 174.99
Using join
Anyone familiar with writing database queries recognizes the utility of the
join command. Like most UNIX commands, output is displayed on
stdout. To "join" files together, specified fields from two
file are compared on a line by line basis. If no fields are specified,
join matches on fields from the beginning of each line. The
default field separator is whitespace (some systems it's simply a space or
adjacent spaces). When a field match occurs, one line of output is written
for each pair of lines with matching fields. For legitimate results, both
files should be sorted on the fields to be matched. Not all systems
join the same way.
This example uses -t to specify a field separator, and demonstrates joining two files on the first field (default) delimited with commas. Database operators would recognize it as an inner join, displaying only matching rows.
Example of join – using non-default field delimiter:
cat << EOF > dummy_join1.dat 011,IBM,Palmisano 012,INTC,Otellini 013,SAP,Snabe 014,VMW,Maritz 015,ORCL,Ellison 017,RHT,Whitehurst EOF cat << EOF > dummy_join2.dat 011,174.99,14.6 012,22.69,10.4 013,59.37,26.4 014,102.92,106.1 016,27.77,31.2 EOF cat << EOF > dummy_join3.dat IBM,Armonk INTC,Santa Clara SAP,Walldorf VMW,Palo Alto ORCL,Redwood City EMC,Hopkinton EOF $ join -t, dummy_join1.dat dummy_join2.dat 011,IBM,Palmisano,174.99,14.6 012,INTC,Otellini,22.69,10.4 013,SAP,Snabe,59.37,26.4 014,VMW,Maritz,102.92,106.1
To specify fields on which to"join" in each file the -j[1,2] x option flag (or simply -1 x or -2 x) can be used. Option flag -j1 2 or -1 2 specifies the second field of file one, the first file listed on the command. This example shows how to join the files based on field 1 in the first file and field 2 in second file, also an inner join only matching rows.
Example of join – specified fields:
$ join -t, -j1 1 -j2 2 dummy_join3.dat dummy_join1.dat IBM,Armonk,011,Palmisano INTC,Santa Clara,012,Otellini SAP,Walldorf,013,Snabe VMW,Palo Alto,014,Maritz ORCL,Redwood City,015,Ellison
Keeping with spirit of database related examples, flags can be used to produce a left outer join. A left outer join includes all rows from the left first file or table and matching rows from the second file or table. Use -a to include all rows from the specified file.
Example of join – left outer join:
$ join -t, -a1 dummy_join1.dat dummy_join2.dat 011,IBM,Palmisano,174.99,14.6 012,INTC,Otellini,22.69,10.4 013,SAP,Snabe,59.37,26.4 014,VMW,Maritz,102.92,106.1 015,ORCL,Ellison 017,RHT,Whitehurst
Full outer joins include all rows from both files or tables, it does not matter if the fields match. A full outer join can be done by specifying both files with the -a option flag.
Example of join – full outer join:
$ join -t, -a1 -a2 -j1 2 -j2 1 dummy_join1.dat dummy_join3.dat IBM,011,Palmisano,Armonk INTC,012,Otellini,Santa Clara SAP,013,Snabe,Walldorf VMW,014,Maritz,Palo Alto ORCL,015,Ellison,Redwood City EMC,Hopkinton 017,RHT,Whitehurst
Using sed
The stream editor
sed is a useful text parsing and
manipulation utility handy for doing transformations on files or streams
of data. It reads in text one line at a time, applying the specified
commands on the line of text. By default output goes to
stdout. Commands
sed uses perform operations
such as deleting text from a buffer, appending or inserting text into a
buffer, writing to a file, transforming text based on regular expressions,
and more.
A basic example of
sed substitution shows the -e option flag
being used to specify the expression or the edit script. Multiple
expressions or edits can be specified for a single
execution. Notice the components of the
sed edit. The "s" at
the front of the edit indicates this is a substitution command. Using a
"/" as a delimiter, the pattern "IBM" to replace is indicated first. Next,
the replacement pattern appears between two "/" delimiters. Last, the "g"
indicates to make the change globally in the current text buffer. The
third demonstration in this example illustrates a combination of three
edits: replace backslashes with slashes, spaces with underscores, and
remove colon characters – notice how the backslash "\" characters are
Example of sed – basic substitution / multiple edits:
$ echo "IBM 174.99" |sed –e 's/IBM/International Business Machines/g' International Business Machines 174.99 $ echo "Oracle DB"|sed -e 's/Oracle/IBM/g' -e 's/DB/DB2/g' IBM DB2 $ echo "C:\Program Files\PuTTY\putty.exe"| sed -e 's/\\/\//g' -e 's/ /_/g' -e 's/://g' C/Program_Files/PuTTY/putty.exe
In the following example a file is set up to demonstrate another feature of
sed. Besides substitution, filtering is another frequent use
sed. The UNIX
grep command is a commonly
employed filter, it is not unusual to discover multiple ways to manipulate
text on the command line. This example shows how to use the
sed delete command to remove lines beginning with "#" or
whitespace then "#". An example of
grep utilizing the same
pattern is shown for reference.
Example of sed - filtering:
cat << EOF > dummy_sed.txt # top of file # the next line here # Last Name, Phone Smith, 555-1212 Jones, 555-5555 # last number EOF $ sed '/^[[:space:]]*#/d' dummy_sed.txt Smith, 555-1212 Jones, 555-5555 # last number $ grep -v ^[[:space:]]*# dummy_sed.txt Smith, 555-1212 Jones, 555-5555 # last number
To better understand
sed behavior a few more patterns are
demonstrated. A file is created so the patterns can act upon some text.
The first
sed pattern shows how to remove the last 4
characters from strings (filenames) listed in the file. Next, the pattern
removes all characters to the right of the dot "." indicating a file
extension. A pattern to remove blank lines is shown. A special character,
the ampersand "&" allows the search pattern to be used as part of the
output. In this example, IBM is part of the input pattern, and is
specified as part of the output using the ampersand. The last pattern
demonstrated in this series shows how
sed can be used to
remove carriage returns from a text file transferred from a Windows-based
system. The "^M" is entered into the script or on the command line by
pressing first the control-v, then pressing control-m. Please note
terminal characteristics may affect entry of the control-v, control-m
Example of sed – more patterns:
cat << EOF > filelist.txt PuTTY.exe sftp.exe netstat.exe servernames.list EOF $ sed 's/....$//' filelist.txt PuTTY sftp netstat servernames. $ sed 's/\..*$//g' filelist.txt PuTTY sftp netstat servernames $ sed '/^$/d' filelist.txt PuTTY.exe sftp.exe netstat.exe servernames.list $ echo "IBM 174.99" |sed 's/IBM/&-International Business Machines/g' IBM-International Business Machines 174.99 $ cat dosfile.txt | sed 's/^M//' > unixfile.txt
sed commands can operate on specified address ranges. The
following examples show some ways addressing can be controlled by
sed. The "-n" option flag suppresses the default behavior of
sed to display every line of input as a part of the output.
In the first example,
sed operates on lines 4 through 7 from
the file. Notice how only the first listed table-row from the file is
displayed (lines 4 to 7). Next,
sed displays only the first
and last lines in the file. Some versions of
sed allow for
patterns to specify a range of addresses to apply the command. Notice in
the output, commas are only removed from the table, not from the
Example of sed – address ranges:
cat << EOF > dummy_table.frag <!--This, is a comment. --> <p>This, is a paragraph.</p> <table border="1"> <tr> <td>row 1, 1st cell</td> <td>row 1, 2nd cell</td> </tr> <tr> <td>row 2, 1st cell</td> <td>row 2, 2nd cell</td> </tr> </table> <!--This, is another comment. --> EOF $ sed -n 4,7p dummy_table.frag <tr> <td>row 1, 1st cell</td> <td>row 1, 2nd cell</td> </tr> $ sed -n -e 1p -e \$p dummy_table.frag <!--This, is a comment. --> <!--This, is another comment. --> $ sed '/^<table/,/^<\/table/s/,//g' dummy_table.frag <!--This, is a comment. --> <p>This, is a paragraph.</p> <table border="1"> <tr> <td>row 1 1st cell</td> <td>row 1 2nd cell</td> </tr> <tr> <td>row 2 1st cell</td> <td>row 2 2nd cell</td> </tr> </table> <!--This, is another comment. -->
Patterns inside an expression can be grouped and then referenced as part of the output. This can prove useful in a number of contexts such as swapping values or positional variables. The parentheses are used to mark out patterns in the expression, and must be escaped with a backslash \(pattern-here\). The pattern is referenced elsewhere in the expression by using a \n where n is the number of the pattern in order of the marked patterns. Decomposing this expression into components makes it easier to recognize how it works:
remove from output lines starting with a #
remove from output blank lines
s/\([:a-z:]*\):\(.*\) /\2:\1 /
This statement marks the first string of lower-case characters ending with a colon, then marks the string of characters following the colon. For output these marked strings swap position.
Example of sed – grouping patterns:
cat << EOF > sed_chown_example.txt # use sed to swap the group:owner to owner:group sudo chown dba:jdoe oraenv.ksh sudo chown staff:jdoe sysenv.ksh ... EOF $ sed '/^#.*$/d;/^$/d;s/\([:a-z:]*\):\(.*\) /\2:\1 /' sed_chown_example.txt sudo chown jdoe:dba oraenv.ksh sudo chown jdoe:staff sysenv.ksh ...
Using awk
awk program can be a handy text manipulator – performing
jobs such as parsing, filtering, and easy formatting of text. It takes its
input on
stdin or from files and by default displays output
stdout. A variety of releases are available for
awk under different names like
nawk and
gawk. Behavior between versions and vendor releases of
awk vary.
awk is different than the other
commands reviewed in this article, because it is a programming language.
This language provides internal functions for math, string manipulation,
flow control, and text formatting. Programmers can also define their own
functions, creating libraries of user-defined functions or stand-alone
scripts. Because
awk contains so many features to demonstrate
only a few examples are shown.
At first, in this example,
awk is used as a filter to print
only full file systems from a Linux system. By default
uses whitespace to identify separate columns. The example examines column
5 since it shows the percentage of disk space used. If the disk
utilization is 100%, the first example prints the record on
stdout. The following statement extends the first to format a
message, perhaps to send in an email or write as part of a message to a
log file. Then an example is shown on how to create a match using numeric
Example of awk - filter:
$ df –k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 61438632 61381272 57360 100% / udev 255788 148 255640 1% /dev /dev/mapper/datavg 6713132 3584984 3128148 54% /data rmthost1:/archives/backup - - - - /backups rmthost1:/archives/ - - - - /amc rmthost1:/archives/data2 - - - - /data2 $ df -k |awk '$5 ~ /100%/ {print $0}' /dev/sda1 61438632 61381272 57360 100% / $ df -k |awk '$5 ~ /100%/ {printf("full filesystem: %s, mountpoint: %s\n",$6,$1)}' full filesystem: /, mountpoint: /dev/sda1 $ df -k |awk '$4 > 3000000 {print $0}' Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/datavg 6713132 3584984 3128148 54% /data
Sometimes data is not delimited by whitespace. Take for instance the
/etc/passwd file, delimited by the colon ":" character. This example shows
awk uses the -F flag to print the username and UID of the
first 5 entries listed in /etc/passwd. Next, the
function of awk is demonstrated by printing the first three characters of
column 1 in the /etc/passwd file.
Example of awk - field separator / string function:
$ cat /etc/passwd |awk -F: '{printf("%s %s\n", $1,$3)}' |head -5 root 0 daemon 1 bin 2 sys 3 adm 4 cat /etc/passwd |awk -F: '{printf("%s \n", substr($1,1,3))}'|head -5 roo dae bin sys adm
Many times system administrators or programmers write their own
awk scripts to perform some sort of job. Here is an example
of an
awk program to average numbers found in the third
column of a file. The math is done manually by adding the column 3 data up
in the total variable. NR is a special internal variable
uses to keep track of how many records were processed. The average for
column 3 is obtained by dividing the total variable by NR. The program
displays intermediate results and data so the logic is easier to follow.
Example of awk – program / math:
cat << EOF > dummy_file2.dat 011 IBM 174.99 012 INTC 22.78 013 SAP 59.37 014 vmw 102.92 EOF $ cat avg.awk awk 'BEGIN {total=0;} {printf("tot: %.2f arg3: %.2f NR: %d\n",total, $3, NR); total+=$3;} END {printf "Total:%.3f Average:%.3f \n",total,total/NR}' $ cat dummy_file2.dat | avg.awk tot: 0.00 arg3: 174.99 NR: 1 tot: 174.99 arg3: 22.78 NR: 2 tot: 197.77 arg3: 59.37 NR: 3 tot: 257.14 arg3: 102.92 NR: 4 Total:360.060 Average:90.015
Shell-based string operations
A shell can be a powerful programming language. Similar to awk, shells offer a wide variety of options for string operations, math functionality, arrays, flow control, and file operations. Below are some examples showing how to extract parts of a string from one side. The operation does not change the value of the string, but echoes what the result would look like, and is often used as an assignment to a variable. Use the percent "%" sign to truncate right of the pattern, and use the hash mark "#" to truncate left of the pattern.
Example of shell script – string extraction:
$ cat string_example1.sh #!/bin/sh FILEPATH=/home/w/wyoes/samples/ksh_samples-v1.0.ksh echo '${FILEPATH} =' ${FILEPATH} " # the full filepath" echo '${#FILEPATH} =' ${#FILEPATH} " # length of the string" echo '${FILEPATH%.*} =' ${FILEPATH%.*} " # truncate right of the last dot" echo '${FILEPATH%%.*} =' ${FILEPATH%%.*} " # truncate right of the first dot" echo '${FILEPATH%%/w*} =' ${FILEPATH%%/w*} " # truncate right of the first /w" echo '${FILEPATH#/*/*/} =' ${FILEPATH#/*/*/} " # truncate left of the third slash" echo '${FILEPATH##/*/} =' ${FILEPATH##/*/} " # truncate left of the last slash" $ ./string_example1.sh ${FILEPATH}=/home/w/wyoes/samples/ksh_samples-v1.0.ksh # the full filepath ${#FILEPATH} = 42 # length of the string ${FILEPATH%.*}=/home/w/wyoes/samples/ksh_samples-v1.0 # truncate right of the last dot ${FILEPATH%%.*}=/home/w/wyoes/samples/ksh_samples-v1 # truncate right of the first dot ${FILEPATH%%/w*}=/home # truncate right of the first /w ${FILEPATH#/*/*/}=wyoes/samples/ksh_samples-v1.0.ksh # truncate left of the third slash ${FILEPATH##/*/}=ksh_samples-v1.0.ksh # truncate left of the last slash
As an example, a system administrator may need to change the extension of a
set of .jpg files to all lower-case letters. Since UNIX servers are case
sensitive, some applications may require the lower case extension, or
maybe the administrator is simply trying to standardize file extensions.
Changing a large number of files by hand or through a GUI could take
hours. A sample shell script showing a method to solve this problem
follows. The example is made up of two files. First is setup_files.ksh,
used to set up a sample directory tree, and populate the tree with some
files. It also creates a list of files needing extensions changed. The
second script called fix_extension.ksh reads in the list of files,
changing the extensions where appropriate. As part of the
command, the % string operator is used to truncate to the right of the
last dot "." in the filename (truncates the extension). Both scripts also
use the
find command to display what was accomplished after
the run.
Example of shell script – change file extension:
$ cat setup_files.ksh mkdir /tmp/mv_demo [ ! -d /tmp/mv_demo ] && exit cd /tmp/mv_demo mkdir tmp JPG 'pictures 1' touch a.JPG b.jpg c.Jpg d.jPg M.jpG P.jpg JPG_file.JPG JPG.file2.jPg file1.JPG.Jpg 'tmp/ pic 2.Jpg' 10.JPG.bak 'pictures 1/photo.JPG' JPG/readme.txt JPG/sos.JPG find . -type f|grep -i "\.jpg$" |sort| tee file_list.txt $ ./setup_files.ksh ./JPG.file2.jPg ./JPG/sos.JPG ./JPG_file.JPG ./M.jpG ./P.jpg ./a.JPG ./b.jpg ./c.Jpg ./d.jPg ./file1.JPG.Jpg ./pictures 1/photo.JPG ./tmp/pic 2.Jpg $ cd /tmp/mv_demo $ cat /tmp/fix_extension.ksh while read f ; do mv "${f}" "${f%.*}.jpg" done < file_list.txt find . -type f|grep -i "\.jpg$" |sort $ /tmp/fix_extension.ksh ./JPG.file2.jpg ./JPG/sos.jpg ./JPG_file.jpg ./M.jpg ./P.jpg ./a.jpg ./b.jpg ./c.jpg ./d.jpg ./file1.JPG.jpg ./pictures 1/photo.jpg ./tmp/pic 2.jpg
In the spirit of creating useful and reusable tools, the example for changing file extensions should be more generalized. Some improvements that come to mind are to pass in a stream of filenames to be changed, such as part of a pipeline. Option flags could be added to specify file extensions (like .mp3 or .mov) to change, and how to format the file extension such as lower, upper, or mixed case. The possibilities are limited only by the programmer's imagination and time.
UNIX offers a wide variety of tools to do text parsing natively, in many cases without the need to rely on special interpreters which may not be installed. This article is rather broad in its survey of commands when compared to depth of their usage. The commands in this article are partially demonstrated, some systems implement flags or behavior differently than other systems. UNIX certainly offers more commands and ways of accomplishing the same tasks – "There's more than one way to do it".
Downloadable resources
Related topics
- Advanced Bash-Scripting Guide - Manipulating Strings
- Database join explained
- Sed - An Introduction and Tutorial
- KornShell home page
- Gawk: Effective AWK Programming


text:
The ultimate living choice
Located on the 700-berth La Marina Joseph Khoury in the Greater Beirut area, Waterfront City blends maritime lifestyle and vibrant neighborhood environments with leisure, hospitality, business and retail components to deliver an unparalleled living experience.
Overlooking the Mediterranean Sea, this premium community offers residents and visitors the opportunity to access 2,000 intelligently designed living spaces of varying sizes, accompanied by a mix of world class shopping, numerous dining options and unique entertainment offerings.
Health clubs, green parks and a marina-front promenade further add to the community experience, while a state-of-the-art business park along with leading international hotels round out the perfect mix of destinations in this prime location.


text:
Currency Displayed in
Hover over image to zoom
Condor Compact Assault Pack - Multicam Features:
View All Products
Write review
We promise to never spam you, and just use your email address to identify you as a valid customer.
Posted by Unknown on 19th Feb 2013
This is the perfect size bag for my sniper gear. Just the right size for call outs.
Copyright 2019 Tactical Gear Supply . All Rights Reserved. Sitemap |
Bigcommerce Premium Themes by PSDCenter
All prices are in USD
Compare Now
Click the button below to add the Condor Compact Assault Pack - Multicam to your wish list.


text:
Ruffles are very tedious to make with all the measuring, cutting, gathering, and narrow hems. I love the look of them, but needed to come up with a simpler solution to creating them.
I found I could eliminate the need for the narrow hem by cutting the fabric strips on the bias. For you new sewers out there, this simply means that I cut at a 45 degree diagonal to the finished edges of the fabric. Much like when you cut the edge of a ribbon at an angle to prevent it from unraveling, you can cut your woven fabric the same way.
The cut edges don't unravel, but they do eventually get a "fuzzy" look to them. Considering how much time I saved from not having to put in a narrow hem (I am not friends with my narrow hem foot), I consider it a fair trade-off.
I have decided that my first tutorial will be on ruffle-making. I'm going to research tutorial-making and gather some links first, though. I use this technique so often, in so many ways, that I can't help but want to share it with others.
So please stay tuned for my first tute!
Thanks for reading my blog!


text: Home / Blog Inside Social Security Benefits for the Non-Retiree - Part 1 Social Security Benefits for the Non-Retiree - Part 1 The majority of Social Security benefits are paid to retired workers. However, 36 percent of benefits are paid to non-retired workers. Those who receive these benefits might be a disabled worker or a surviving beneficiary of a worker such as a spouse or minor child. We will examine how non-retired workers can qualify for Social Security benefits. Social Security Disability Insurance: Qualified workers who are disabled or blind and are deemed not able to work for at least 12 months or are terminally ill may qualify for Social Security assistance. The worker must be disabled for at least 5 months before applying for the benefits. The benefit period will continue on until Full Retirement Age, an improvement in the worker's condition or death. In order to qualify for the Disability Insurance, Social Security has a very strict definition of disability. Once on Social Security disability, recipients are also eligible for Medicare after two years. This can be valuable to those without health insurance. Next, we will look at the benefits for survivors, spouses, and children. Contact us about your social security questions. [ut_button color="mid-blue" target="_self" link="tel:+16302219222" size="large" shape="round" ]Call[/ut_button] [ut_button color="mid-blue" target="_self" link="mailto:[email protected]" size="large" shape="round" ]Email[/ut_button] Attachment Posted on Tue, July 1, 2014 by RobODell


text:
I used to get confused on what to write about. Confused because what I wanted to write about was my life. The problem was everything in it seemed small and uninteresting. I studied, read books, worked out, downloaded music, danced, and served tables at a local diner. I still do these things, but somehow recently they all have blossomed.
It happened three months ago when I pushed my studies aside to let myself grow. Since then I have posted a blog, sung karaoke, taken dance lessons, and found out that I don't want to serve for the rest of my life. These are the basic means to my happiness. How?
Well when I was in school my studies were the last thing I wanted to do. I remember scraping patience from the bottom of the bin just to write a vocabulary sheet. It was exhausting. There were bigger fish to be had like singing, dancing, writing a good story, playing the guitar, learning to rollerblade, and painting. They swam around my head and I just couldn't keep up. After six years of pursuing one passion I realized others were passing by.
It wasn't easy though to let go of "mental" comforts. Luxury is said to be owned by those whom can afford them, and college was supposed to support me with a Dream Job. A job that spared me from serving six hours a day for gas money. It was then that I had to ask myself if this was a worthwhile career and the answer was obviously No. I didn't want to be the person that others called over for more gravy. I wanted to give people interesting things to talk about. I couldn't do that without first knowing what captured my attention. Everything around me was still blurry. I realized if it took some time to clear my perspective then, for the moment, serving was justifiable.
Time can be defended but it cannot be saved. In the beginning the days rushed over me and I did nothing. I stayed in bed telling myself that I could do things later. What happens then is the bigger fish migrate and someone else reaps the benefits. Happiness I've learned is something that has to be seized in the moment, but the moment never comes if one is too lazy to reach out. So I grabbed the edge of the bed and pulled myself out…(To Be Continued).


text:
Every year during our Caring for Kids Campaign, we raffle tickets for a chance to win a brand new car, and the selection of the winner is one of the most anticipated events following the campaign. Back in December, we visited Children's Hospital of Pittsburgh of UPMC to pick the winning ticket.
Last week, we got to present the winner, George Seckar of Lower Burrell, with his brand new 2014 Ford Fusion! George was enjoying breakfast with friends at the Natrona Heights Eat'n Park when he purchased a ticket for the raffle!
We'd like to thank our friends at the Neighborhood Ford Store for graciously donating a vehicle for this raffle. Our car raffle generated over $113,000 for our Caring for Kids Campaign, which benefits local children's hospitals.
Congratulations, George!


text:
As iPhone 4S users begin utilizing the services of Siri – the latest voice recognition sensation in the world of smartphones – Android developers all across the globe are busy ensuring that the users of said OS are not left out in the cold. The results of these efforts? A brand new voice recognition app (or Siri clone) that hits the Android Market almost twice a week. With such an enormous influx of such apps, one finds it hard to determine which one could possibly be the best option. Although apps like Vlingo and Sonalight Text by Voice do accept voice commands from users to perform a few predefined actions, they cannot be deemed as Siri-like assistants, as they are incapable of indulging in general conversations or Q&A with the users. We scoured the Android Market and managed to find four potential Siri alternatives for Android, each with its own unique set of features. Hit the jump to unravel them one-by-one.
Remember that for any of the following apps to work effectively, you must have Google's Voice Search (TTS library) installed on your device or else, you won't be able to feed voice commands to the app.
1. Iris
Ever since Iris hit the Market, it has been able to attract quite a few users and is lauded by many as Android's best possible answer to Siri. Iris sports a minimalistic interface with just a large sapphire marble icon on its homescreen that the users can press to interact with Iris vocally. Feel free to ask her anything ranging from a complicated question to friendly chit-chat or detailed weather forecast for a region of your choice. Additionally, you can command her to dial your friend's number or send them a quick text message; all via voice commands.
For all queries based on common topics, Iris is likely to provide you with information from Wikipedia and supports any such answers with relevant images. Apart from that, Iris, as of now, is pretty thin on features (after all, all it took was eight hours to get the first build of Iris ready), though we expect many more goodies to be added to the app in future versions.
For more information on the app, check out our detailed review of Iris.
Download Iris
2. Skyvi
Another fresh entrant to the Android Market, Skyvi not only answers to any questions that you throw at her but also accepts voice commands from users to read aloud their Facebook and Twitter feeds, update their statuses on both social networks and like/comment on a particular post. Using Skyvi, you may also listen to a specific friend's Facebook Wall or news page (by saying his/her name). Apart from supporting two of the most widely followed social network services, Skyvi also answers all your queries as per her capacity and the difficulty of your questions. All voice commands can be fed to the app by pressing the microphone icon at the bottom of the screen. In addition, you may manually like/comment a friend's post, write on their wall or re-tweet Twitter content.
The app can be controlled via headset too. Just plug a headset into your device and long-click the headset button to feed in a voice command. While single clicking plays/pauses the answer, double-clicking lets you fast-forward it. Clicking thrice rewinds the message. The media controls (previous, play, next) at the top of the app's main interface let you play/pause and quickly switch between content that is currently being read. Tap on the icon on the bottom-left of your screen to log in with your Facebook and/or Twitter accounts and to toggle the app's status bar notifications on or off.
On the downside, Skyvi can be quite annoying at times courtesy of excessive force-close instances. Also, the app does not support taking voice commands to call or text contacts and the UI definitely needs to be given a second thought if it is to pose any threat to other alternatives arriving on the Market at a rate of knots.
Download Skyvi
3. Risi (Beta)
Another Siri clone, another valiant attempt to provide Android users with a capable voice assistant. Risi is good with general knowledge and greets you each time you launch the app to avail her somewhat imperfect services. Oddly enough, Risi seems to have problems remembering her own name (screenshot below, left) but definitely seems to know a thing or two about the US President. Apart from showing you Mr. Obama's smiling snap, Risi lets you access his Wikipedia page as well as the official White House website; very intelligent. However, Risi draws a blank when asked to do some very simple tasks such as calling/texting a contact.
The app is pretty good at answering queries based on general knowledge, showing you maps and weather forecasts for locations of your choice and even knows your 'current outgoing IP'. Void of any complicated configurations and with everything on a solitary homescreen, Risi is the least cluttered among the other apps in this list. Tap on the blue mic on the app's homescreen to interact with Risi. Whether you want or not, Risi repeats answers of all your questions aloud and tries to supplement most of the answers with relevant images.
Risi, as of now, just communicates in English and needs tremendous improvement, both in terms of UI and capabilities.
Download Risi (Beta)
The most impressive thing about AQ is its ability to give precise answers to your vocal queries. Ask her about Steve Jobs, the recipe for popcorn or a mathematical equation and she will, in most cases, offer extensive answers rather than one-line responses. This is not to be mixed with the app's Long Answer feature. The Long Answer option, if enabled, displays URLs related to your queries; be it for videos, images, thesaurus or even Wikipedia articles. Another useful feature of the app is that it displays answers in at text box, allowing you to copy the text to clipboard.
From the app's solitary homescreen, you can view your last question, its answer and the web links related to it (if the Long Answer option is enabled). To ask a question, just tap the big blue Question or Command button on the app's homescreen. Alternatively, you may give your device a nice little shake (requires enabling the Shake Recording option) or manually type in your question to do the same . The app has been designed to work with Bluetooth headsets as well (A2DP only, must pair with at least one device).
In addition, there is also an option within the app to display questions commonly asked by other users (People Asking). The Text-To-Speech feature (for text reading) can be disabled in case you don't want others to be disturbed by the voice of your assistant.
Just like Skyvi, AQ too can force-close occasionally. Likewise, it does not (as of now) support voice commands for calling or texting. However, provided it's free and the most feature-rich of the lot, AQ surely warrants a download.
Download AQ
Like the ever-evolving world of technology, the underlying components keep changing as well until a durable and feasible solution is found. Same holds true for Siri as well as all these underdeveloped Android variants of the iOS-powered marvel, which promise so much more than just being used for friendly chitchats. Moreover, these probably aren't the only Siri-inspired apps on the Market and we expect the number of such apps to rise by leaps and bounds in the coming weeks.
So which one of the lot is your favorite? Feel free to leave any suggestions regarding features the developers could add to these apps to make them better.
Read more
Powered By: ProideaClub
Valid XHTML and CSS.


text:
Just two days after the start of the winter strength-and-conditioning program, Jim Poggi, a University of Iowa freshman football player, called his father to report that his body ached from the intense workouts. The pain in his arms and legs had not subsided even after a weekend of rest.
"He called afterwards and said it was hard work and he was very, very sore," Biff Poggi said of his son.
By the third day of workouts, on Jan. 24, it was clear something had gone terribly wrong. By the next morning, Poggi and 12 of his Iowa teammates were hospitalized with rhabdomyolysis, a condition in which muscle tissue breaks down and floods the bloodstream with a protein that can impair kidney function.
This type of rhabdomyolysis, caused by physical overexertion, was once rare. But the condition is cropping up with increasing frequency in the world of amateur athletics, experts say, perhaps the result of a culture in sports that emphasizes superior conditioning and physical tenacity.


text:
Currently there are great incentives available for installing solar energy systems on Cape Cod. We have provided a simple breakdown of some the incentives that you might be able to take advantage of below. If you have questions or would like to know more about how much you can save, call SunPower by E2 Solar at (508) 802-4344.
The Massachusetts Clean Energy Center (CEC) offers low-interest (Interest Rate Buy-Downs, IRBD), fixed rate loans plus loan support (Income-Based Loan Support, IBLS) of up to 30% for income-qualified residents. The Mass Solar Loan Program connects Massachusetts residents and property owners who want to purchase solar electric systems with Lenders that can offer low-interest financing for solar PV projects.
In the state of Massachusetts there is a Residential Renewable Energy Income
Tax Credit that is applicable to solar (photovoltaics and solar thermal),
and wind installations. Homeowners will receive a credit of 15% of the
installed system cost, capped at $1,000. The state tax credit is available
only for installed systems on an individual's primary residence.
On the federal level there is a solar tax credit of 30% of the installed cost of a solar thermal or photovoltaic system. There are significantly greater tax credits available for businesses, including depreciation incentives.
For the most current information on the available tax credits and to find out more about Solar installation incentives for Cape Cod businesses, go to the Database of State Incentives for Renewable Energy
Through the Green Communities Act of 2009, Massachusetts utility companies are required to have renewable energy in their portfolios. This has helped create demand for what are called Solar Renewable Energy Credits, or SRECs which are sold on an open market. What this means, is that any electricity that your photovoltaic system produces creates an income stream for you. This is on top of the savings realized by reduced electricity bills.
Energy efficiency is a worthwhile investment. We design and install new systems using the most state-of-the-art SunPower PV panels and use intelligent strategies to get you the fastest possible return on your investment. Depending on your monthly energy use, solar power can reduce your monthly energy bills by half or eliminate them entirely.
The cost of going solar can vary greatly from home to home. New designs are based on the size of your home, its position to the sun at various times of the day, and your home's average energy usage. We take the time to look at all of these factors a design a system that works for your family and your property.
Many of our clients are excited by the amount of money they save but there are a number of addition benefits from going solar. When you install clean, renewable energy, you do your part in reducing your carbon footprint to save the planet for your children.
Massachusetts currently offers a 15% rebate off the total cost of your new solar energy system, capped at $1,000. Combined with the Federal tax credit of 30%, you can save from the moment your panels are installed. Clean Energy Center (CEC) also offers rebates for up to 30% off.
We only use the highest quality SunPower technology to ensure systems that last for years. Our team of expert Cape Cod solar technicians are dedicated to providing your home with the service and satisfaction you need to deliver unsurpassed results based on truly custom and intelligent designs.
Schedule a Free EstimateOur expert technicians investigate your property to design an intelligent system that makes the most of the sun's power.
Install Your SystemUsing some of the best technology in the business, we install PV panels that hold up to the weather and will last years.
Start SavingAfter thorough quality checks, we activate your new solar energy system and you seeing the savings on your monthly energy bills.


text:
kiwanja.net helps social innovators, entrepreneurs, engaged citizens and non-profit organisations make better use of information and communication technologies in their work. Founded by Ken Banks in 2003, kiwanja.net specialises in the application of mobile technology, with a particular emphasis on its role as a driver of innovation, entrepreneurship and social change around the world.
Check out their site: www.kiwanja.net/