text:
I was walking to my car earlier today and reached into my pocket to get the car keys. While pulling them out I spilled everything that was in it: some change, a couple of business cards, my office keys. And I thought: where did people put these things before the invention of pockets? Of course, these things had not existed before pockets were invented, but it made me recall a day in Guinea when I saw a young fisherman collecting mole crickets for bait. He was catching them, piercing them with a piece of plant fiber, and then weaving the fiber into his hair. Brilliant!
2 Comments Add yours
Yes, and Charles Darwin was collecting beetles and tried to keep one in his mouth – a bombadier beetle no less. I don't know – I'm constantly carrying dozens of little zipp-lock bags (in my pockets), Just in case. I have been told that they are often considered drug paraphenalia now, but I usually have at least one that contains a live bug. That should convince any suspicious policeman or border patrol agent?.


text:
Desciption : You can download free bbw ebony 60 years porn videos and hd Mobile xxx videos. We share +18 videos for you in many categories. You can enjoy it right away.
xxx videos - xxx tube - sex videos - xxx sexfilme - daughter first time anal sex with dad - The BangBros pussy massage - Fucking in the bus

subset: commoncrawl


text:
Figueroa Films YouTube Channel Statistics
Father, Hustler, Film Maker
Video Stats of this channel is only available for paid customers.
Contact our sales team / Request a demo
The above data represents video analysis and stats of Figueroa Films YouTube Channel
Compare any YouTube Channel's Statistics with Figueroa Films
You can now compare any YouTube channel's statistics and find out which channel is performing better. Just add a YouTube channel and get a instant analysis on YouTube video performance comparing Figueroa Films


text:
David Schwimmer
Life Path Number 8
David Schwimmer is an American actor, director, activist, producer and co-founder of the Lookingglass Theatre Company, who lived much of the late 1980s in Los Angeles as a struggling, unemployed actor, and gained worldwide recognition for playing Ross Geller in the sitcom Friends.
He was born on Wednesday November 2nd 1966, in Flushing, Queens, New York, United States.
David Schwimmer is gifted with natural leadership and the capacity to accumulate great wealth. He has great talent for management in all areas of life, especially in business and financial matters. David understands the material world; he intuitively knows what makes virtually any enterprise work. His talent lies not with the bookkeeping or petty management, but with the greater vision, it's purpose, and long range goals.
Schwimmer is a visionary and a bit reckless. He possesses the ability to inspire people to join him in his quest, but often they are incapable of seeing what he sees. Therefore, those around David Schwimmer need his continual guidance, inspiration, and encouragement. David must prod them into action and direct them along the lines of his vision.
David Schwimmer attracts financial success more than any other Life Path, but effort is still required.
His challenge in life is to achieve a high degree of detachment, to understand that power and influence must be used for the benefit of mankind. Those born with the Number 8 Life Path who do not understand the real and relative value of money are bound to suffer the consequences of greed; they run the risk of losing it all!
David Schwimmer must learn to bounce back from failures and defeats. He has the character and resilience of a true survivor. It is not uncommon for a person with David's Life Path to experience major reverses, including bankruptcies, financial failure, but he also have the talent and the sheer guts to make more than one fortune, and build many successful enterprises. More than most people, Schwimmer's failures in marriage can be extremely expensive for him.
Despite the difficulties that life presents, David Schwimmer will experience the satisfaction that comes from material wealth and the power that comes with it.
Business, finance, real estate, law, science (particularly history, archeology, and physics), publishing, and the management of large institutions are among the vocational fields that suit David best. He is naturally attracted to positions of influence and leadership - Politics, social work, and teaching are among the many other areas where his abilities can shine.
Schwimmer is a good judge of character, which aids him well in attracting the right people to him.
Most 8s like large families and sometimes tend to keep others dependent longer than necessary. Although jovial in nature, David Schwimmer is not demonstrative in showing his love and affection.
The desire for luxury and comfort is especially strong in him. Status is very important. David must be careful to avoid living above his means.
David's Life Path treads that dangerous ground where power lies - and can corrupt. Schwimmer may become too self important, arrogant, and domineering, thinking that his way is the only way. This leads inevitably to isolation and conflict. The people he runs the risk of hurting most are those he loves, his family and friends.
David Schwimmer must be careful of becoming stubborn, intolerant, overbearing, and impatient. These characteristics may be born early in the life of an 8 Life Path, who often learns these negative traits after suffering under a tyrannical parent or a family burdened by repressive religious or intellectual dogmas.
Those with the 8 Life Path usually possess a strong physique, which is a symptom of their inherent strength and resiliency.
You and David
About David's Life Path number
If ever there was a single moment of total transformation, it was actually the moment of David Schwimmer's birth. In that instant, David stepped through a door in time into a new reality - the reality of human life. The most critical number in Schwimmer's numerology chart is based on the date of his birth - the moment when the curtain went up in David Schwimmer's life.
Read more about our numerological interpretation of David Schwimmer's


text:
Travelling to Malawi? Have you thought of your travel insurance?
Accidents and illnesses cannot be prevented when travelling to Malawi. Medical urgencies cannot only ruin your trip, but they can also dig a deep hole in your wallet. This is where an international travel health insurance comes into play.
When shopping for a travel insurance for Malawi, you should never accept less than:


text:
Apple may finally be reaping the benefits of its acquisitions of chip designers PA Semi and Intrinsity with the iPhone 5, according to sources speaking to AnandTech. The A6 processor that powers Apple's newest iPhone is using neither rehashed Cortex A9 cores, nor the upcoming Cortex A15, but an original design based on ARM's armv7s architecture. Along with the move to a 32nm process and the power efficient design that PA Semi and Intrinsity engineers are known for, Apple's bespoke design appears to deliver double the performance of the A5 used in the iPhone 4S, at about the same, or even slightly less, power draw.
The iPhone 5 doesn't ship until this Friday, September 21, and it will be some time before ChipWorks can do its usual die shot analysis of the A6 silicon itself. However, sources for AnandTech have confirmed that the A6 uses a custom ARM architecture core design. The news is important, because it shows that Apple has managed to move away from using Samsung's processor designs for its mobile devices. It also proves that Apple is willing and able to design mobile processors to best suit the needs of its devices.
From "tweaked" to "bespoke"
Older iPhones used essentially stock ARM-based processors sourced from Samsung, while the A4 chip that debuted in the iPad in 2010 was Apple's first "customized" mobile processor. That chip, based on ARM's Cortex A8 CPU core and an Imagination Technologies PowerVR GPU core, essentially contained a tweaked Hummingbird processor core designed by Intrinsity for low-power operation. Though not identical, the A4 was very similar to the processors Samsung used for its Galaxy S smartphones. Apple went on to incorporate the A4 into the iPhone 4 and fourth-generation iPod touch.
Apple had purchased low-power embedded chip design firm PA Semi in April 2008, and later that year former Apple CEO Steve Jobs admitted that the acquisition was largely for engineering talent to design chips for Apple's mobile devices. However, the A4 was likely entirely the result of Intrinsity's work, and Apple snapped the firm up in 2010, just after the A4 launched.
It seems likely that engineers from both firms were involved in the design of 2011's A5 processor, which powered the iPad 2 and iPhone 4S. That chip used two customized ARM Cortex A9 cores along with two PowerVR SGX 543MP GPU cores. The A5X processor in the 2012 iPad merely bumped the number of SGX 543 cores to four to account for the increased resolution of the third-gen iPad's Retina display.
Unlike the product introductions over the last two years, which revealed at least little information about the design of its A-series processors, Apple said very little about the A6 inside the iPhone 5. It merely promised twice the compute and graphics performance of the A5, with no penalty in battery life.
We guessed that Apple might be pulling off that feat by using the newer Cortex A15 core design from ARM, and AnandTech originally came to similar conclusions. The version of Xcode that Apple seeded to developers last week to prepare apps for the iPhone 5 supports the same ARM architecture—armv7s—used for the Cortex A15.
But, the Cortex A15 core design is targeted more towards low-power servers and the like; running two Cortex A15 cores inside a mobile device at the kind of clock speeds ARM is targeting would very likely run down the battery in just a couple of hours. From this perspective, Apple wouldn't be able to achieve the performance it claimed for the A6 and still promise an eight hour battery life for the iPhone 5.
Apple's design team shows its prowess
"For a while now I'd heard that Apple was working on its own ARM based CPU core, but last I heard Apple was having issues making it work," Anand Shimpi reported. "I assumed that it was too early for Apple's own design to be ready. It turns out that it's not. Based on a lot of digging over the past couple of days, and conversations with the right people, I've confirmed that Apple's A6 SoC is based on Apple's own ARM based CPU core and not the Cortex A15," he wrote Saturday.
Geekbench results for the A6 also appeared in PrimateLabs' benchmark database over the weekend; though unconfirmed, AnandTech believes that the results are highly plausible, and are in line with Apple's performance claims. So, instead of a power-hungry A15 core, Apple appears to be employing a custom ARM core design that implements the armv7s architectural improvements, along with increased RAM, vastly improved memory bandwidth, and a slightly faster clock.
The A5 contained two Cortex A9 cores running at approximately 800MHz, 6.4GB/s of theoretical memory bandwidth, and 512MB of RAM. The A6, in contrast, runs two custom armv7s-compatible cores at 1GHz, with 8.5GB/s of raw memory bandwidth, and 1GB of RAM. The alleged Geekbench results show that actual memory operations are from 2-6 times faster in the A6, as well—this improved memory access keeps the processor filled with relevant data to crunch. Those changes taken together can account for Apple's "2x" performance claim, while a switch from a 45nm process to a 32nm process would balance the power requirements for the improved core and clock speed.
It's also likely that Apple's engineers have employed significant power gating and clock gating in order to keep power requirements to a minimum. Consider the fact that the iPhone 5 is significantly thinner and lighter than previous iPhones. Chances are that the battery may be similar, or even slightly less volume than before, so it's entirely possible that the A6 is even more power efficient overall than the A5.
As for the GPU, there's still no solid evidence about its design. However, AnandTech posits that the A6 may contain three PowerVR SGX 543 cores running at a higher clock speed than the two SGX 543 cores in the A5—this would be "the best of both worlds," according to AnandTech. "You don't take a huge die area penalty and at the same time don't run at a significantly higher frequency, and you can get to that same 2x [performance] value."
It's clear that Apple is no mere integrator of off-the-shelf parts. The path from using bog-standard ARM systems-on-a-chip to a fully custom design as been four years in the making, and I look forward to seeing where Apple will take this approach in the future.
Listing image by Apple, Inc.


text:
John Curtis: Take out table tennis from Olympics before wrestling
My first thoughts of wrestling being eliminated from the Olympics was the same as many others in the sport world: "What?"
Maybe they found the chain Kurt Angle used to beat his Iranian opponent to earn the Gold Medal in the 1996 games; or they found out the old Soviet Union professional wrestler Nikita Koloff wasn't a Russian, but an American.
Obviously those things didn't happen — although Nikita Koloff is originally from Minnesota — or are really any kind of real factor in wrestling; but it's just as silly for the International Olympics Committee's executive board to drop the sport in 2020 that has signified the spirit of the event.
How do you take a sport that is as old as the Greek Olympic games and say it's not welcome as one of 25 events? For me, an Olympic event involves the drive to push a person's body to the ultimate limit; for many sports, the Olympics is the Super Bowl, World Series and Daytona 500 in one.
That makes a sport like wrestling more important for the Olympics to promote more than basketball and soccer.
How important has wrestling been as an Olympic event? In the 1960 Rome Games, they actually had the event in the ruins of an amphitheater to tie into the Olympiads of old.
So to say it should be gone instead of events like table tennis, badminton or any of the equestrian events just boggles my mind. Look at the end of a wrestling match and see how much effort one has put in one and the other.
Unless you really believe the ping pong movie "Balls Of Fury," then I think you would agree that there is just a "tiny" more amount of effort put into wrestling than table tennis.
And for those of you who may remember in London last year, three teams were disqualified from the badminton competition because they were trying to lose so they could have a more favorable position in the bracket round.
Some go so far as to say rhythmic gymnastics should be taken out; but there is skill in those events for everyone to be on time and sequenced with their moves, so I would keep that event in.
There are two facets that make this "farce," to use a European-normal word, laughable.
One is that the Olympics committee is thinking the world is trying to be a "gentler, kinder" Earth, so they need to take out as many events that would be considered "barbaric". Nothing against those in boxing, but if that were the thoughts of those voting, then boxing or taekwondo should have been eliminated before wrestling.
The other is one that has the wrestling world not only upset about their sport being taken out of the Olympics, but a lack of vision by president Raphael Martinetti of the international wrestling federation (FILA), who has lacked making changes before the voting.
Many international wrestling organizations and Olympic bodies around the world have complained about the possible elimination. Think of it this way, how many times do you have the United States, Russia and Iran on the same side.
IOC president Jacques Rogge said he and Martinelli will meet to discuss way the sport can save its place in the Olympics. The move must still be ratified by the complete IOC in September, so the sport has seven months to change the outcome or receive the death knell.
If the sport doesn't succeed in the changing of minds, then many young wrestlers across this nation who have looked to represent the "Red, White and Blue" in an Olympiad will find themselves just blue with the doors of their hopes locked with them on the outside in the cold.
John Curtis writes for Dodge City, Kan.


text:
Kit floor mats, Rubber Mazda 3 II (2008-2013) of high quality and manufactured with the measures and forms specific to your Mazda 3 II (2008-2013). Include technology Free This software to avoid any kind of rubber smell inside the car.
Customer Questions and Answers
Floor mats Mazda 3 II (2008-2013) of rubber
Kit consisting of four mats for Mazda 3 II (2008-2013) of rubber (front and rear). Manufactured with technology FreeSmell that prevents the rubber smell inside the car. Rubber high-quality and thickness to flange to avoid the dirt from sliding to the carpet of the car.
All rugs are made to measure. The pictures are generic in that you can appreciate the quality of the mat. You will receive in your home a few mats of rubber with measures and shape exactly the same as those of your Mazda 3 II (2008-2013) and with the quality of the photos.
Rubber mats for Mazda 3 II (2008-2013) black in color, thick and flexible hold easily the dirt, mud and water preventing be transferred to the upholstery of the car. Ideal for use in adverse conditions. Its design allows to collect the water, mud, sand and dirt, avoiding that it soaks through to the upholstery of the vehicle. Manufactured under the strictest standards of quality: high thickness and good quality of rubber. Do not bend, they are waterproof, do not wrinkle and do not crack. Average length of item: 15 years. From this date, the rubber will lose properties and it is advisable to change them.
Features of the mats for Mazda 3 II (2008-2013) of rubber - ZesfOr®:
- Average weight: 4.3 kg
- Non-slip.
- Technology Smell Free: do not detach rubber smell.
- Thickness of flange: 10 mm
- Thickness inner: 5 mm
- Exclusive product for sale in our facility.
The purpose of the floor mats, rubber Mazda 3 II (2008-2013) is to provide the best possible protection for the floor of your vehicle and avoid this mess.
Customer Questions and Answers


text:
Amy Helene Johansson August 17, 2012Posted by Geoffrey Hiller in Bangladesh, Multimedia.
Tags: Bangladesh
Editor's Note: When the Bombay Flying Club teamed up with Amy Helene Johansson to produce a video about the Garment Workers in Dhaka, Bangladesh I knew that it would be worth seeing. They consistently produce outstanding work, and so included here is an overview from Poul Madsen about their collaborative process. It is effective the way the video opens in the shopping district of Stockholm and then cuts to the girls walking along the railroad tracks on their way to work in the sewing factories. A Lost Revolution? is an excellent example of the power of multimedia storytelling.
Amy Helene Johansson (b. 1973, Sweden) studied film and theater theory before earning a BA in fashion design. In 2006 she moved to Bangladesh to work for a multinational fashion company, and her interest for photography grew rapidly. Amy's work has been published in leading broadsheets and magazines in the UK and Sweden, including the Sunday Times UK, Dagens Nyheter and Sydsvenska Dagbladet. Her work has been awarded Asian Geographic Magazine 'Faces of Asia Award', the Foundry Emerging Photojournalist Award and the Swedish Picture Of the Year 'Multimedia Category' and been shortlisted for ELLE commission award and a National Geographic award. Her work has been displayed in solo and collaborative exhibitions in Bangladesh, the Czech Republic, Sweden and the UAE, as well as the National Portrait Gallery in London, UK. Amy is currently based in Sweden.
About the Project:
"For this project I had the opportunity to spend three months in the slums of Dhaka where the garment workers live, together with a researcher from the Swedish organization Swedwatch. Two women Shapla and Mahfuza bravely agreed to share their stories for the film. After four years in the fashion industry in Bangladesh I thought I had a good picture of the situation, I saw factories improving day by day, and felt the situation was getting better. I did not realize just how far behind the situation was for these women when they leave the factory. The media and companies have been focusing on the factories but the real life of the workers has not been highlighted. I was appalled to see the situation.
"Filming in these areas in monsoon rain was among the most challenging work I have done, and I will never forget the women I met and who still are there. I particularly remember a woman, Popy, telling me she has to lock her son in a room during the days while she works and her fear that if a fire would break out he could get burned alive."
Comments from Poul Madsen, producer at Bombay Flying Club on the process of making "A Lost Revolution?"
"Amy approached us in early spring 2011 about her project in Bangladesh and we decided to collaborate with her on the story. We knew Amy beforehand as she had been one of our workshop participants at the Danish School of Media and Journalism in the Fall of of 2010. For about three months we Skyped and corresponded about her project. Amy would call me up when she had found new possible characters or when she had visited the various slums of Dhaka. Basically I tried to coach her during the entire process and I also provide technical advice along the way. We were looking for characters who would have strong personal stories and who would fit some of the criteria s and keywords that had been setup for the project. Themes and concepts such access to sanitation, domestic violence, family and children.
"In August 2011 we met for a week in Denmark. The idea was basically to storyboard the story, come up with a script and do a rough edit. She brought us complete interview transcripts from the two characters she had selected along with a storyboard idea and a hard drive containing all her raw material. We spent a whole day going through the interviews, sorting quotes out and editing the storyboard. We used a scissor, some tape and a whiteboard for this. Then we started to throw stuff down on the timeline. Gradually the story took shape. After a week we had a complete rough and Amy brought it back to the Swedwatch headquarters in Stockholm. After a few months they decided to re-edit a few things and to use another speaker for the story. Our job was basically to coach Amy, help her set up a storyboard and cut a complete rough edit."
No comments yet — be the first.


text:
GOLETA – The son of a Hollywood director stabbed three men to death in his apartment, gunned down two women outside a sorority and killed a sixth person in a rampage that was foreshadowed by a chilling Internet video in which he vowed to his victims that he would "take great pleasure in slaughtering all of you."
Authorities said the 22-year-old lone gunman, Elliot Rodger — the son of a director who worked on the "The Hunger Games" — carried out his attacks Friday night in the beach community of Isla Vista near the University of California, Santa Barbara. The rampage happened hours after he looked into a video camera and warned in a disturbing Internet video that he would slaughter those with a good life — especially women who shunned him, authorities said.
Deputies wounded him during two separate shootouts as he sped through Isla Vista, leaving a trail of bloodshed that ended with Rodger apparently shooting himself in the head before crashing his black BMW into a parked car, Santa Barbara County Sheriff Bill Brown said.
Thirteen people were injured — eight from gunshot wounds, four from being hit by his car and one who suffered a minor injury whose exact cause was not clear yet, Brown said.
Deputies found three semi-automatic handguns with 400 unspent rounds in his black BMW. All were purchased legally.
Authorities had had three contacts with Rodgers in the past year, including one case in which he claimed to be beaten but deputies suspected he was the aggressor. On April 30, officials went to his Isla Vista apartment again to check on him at the request of his family. But deputies reported back that the Santa Barbara community college student was shy, polite and having a difficult social life but did not need to be taken in for mental health reasons, Brown said.
Attorney Alan Shifman said the Rodger family had called police after being alarmed by YouTube videos "regarding suicide and the killing of people" that Elliot Rodger had been posting.
Brown called the tragedy "the work of a madman" and said the videotape posted by Rodger the night of the killings is a "particularly chilling one, in which he looks at the camera and talks about what he is about to do."
In the YouTube video, Rodger sits in a car and looks at the camera, laughing often, and says he is going to take his revenge against humanity. He describes loneliness and frustration because "girls have never been attracted to me," and says, at age 22, he is still a virgin. The video, which is almost seven minutes long, appears scripted.
"I'll take great pleasure in slaughtering all of you. You will finally see that I am, in truth, the superior one, the true alpha male," he says on the video.
Police described how he spent 10 minutes traveling from one location to another and opened fire on random people after leaving a gruesome scene at his apartment, where three men were stabbed to death.
Earlier Saturday, Shifman issued a statement saying Peter Rodger believed his son, Elliot Rodger, was the shooter. It was unclear how the son would have obtained a gun. The family is staunchly against guns, he added.
"The Rodger family offers their deepest compassion and sympathy to the families involved in this terrible tragedy. We are experiencing the most inconceivable pain, and our hearts go out to everybody involved," Shifman said.
Richard Martinez said his son Christopher Ross Michael-Martinez, 20, was killed in the shooting. He blamed politicians and gun-rights proponents. "When will this insanity stop? … Too many have died. We should say to ourselves 'not one more,"' he said.
The shootings started around 9:30 p.m. in Isla Vista, a roughly half-square-mile community next to UC Santa Barbara's campus and picturesque beachside cliffs.
Alexander Mattera, 23, said his friend Chris Johnson was walking out of an improv comedy show when he was shot in front of a popular pizza place. He stumbled into a nearby house.
"He walked into these random guys' house bleeding," he said.
Mattera was sitting at a bonfire with friends when at least one gunshot whizzed overhead. The friends ran for cover when they heard the barrage of gunfire.
"We heard so many gunshots. It was unbelievable. I thought they were firecrackers," he said.
Isla Vista, which is centered on university life with outdoor cafes, bike shops, burger joints, sororities and fraternities, was shrouded in fog and unusually quiet Saturday.
Police tape crisscrossed Isla Vista streets, while blood was still visible on the asphalt. Bullet holes pierced windows of a parked car and the IV Deli Mart. A small shrine of flowers was growing outside the business, whose floors inside were stained with blood. For much of the day, the wrecked BMW driven by the shooter remained on the street, its windshield smashed in and its driver's door wide open.
UC Santa Barbara senior Kyley Scarlet said she heard the BMW smash to a halt outside a house she was in. Scarlet, who is a former sorority president, said two women from a sorority next door were killed on the lawn, where a pile of flowers grew on Saturday.
Crying students wandered up to the spot, shook their heads and hugged each other.
Scarlet said a third sorority member was wounded there as well.
Scarlet said she was very disturbed by the video describing his anger at sorority girls.
"It's hard thinking my actions, being part of a sorority, led him to do this," she said. "When I saw that video, I was shaking and crying."
In a statement, the university said it was "shocked and saddened" that several students were shot.
"This is almost the kind of event that's impossible to prevent and almost impossible to predict," UC President Janet Napolitano told reporters after giving the commencement speech at Laney College in Oakland, California.
California Gov. Jerry Brown offered his condolences to the victims' families, saying he was saddened to learn "of this senseless tragedy."
The Rodger family is not ready to speak publicly yet, but wants to cooperate fully with police, Shifman said.
"My client's mission in life will be to try to prevent any such tragedies from ever happening again," he said. "This country, this world, needs to address mental illness and the ramifications from not recognizing these illnesses."
Contact the writer:


text:
Baby Names » Basque
Listed on this page are all the 9 baby names of Basque origin, both boy names and girl names:
We would like to know what you think about this and publish your thoughts here! (top)
You may optionally give a title for this comment.
Worst to best, 1 to 5, what would you rate this one?
The actual content of your comment. No HTML nor whatsoever allowed.
The author of this comment.
5 + 6 = ?
Please answer the question by common sense.
Copyright © 2010 - 2023 Baby Names,
BabyNames.charmhtml.com. All rights reserved. We respect your privacy. Database provided by The Data Planet.


text:
Difference between revisions of "BeagleBoard/James"
(→Sharing your data: Samba)
(→Accessing your samba share from linux)
|Line 338:
|Line 338:
* smbclient -U root //192.168.1.230/media
* smbclient -U root //192.168.1.230/media
This assumes that you want to access the data as user root. Also it assumes that your beagle is at 192.168.1.230.
This assumes that you want to access the data as user root. Also it assumes that your beagle is at 192.168.1.230.
todo: add mounting
todo: add mounting
Revision as of 13:05, 9 March 2009
- 1 Introduction
- 2 Latest News
- 3 James Hardware
- 4 James Software
- 5 James Filesystem
- 6 How to install
- 6.1 Required Hardware
- 6.2 Getting Started
- 6.3 Configuring the image
- 6.4 Optionally: give your Beagleboard a fixed IP address
- 6.5 Optionally: install Synergy
- 6.6 Performing an automated install
- 6.7 Sharing your data: NFS
- 6.8 Sharing your data: Samba
- 6.9 Accessing your samba share from windows
- 6.10 Accessing your samba share from linux
- 6.11 Adding WiFi support
- 6.12 Adding WiiMote support
- 6.13 Adding support for a remote control
- 6.14 Using a webcam
- 6.15 Audio playback: mpd
- 6.16 Grabbing photos from a PTP enabled camera
- 6.17 Ripping an audio CD
- 6.18 Automatically ripping a CD using ivman
- 6.19 Transcoding a wav file to mp3
- 6.20 UPnP server: mediatomb
- 6.21 Another UPnP server: Coherence
- 6.22 Downloading torrents
- 6.23 PVR demo
- 7 Packages that are present but still need some work
- 8 Things to do
- 9 Infrequently Asked Questions
- 9.1 Where are the frequently asked questions
- 9.2 Great! Where can I download this? When is this available?
- 9.3 Is this feasible? It looks very ambitious
- 9.4 Cool, but it would be cooler if you add function XXX
- 9.5 Can you support hardware device YYY
- 9.6 This project sounds good! Can I help?
- 9.7 Unanswered questions, suggestions, remarks etc
James (acronym for Just A Miniature Entertainment System) is an application providing a home entertainment solution. It is also called James as it aims to be a global "butler" application providing various services. What functionality is actually offered by James also depends on the actual hardware present in the system.
Rationale for calling it Miniature, is because the system will be small in physical size (but not in functionality). Aim is also to reuse as much open source software as possible.
And actually entertainment system is a little bit of a misnomer. James will provide all kind of home services, so it could also e.g. provide NAS functionality or even a web server.
Latest News
A very nice person borrowed me a board! I don't know if you want to have your name exposed, but thank you very much; you know who you are :-)
With this board I already managed to bring up several packages (and updated these to the latest version).
The original plan was to build my own PVR (like I did with NSLU2); but the current plan is to investigate first if I can use mythTV.
For wiimote support libwiimote and CWiid have been ported. Unfortunately the wintv prv usb2 drivers seem to have some issues with usb on angstrom. No idea yet what is wrong there.
ALso a lot of effort was spent on getting Coherence up and running. Coherence is a UPnP server that supports several backends which can e.g. serve FlickR content over UPnP.
Furthermore an attempt was made to connect the webcam. Technically it works, but apparenty there are some USB related issues. The cam works fine under a regular linux system but on the Beagle over the OTG port apparently data is corrupted. I get a picture but with some colored striping in it. The same behaviour has also been reported by others, but a report from someone who has a revC board with working EHCI said that there webcams were functioning properly.
Stay tuned for progress reports.
James Hardware
Core of the James development will be a BeagleBoard, although the code should be platform independent. BeagleBoard was chosen because it is very small (although functionality wise it can be big).
Additional hardware used during the development and for prototyping
- Philips PCVC680K webcam
- Toshiba MK4007GAL 1.8" hard disk with USB enclosure.
- Sitecom IT-001 USB phone
- Pertelian X2040 Character based LCD display (4 lines, 20 columns)
- Perhaps touch screen/pixel based display
- GATEWAY OVU400002/00 Infrared receiver
- bluetooth dongle (I use a very small one, but most bluetooth dongels will work)
- Support for WII-mote (requires bluetooth)
- WiFi. I have successfully used a 3com 3crusb10075 USB dongle (zd1211 based), a Linksys WUSB54G and a Philips CPWUA054/00 USB dongle (both Prism54 based)
- Hauppauge WinTV PVR2 USB analog TV receiver.
- A DVB-T receiver. (or maybe a DVB-S receiver) (to be obtained)
- PHILIPS SPD3400CC USB CD/DVD drive.
- various USB hubs
- USB hard disk (Toshiba 40GB, 1.8")
Ideally of course would be to have an expansion board with features like Bbluetooth, WiFi, IR, USB hub), but as such a board does not exist yet initially the system will use standard USB components (although may be with the cover removed and mounted together). Aim is to select small components. As I am not a skilled hardware developer, creating an expansion board is outside my capabilities.
James Software
As written above James will be open source and will use open source as much as possible. Actually the programming effort will be mainly porting open source applications (with the associated debugging and problem fixing) and writing the UI software. For UI the idea is to use something web based. That would allow controlling the device locally, but also remote.
Software functionality on James is the following:
- Personal Video Recorder (PVR): see http://www.dse.nl/~meulenbr/pvr/pvr.html for some documentation and access to a prototype running on ARM
- Security functionality (motion pacakge)
- Photo retrieval from digital camera (both mass storage and ptp; mtp ?)
- Audio grabbing from CD
- writing of CD/DVD (e.g. cdrecord)
- File server/NAS (samba/swat)
- uPnP server
- PBX functionality (asterisk)
- Media rendering (mplayer?), also from USB/CD/DVD if present (NSLU2 prototype only has mp3 playback as there is no video out.
- Bluetooth headphone (bluez a2dp profile)
- Internet telephony preferably with camera support (SIP based; probably EKIGA
- Maybe: uPnP playback
- Maybe: interface with GSM phone (e.g. using the gsm as a remote control using bluetooth)
Supporting software:
- For wii-mote (CWiid (includes libwiimote)) Already demonstrated on eeePC under debian by me. See this page on wiki.eeeusoer.com on what I did there.
- Lirc (for remote control) (did that already on NSLU2)
- Web server for serving the UI (The current demo uses out-of-the-box apache2 with php)
- Web browser for displaying the UI locally (not on NSLU2 as it has no display).
UI of the NLSU2 implementaion was done with html, javascript, css stylesheets, php and some self-written cgi scripts. It might be that for the next version I'll move to flash. I am planning to make a small prototype, but due to other things I did not get to this yet.
James Filesystem
James has no specific requirements on the filesystem. For development and testing I used a standard generated Angstrom image (see next section) with a 1GB ext3 filesystem.
James deals with multimedia content. Of course on a 1GB partition you cannot store that much multimedia data. Therefore I use a directory /media/content in this description to refer to the location of the multimedia content. By doing so you can easily mount another partition or e.g. an external USB hard disk or flash disk on this directory. But of course if you want to you can also keep /media on your SD card. And of course it is also possible to use a different directory to store the multimedia content as you see fit. Just use the directory where you stored the data instead of /media/content.
How to install
As James is still in the process of being developed, there is no automated install or precooked image or something like that. Meanwhile as a starter I have listed all steps I had to undertake with my hardware. If you are following the steps below and find things that are unclear or work out different for you (e.g because you have different hardware, please update these instructions.
Generally there is no strict need to execute all steps in the order I gave. Most of the things are pretty independent of each other. I just listed the steps in the order I executed them. If there are dependencies that I am aware of, I tried to list them.
Required Hardware
In order to get started you at least need the following hardware:
- beagle board. rev B is assumed, with a 5V power brick
- empty SD card, 1GB or larger
- serial connection to your beagle
- USB OTG cable
- A USB hub. The beagle is not powerful enough to power most USB devices.
- USB network interface to your beagle (wired is recommended, but if you know what you are doing you can
also use a wireless adapter. Setting up a wireless dongle is outside the scope of this document. The USB network interface is connected to the hub
- a working internet connection.
Getting Started
The simplest way to get started is by using a pre-generated image. For that download the files http://amethyst.openembedded.net/~koen/beaglecontest/james-image-beagleboard-sd.img.gz and http://amethyst.openembedded.net/~koen/beaglecontest/james-image-beagleboard.tar.bz2 and skip the next paragraph on making your own image.
If the links above are not available any more or if you want to be in full control, generate yor own image using Koen's image builder at http://amethyst.openembedded.net/~koen/narcissus/. To do so perform the following steps (not neededif you use the pre-generated image)
In the machine section select beagleboard. From the options select: Base system: extended, X11 window
managers: Enlightenment. Development packages: Busybox replacements, Additional packages: All kernel
modules, alsa utils, apache, ntpdate. If you want more packages to be installed you can select those too. (e.g.
if you have a WiFi dongle you might want to select wireleess-tools). mplayer might also be handy but can
always be installed later on through the command opkg install mplayer
Give the image a name (let's take james in this example, but you must pick your own name, choose whatever you want or whatever is generated for you). hit "build me" and wait (could be a few minutes) for the image to be generated. If you miss a package that is also not that dramatic, as it is always possible to install things later on. After that
- download the james image for beagleboard (this will give you a file James-image-beagleboard.tar.bz2)
- downlaod the raw SD card image.(this will give you a file James-image-beagleboard-sd.img.gz).
With your image either generated or the pregenerated one, perform the following steps:
- insert an empty SD card (at least 1GB) into a card reader in your linux desktop system
- do a dmesg | tail to find out the name of the device. In the subsequent lines I will assume it is
/dev/sdf, but it will probably be different for you. Use the name from dmesg |tail and NOT /dev/sdf when entering the commands.
- gunzip james-image-beagleboard-sd.img.gz
- sudo dd if=james-image-beagleboard-sd.img of=/dev/sdf bs=1M
- grab a coffee as the command above will take some time. How much depends on the speed of your card. For me it took 3 minutes.
- sudo mount /dev/sdf2 /mnt
- cd /mnt
- sudo tar xvfj .../james-image-beagleboard.tar.bz2
- here ... is the path to your James-image-beagleboard.tar.bz2 file. Grab a second cup of coffee as this
again takes some time. Only difference is that at least this time you'll see progress. When done continue with:
- cd /
- sudo umount /dev/sdf2 (this again takes some time)
- sync (just to be safe)
- and to be safer: verify that the light of your SD card writer is not indicating any more that it is
writing and perhaps wait one more minute. If booting the image fails often the case is that not all data is present on the SD card
- insert the card in your beagle and power the beagle.
- if you want to you can interrupt u-boot by pressing space and set the videomode (e.g by issueing the commands 'setenv optargs omapfb.video_mode=1280x720MR-24@60' and "saveenv' (without the quotes)
- have you had enough coffee? if not, grab another cup. All kind of things will be installed. This takes
quite some time. Especially the loading of the kernel modules takes lots of time.You can follow the progress on your serial port. Note that this only occurs one (on first use). Later boots will be at normal speed (less than a minute).
BTW: when booting error messages like "uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 0" can be ignored.
Configuring the image
I have a pegasus based USB to ethernet dongle. In the kernel the driver for a pegasus dongle is a module. And for some reason the dongle does not get an IP address while booting. Unplugging and replugging the dongle works, but is not very convenient. If you also have a pegasus based USB to ethernet dongle you can avoid this by issueing the following commands on a console on your beagle:
- echo pegasus >/etc/modutils/pegasus
- /usr/sbin/update-modules
After that the module will be loaded before the IP addresses are assigned and the dongle will get an IP address during bootup. You might want to reboot if your dongle requires that you issue the previous two lines.
Next you want to create a /media directory and optionally populate it with some multimedia content. Creating the directory is dony by:
- mkdir /media/content
And update your package list by issueing the command:
- opkg update
Optionally: give your Beagleboard a fixed IP address
For James the beagle will also act as a server. For that it is very convenient if the beagle has a fixed address (or you have to use something like dyndns or configure a DHCP reservation in your router).
In order to give the Beagle a fixed IP address you should edit the file /etc/network/interfaces and replace the line:
iface eth0 inet dhcp
with something like:
iface eth0 inet static address 192.168.1.230 netmask 255.255.255.0 network 192.168.1.0 gateway 192.168.1.1
Also in order to have DNS working create/edit the file /etc/resolv.conf. You should add lines like:
nameserver 192.168.1.1
You can have several lines specifying name servers in the file. Of course you should use the addresses of whatever DNS server your use.
Optionally: install Synergy
If you are like me and do not want to clutter your desk with multiple keyboards it is a good idea to install Synergy. Synergy is a software application that can be used to share the keyboard and mouse between multiple computers.
Let us assume that your keyboard is connected to your linux system and that you want to use that keyboard also with your beagle. The linux system then acts as the server system, and the beagle system is the client system. Both systems require that X11 is running and must be connected to the ethernet. Let us assume that both systems have their own display and that the linux display is at the left side and the beagle display is located to the right.
In order to share the keyboard you need to install synergy on both systems. For beagle synergy is in the feeds and can be installed with 'opkg install synergy'. For your unix system your milage may vary. It may be that your distribution supports synergy. If not you need to download it from http://synergy2.sourceforge.net/ and install it yourself. There is one potential caveat. Synergy does not out of the box compile with gcc 4.3. If your system has gcc 4.3 you can patch the synergy sources with this patch.
To get things running you need to create a file synergy.conf. Assuming the host names of your systems are linux and beagle, the file looks like:
section: screens linux: beagle: end section: links linux: right = beagle beagle: left = linux end
Of course if the names of your systems are different or if the location of your monitors is different, you need to change the file.
Store this file under the name 'synergy.conf' on the server system. Then on the server system run:
synergys -f --config synergy.conf
and on the client system run:
synergyc -f server-host-name
If the server host name is not available you can also use the server IP address.
If on the beagle you get an error that it cannot open the display try as command:
DISPLAY=:0.0 synergyc -f server-host-name
After doing so, if you move the cursor to the right of the linux screen it will automagically appear at the left side of your beagle screen, and of course if you them move to the left again your cursor will go to the linux screen. Keys will also be redirected to the screen in which the cursor is.
(for the technically interested: what happens is that the server detects that the mouse is on the edge of the screen and if that happens it will pass the mouse events and key presses to the client at that side over TCP/IP).
If you want to autostart xynergyc when starting your system you can create a file /etc/X11/Xinit.d/99Synergy with contents:
#!/bin/sh /usr/bin/synergyc server-hostname
After that do a 'chmod 755/etc/X11/Xinit.d/99Synergy' to make the file executable.
Performing an automated install
It is possible to install all James packages automatically. If that is what you want you should perform the steps mentioned in this section and skip the subsequent installation sections (although you might want to read them to learn how to configure and control the software that is installed). If you prefer to stay in control though, you want to skip this section and cherry-pick whatever parts you prefer from the subsequent sections.
Beware that the automated installer is still a work in progress. At this moment you still need to do some things manually. Also the installer script does not configure most programs for automatically starting. I haven't decided yet if this should be added in the installer or by the package itself. Some packages like mpd do automatically startup on boot though.
For the automatic install issue the following steps:
- create and boot a kernel as explained above. Use a storage device of at least 1GB and make sure your beagle is onnected to internet
- login into your beagle
- wget http://www.dse.nl/~meulenbr/james/james-install
- optionally review the file james-install to see if you agree with the contents and to verify that it does not do anything you do not want
- sh james-install
Now the installation starts. You'll see the various packages being downloaded and installed. This will take a substantial time. The actual time depends on your download speed an on how busy the package server is. As you've probably had enough coffee by now, you might want to grab something else :-) Of course you can also spent the time waiting on reading the remainder of this page.
If the automated install fails for some reason you have to interrupt it or it stalls for a long time, it should be safe to stop the install and restart it.
After doing the automated install you can:
- connect your ptp digital camera; the beagle will then automatically transfer the pictures on it (no erasing of pictures)
- manually control your camera and even remotely take pictures using gphoto2
- After editing /etc/mpd.conf: play music that is on the beagle using mpd, running gmpc on the beagle or another pc on your network
- manually rip CDs using cdstatus. See the section on cdstatus for more info.
- set up automated ripping of CDs. See the section on automated ripping using ivman
- manually encode wav files to mp3's using lame (see lame section on details)
- downloading files using rtorrent
- share media content on your beagle to any DLNA/UPnP client device (e.g. a Nokia N810 mobile phone, or a hardware digital media adapter or UPnP audio client using mediatomb
- share media content on your beagle or external flickr photos, youtube video's, lolcats, internet radio etc etc using the Coherence UPnP server
- use a wiimote to control your X11 cursor (requires wii, sensor bar and bluetooth dongle, see wiimote /cwiid section on configuration
- use a remote control in your own apps or bind them to specific actions. See section on lirc.
- use w3cat to capture pictures from your webcam
- use motion to set up motion detection. Note that this did not work too well on my OTG port. I suspect a MUSB driver issue.
- play with the PVR demo. You can do so by browsing to your beagle. A description of the design of the PVR and instructions to operate the demo can be found at: http://www.dse.nl/~meulenbr/pvr/pvr.html
Note: if you have connected a monitor to your beagle it is also possible to show the PVR demo locally. Select a good display resolution (e.g. 1280x720MR-24@60) in u-boot and after booting start the midori web browser from enlightenment using
- midori http://127.0.0.1
Or if you want to start from your serial port or an ssh session you can start midori with:
- DISPLAY=:0.0 midori http://127.0.0.1
Additional things that you can play with because they are installed, but that are not covered into this document are:
- asterisk
- ekiga
- file sharing using samba
Sharing your data: NFS
Of course it is nice to access the multimedia content of your beagle on another PC. There are two ways to do so. The first one is through NFS and is handled in this section. The second one is through Samba (SMB) and is covered in the next section.
install nfs-server; tell client side to be written
Sharing your data: Samba
In order to install samba you need to
- opkg install samba
The samba configuration is in /etc/samba/smb.conf. You probably want to review this file and modify it as you see fit. Use a good samba tutorial to help you with this (e.g. http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/ )
E.g. if you want to give readonly access to /media/content with a sharename of media you need to add:
[media] path = /media/content guest ok = yes writable = no
A more user-friendly way to manage your samba configuration is through SWAT (the Samba Web Administration Tool). In order to have swat installed you need to do the following:
- opkg install xinetd
- opkg install swat
- create a file /etc/xinetd.d/swat with the following content:
# default: off # description: SWAT is the Samba Web Admin Tool. Use swat \ # to configure your Samba server. To use SWAT, \ # connect to port 901 with your favorite web browser. service swat { port = 901 socket_type = stream wait = no only_from = localhost user = root server = /usr/sbin/swat log_on_failure += USERID disable = no }
If you want remote access you need to modify or comment out the only_from line.
After installing swat you can manage your samba configuration through port 901. (http://localhost:901 on your slug; http://<beagle ip address>:901 if you want remote access. Note that you need to log in into swat and that you cannot log in with an empty password.
See http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/SWAT.html for info on swat.
Note that if you change the samba settings you need to restart the server for the settings to take effect
To be written
In order to access your samba share under linux your PC running linux need to have smbclient installed. How this is done depends on your distribution and is outside the scope of this page.
After installing smbclient you can access your share with
- smbclient -U root //192.168.1.230/media
This assumes that you want to access the data as user root. Also it assumes that your beagle is at 192.168.1.230.
Another, more convenient way is by using your web browser. Just browse to smb://192.168.1.230 (or whatever the IP address of your beagle is)
todo: add mounting
Adding WiFi support
The modules for the WiFi dongles that are supported by Linux are already present in the system. However, most likely the firwmware is still missing. This firmware need to be placed in /lib/firmware before you can use your WiFi dongle.
For ZD1211 based dongles the firmware can be found at http://sourceforge.net/project/showfiles.php?group_id=129083 This firmware supports the following wifi dongles: http://www.linuxwireless.org/en/users/Drivers/zd1211rw/devices.
For prism54 based dongles the firmware can be found at http://wireless.kernel.org/en/users/Drivers/p54#firmware. This firmware supports the following devices: http://wireless.kernel.org/en/users/Devices/USB
Configuring your wifi is outside the scope of this document.
Adding WiiMote support
Using a WiiMote as a mouse replacement is easy. You need a bluetooth dongle, a wiimote and a sensor bar (you can use the one from your wii, but I just used a noname wireless sensor bar bought on Ebay. (Actually such a sensor bar is nothing more than a piece of plastic with a few IR leds, a switch, a battery compartment and maybe a few resistors.)
Just perform the following actions:
- opkg install cwiid
- insert the bluetooth dongle
- hciconfig hci0 up
- wminput -c ir_ptr
now follow the instructions to connect your wiimote to the dongle and use your wiimote as a mouse pointer. (do not forget to point in the direction of the sensor bar).
For more information on how to configure wminput see http://abstrakraft.org/cwiid/wiki/wminput
(btw: wminput assumes that the uinput driver is loaded, but if you use the standard kernel this is the case. If uinput is not there you need to load it using insmod uinput (probably after building it)).
Adding support for a remote control
- opkg install lirc
To be updated
Using a webcam
I have connected a Philips PCVC680K (Vesta Pro) USB webcam to my beagle. If the module pwc is present it will be loaded when you plug in the cam. The moudule will be there if you have chosen "all kernel modules" in the image builder. If not you can still get it by issueing the command 'opkg install kernel-module-pwc'
After doing so I was able to play the video on a monitor connected to the beagle by issuing the command
DISPLAY=0:0 mplayer -tv width=320:height=240:driver=v4l2 -fps 15 tv://
on the serial console (if you are running from a terminal you can omit the DISPLAY=0:0 part.
Note that I connected the webcam on the OTG port. This resulted in a picture with some colored striping. Apparently some data gets corrupted somewhere. As the same setup works flawless on various systems (x68, nslu2) with a regular usb host interface, I guess there is a bug in the OTG driver or a glitch in the hardware.
Other webcams can be used in a similar fashion, but you probably need to adjust the width, height and fps commands for mplayer.
It is also possible to capture individual pictures from your webcam. You can use the program vidcat to do so. This program is part of the package w3cam and can be installed with 'opkg install w3cam'.
vidcat is a little bit picky on its arguments. For my PCVC680K the command 'vidcat -p y -s 640x480 > test.jpg' did the job for me. If you get a message like:
VIDIOCMCAPTURE: Invalid argument args: width=320 height=240 palette=4 Error: Can't get image
your parameters are probably incorrect.
Btw you can use vidcat --help to get a list of possible options to vidcat.
Another application that is proven to work is motion (install with 'opkg install motion'. This does support motion detection by taking a picture at regular intervals and comparing that picture with the previous one. If the differences between the pictures exceed a user-defined treshold the pictures are stored. That way the cam can be used to detect intruders.
Unfortunately due to the random color stripes, this is not useful yet on Beagle revB hardware.
More information on motion and how to configure it can be found at: http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome
Audio playback: mpd
Mpd is a daemon process that can play audio. It is a daemon only and it can be controlled remotely by a mpd client (e.g. gmpc). This client can run locally on the beagle but also remotely on another system. Actually you can even set things up in such a way that your audio player can be controlled over the internet.
Installation of mpd can be done with:
- opkg install mpd
Note: the latest version of MPD is not on the feed yet. For now you may download http://www.dse.nl/~meulenbr/james/mpd_0.14.2-r3.1_armv7a.ipk and install it manually (opkg install mpd_0.14.2-r3.1_armv7a.ipk)
Installation of the gmpc client can be done with
- opkg install gmpc
Before starting the client be sure to review and edit the file /etc/mpd.conf Especially you want to modify the line starting with music_directory as this points to the location where your audio files are. Also if your beagle has a public IP address you might want to restrict access by modifying the bind_to_address line, which specifies what systems have access and/or install a password.
More info on mpd can be found at: http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki
Grabbing photos from a PTP enabled camera
If you have a PTP enabled digital photocamera, it is possible to automate the extraction of photos from that camera. In order to do so perform the following steps:
- opkg install gphoto2
Create a script photoripper. My script looks like:
#!/bin/sh test "x$ACTION" != "xadd" && exit 0 test "x$SUBSYSTEM" != "xusb_device" && exit 0 if test -e "$DEVNAME" then # SUBSYSTEM == "usb_device" implies that DEVNAME == "/dev/bus/usb/123/456" # Determine device ID and bus ID. dev="$(basename "$DEVNAME")" bus="$(basename "$(dirname "$DEVNAME")")" cd /home/root # change this line if you want to download to a different directory. /usr/bin/gphoto2 --port usb:${bus},${dev} --get-all-files else echo "photoripper: Given device named $DEVNAME not found." >>/tmp/photoripper.log exit 1 fi
Place this script in a directory of your choice. I've used /usr/local/bin (which need to be created first), but you can put it in another location. Just adapt the path in the next two commands.
- chmod 755 /usr/local/bin/photoripper
- /usr/lib/libgphoto2/print-camera-list udev-rules version 0.98 script /usr/local/bin/photoripper > /etc/udev/rules.d/90-libgphoto2.rules
This will start the photoripper script whenever you connect the camera to your system.
Of course the script above is just my version. If desired you can use other gphoto2 options. E.g. you can add the option --new to the gphoto2 command so only new files are downloaded. And if you are brave you can even automatically remove the pictures from your camera after downloading them by adding a gphoto2 command with the option --delete-all-files. Note that you do this completely at your own responsibility. Don't blame me if for wahtever reason you loose pictures!
Ripping an audio CD
If you have an USB CD or DVD drive you can use it to rip audio CD's. James does that by using cdstatus. Advantage of cdstatus is that it can interface with CDDB.
You can install cdstatus through:
- opkg install cdstatus
Ripping a CD can be done through the command:
- cdstatus --cddb --drive /dev/sr0 --rip
Note that this command rips to wav files. cdstatus has some more options (e.g. specifying the destination directory). Issue 'cdstatus --help' to learn about them.
The speed to rip a CD depends mostly on the audio extraction speed of your drive.
Automatically ripping a CD using ivman
It might be that you desire to automatically rip a CD when you insert it in the drive. This can be done by using the program ivman. In order to do so you should first install ivman:
- opkg install ivman
Note: at the time of writing ivman is not yet in the feeds. If the command above fails please manually install and download the following files in the order given:
After that edit the file /etc/ivman/IvmConfigActions.xml. Add the following text near the end (just above the tag </ivm:ActionsConfig>
<ivm:Match name="hal.volume.disc.type" value="cd_rom"> <ivm:Match name="hal.volume.disc.has_audio" value="true"> <ivm:Match name="hal.volume.disc.has_data" value="false"> <ivm:Option name="exec" value="cd /media/content >> /usr/bin/cdstatus --cddb --drive '$hal.block.device$' --rip " /> </ivm:Match> </ivm:Match> </ivm:Match>
Of course you can replace /media/content with the path of your choice.
You also might want to change IvmConfigBase.xml. There is a line there saying
<ivm:Option name="user" value="ivman" />
This specifies the user under which all ivman commands are run. In order to get things working you need to perform one of the following steps:
- make sure /media/content is writable by user ivman and /dev/scd0 is readable by user ivman
- reolace the line with: <ivm:Option name="user" value="root" /> causing the code to run as root
- make cdstatus setuid root by issueing the command chmod 4711 /usr/bin/cdstatus
Then start ivman. After doing so if you insert an audio CD it will be ripped automatically to /media/content (or your directory if you changed it.
Remember that cdstatus rips to wav files, so ripping a CD may give you up to 700 MB of data (so do not do this on an SD card that is almost full).
Note: on my beagle ripping a CD brings the rest of the system almost to a halt. Apparently a lot of time is used in I/O actions.
Note2: ivman can also be very useful doing all kind of other things on device insertion/removal. See the file /etc/ivman/IvmConfigActions.xml for some examples.
Transcoding a wav file to mp3
Cdstatus gives wav files but probably you want mp3 files. This is easily being done by lame.
You can install lampe through:
- opkg install lame
Then you can encode a file using the command:
- lame -h input.wav output.mp3
Handy trick:
if you want to convert all files in a directory you can simply issue the command:
- for i in *.wav;do lame -h $i `basename $i .wav`.mp3; done
And if you want to remove the wav file after that you can say:
- for i in *.wav;do lame -h $i `basename $i .wav`.mp3 && rm $i; done
Lame has options to control the bitrate, set mp3 tags etc. Use
- lame --longhelp
to get an extensive list.
Lame does not retrieve mp3 tags or so from CDDB
Speed of lame is about twice the time of the track when ripping with -h and 128 kbit/s on an otherwise unused Beagle, so it would be nice to be able to use the DSP to transcode wav files.
UPnP server: mediatomb
If you have a UPnP client device like a TV with an embedded UPnP client, or a Digital Media Adapter or a UPnP audio client, or a phone with UPnP client functionality build in you are probably interested in having a UPnP server on your Beagle.
As UPnP server James supports mediatomb. This is a server with a web based UI.
Installation of mediatomb is done in the usual way:
- opkg install mediatomb
After that you can run mediatomb on your beagle. You might want to check out the options of mediatomb (use mediatomb --help). E.g. you might want to fix the port that mediatomb uses. The default port is the first port after 49151 so most often 49152.
Configuration settings can also be specified in ~/.mediatomb/config.xml
See http://mediatomb.cc/ for information on the syntax of config.xml and on general usage information.
After mediatomb is running you can configure what contents is shared through the web interface. Just use a web browser and browse to the IP address:port number of your beagle (e.g. 192.168.0.10:49152 if 192.168.0.10 is the address of your beagle).
Note: I have never tried the transcoding features of mediatomb.
Another UPnP server: Coherence
When selecting a UPnP server there is another interesting candidate: Coherence. It does not have a fancy UI yet,but it has a very nice feature: it supports a variety of backends which make external (web) content available through UPnP. E.g. there is a backend to serve internet radio (iRadio). Yet another backend will serve FLickR pictures, while yet another one serves Youtube. And if you are a cat lover you definitely want to check out Lolcats!
Installation is done through:
- opkg install python-coherence
Beware: this will drag in a lot of other packages.
Coherence configuration is stored in ~/.coherence. Info on Coherence and its configuration can be found at http://coherence.beebits.net/
Downloading torrents
The beagle, being a low power device is of course also a nice system to download torrents. rtorrent is a small and efficient tool to download torrents.
Installation of rtorrent is done through:
- opkg install rtorrent rtorrent-doc
In order to be able to suspend rtorrent and disconnect your terminal (especially useful when connecting to yur system using ssh) it is recommended also to install screen with:
- opkg install screen screen-doc
Screen is a very nice application that will keep on running whenever you detach from the terminal. If you want to start rtorrent under screen you can type:
- screen rtorrent
After that you can start whatever torrent you want to.
It is a good idea to first read the manpage for rtorrent. Leaving rtorrent can be done with ctrl-Q. Exiting screen can be done with ctrl-D, and if you want to detach from screen but keep rtorrent and screen running type ctrl-A d or ctrl-A ctrl-D. Further info on the key bindings of screen can be obtained by ctrl-A ?
PVR demo
Work is in progress to implement a personal video recorder (pvr) on the beagle. This code is already running on NSLU2, and has been ported to Beagle. However, unfortunatly my Beagle does not want to work with my Hauppauge USB TV card through the OTG port. Therefore the only thing available is the UI part. This can be downloaded and installed using
- wget http://www.dse.nl/~meulenbr/james/pvr.tar.gz
- tar xvfz pvr.tar.gz
- rm pvr.tar.gz
- /etc/init.d/apache2 restart
Note that pvr.tar.gz contains absolute paths and will overwrite things like httpd.conf.
A description of the design of the PVR and instructions to operate the demo can be found at: http://www.dse.nl/~meulenbr/pvr/pvr.html
Note: if you have connected a monitor to your beagle it is also possible to show the UI locally. Select a good display resolution (e.g. 1280x720MR-24@60) in u-boot and after booting start midori from enlightenment using
- midori http://127.0.0.1
Or if you want to start from your serial port or an ssh session you can start midori with:
- DISPLAY=:0.0 midori http://127.0.0.1
Packages that are present but still need some work
- asterisk (IP pbx): still need to look at how to integrate/use it
- ekiga (SIP client): requires testing
- LCD4Linux: works as expected, but it is not used yet to display James info.
- rtorrent: works, needs to be more automated to download torrents
- cups: haven't played with it yet
- gpsd and gps-utils: these are a little bit off-topic, but I would love to use the beagle with my bluetooth gps, need to peek into this.
Things to do
In no particular order:
- More automated/user friendly install script
- newsreader/leechere (probably nzb based)
- better UI (perhaps using Wt)
- ampache?
- xmltv ?
- upnp client (gstreamer?
- automatic import from mass storage
- fle manager ? (phpexplorer?)
- photo slideshow application
- cd recording; I've made a package for cdrkit, but that has some issues and I have not had the time to find out what it is
- improve PVR and use remote control and/or move to mythtv.
- improve documentation and add sections for samba, nfs, ekiga and asterisk.
- work on optimisation. e.g. I would like to use e.g thpptd instead of apache. and maybe move to LXDE)
- support tux (www.kysoh.com)
- text to speech
Infrequently Asked Questions
Where are the frequently asked questions
LOL, there are no frequently asked questions. This is so new that any question is infrequently asked (or not at all). This section is here to give answers to some of the things that might pop up while reading this.
Great! Where can I download this? When is this available?
This is work in progress. For now you can reproduce things using the steps outlined above.
Is this feasible? It looks very ambitious
It is definitely ambitious. Then again a bit of ambition does not hurt.
And feasible: I think it is, but only time will tell. A lot of the software is available in the open source domain. I have quite some experience porting software, and a lot of things I did before on NSLU2 where I am eFfeM
But... in the end only time will tell!
Cool, but it would be cooler if you add function XXX
Could be. Feel free to bring XXX to my attention. If there is open source software to support this function, please mention it. Depending on the amount of effort needed and the potential benefit for others, I might pick it up earlier or later.
Can you support hardware device YYY
Depends. I try to make use of existing software as much as possible and try
to be device independent, so it might be supported already
(perhaps with a little effort).
Then again this also depends on what kind of hardware it is. If it is something nice I'd want myself, I might buy it. If not I might still support it if someone borrows or donates me a piece of hardware to allow testing, if I consider it to be of general use. Then again if your problem is very specific you are probably on your own (although of course I am willing to give some advice).
This project sounds good! Can I help?
Depends on your skills, competences and time.
If you have hardware skills you could probably come up with a prototype for an expansion board, instead of the hodge-podge of USB devices that I am undoubtedly going to make.
If you have mechanical skills you could come up with a casing proposal (otherwise it'll probably be a shoe box project).
If you are graphically skilled you could help defining the UI (I am graphically challenged :-) ).
And if you are a programmer you could port and test some of the packages mentioned above.
Unanswered questions, suggestions, remarks etc
If you have other questions, suggestions, remarks etc. feel free to add them below. I'll try to come up with answers.


text:
Sherlock: A Character Who's More Than Elementary
One of my favorite professors, the late Ian Watt, taught that there were four great myths of modern individualism: Faust, Don Juan, Don Quixote and Robinson Crusoe. This always got me wondering which, if any, pop-culture heroes might endure in the same way. James Bond? Luke Skywalker? The Avengers? C'mon. In fact, there's only one who I feel sure will last — Sherlock Holmes.
In the 125 years since Arthur Conan Doyle created the world's greatest detective, 75 different actors have played him in the movies, and scads more on TV, not to mention the countless knockoffs like The Mentalist or Mr. Spock, who once claimed Holmes as his ancestor.
We've had him as a teen in Young Sherlock Holmes, as a wise-cracking action star played by Robert Downey Jr., and as a retired beekeeper in Michael Chabon's terrific little novel The Final Solution, where he encounters the crime of the century — The Holocaust. Now he's been updated as a present-day Londoner in Sherlock, the British TV series that offers the best version of Holmes and Dr. Watson I've ever seen.
The obvious reason for Holmes' enduring appeal is that, while he possesses no superpowers — his parents weren't wizards, no radioactive spider bit him — his gifts are cool enough to be superhuman. Playing to our fantasies of being smarter than everyone else, Holmes performs jaw-dropping feats of perception.
Like the one in the first episode of Sherlock: Martin Freeman's Dr. Watson has known Holmes all of 90 seconds when Sherlock, played by Benedict Cumberbatch, talks about renting a flat together — and gives Watson a taste of just who, or maybe what, he's dealing with: an astute observer who picks up intimate details about Watson's personal life seemingly out of thin air. This Holmes is a bit of a showman, one who feels sure that he ought to be mythic.
He's right. Like all mythic figures, Sherlock embodies an archetypal aspect of the human psyche — in his case, the power of rational thought.
"I am a brain," he tells Watson in one story, "the rest of me is mere appendix." And as a brain he is the embodiment of the scientific mind. A relentless empiricist, he not only notices details that ordinary folks don't, but he also treats all of reality — from tobacco ashes to a dog that doesn't bark — as a collection of clues. He puts these clues together to solve baffling crimes, which can involve a pygmy murderer, a poisonous snake or a gigantic hound.
Now, lasting mythic heroes tend to emerge during periods of psychosocial tumult when old values are being threatened by new ones. Holmes came to life in 1887, during the waning years of a Victorian era in which everything from the traditional social order to the belief in God was being subverted. It's no accident that this same period produced three other literary creations who spoke to a sense of chaotic darkness bubbling beneath the surface of things: the blood-drinking Dracula, the murderously schizoid Dr. Jekyll and Mr. Hyde, and, of course, Peter Pan, who refused to grow up into the complicated world of adulthood. Their mythic power still persists, but mainly as metaphors like the Peter Pan Complex, or in the welter of hip vampires roaming our pop culture.
Sherlock remains Sherlock. Of course, darkness bubbles in Holmes' world, too. If he lacks the tragic dimension of Faust — a fellow thinking machine, but one with ambitions so grand they damn him — he's not a cipher like 007 or Hercule Poirot. His monomaniacal genius borders on sociopathology. It cuts him off from humanity.
He has but one friend, Watson — his Sancho Panza and our surrogate — and but one great love, Irene Adler, whose appearance opens Season 2 of Sherlock with a bang. When he's not solving crimes, boredom and melancholy lead Holmes to the violin — or cocaine.
Yet if Holmes' desire for oblivion hints at the lonely man lurking beneath the brilliant superman, it remains less potent than his sheer joy in asserting rational control over purveyors of chaos like his archenemy, Professor Moriarty. Detective stories are about learning the truth and restoring order. That's their power. And for Holmes, that's also their fun.
Indeed, one reason why Sherlock still feels so fresh is his pleasure in the chase. Never dull nor moralistic, he embodies that part of us that's turned on by a mystery, who when he hears of a murder, feels that special tingle and cries, "Come, Watson, come. The game is afoot!"
Copyright 2021 Fresh Air. To see more, visit Fresh Air.


text:
Tournament status:Finished Finished
|Game server
|Registration option
|(Team unconfirmed)
The World of Tanks European championship consists of 4 stages:
The national qualifiers serve to identify a country's champion team and its representatives for the rest of the championship. There will be one national qualifier for each of the following countries:
Albania, Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Czech Republic, Denmark, Estonia, Finland, France, FYR Macedonia, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Montenegro, Netherlands, Norway, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey, and the United Kingdom.
The players must be citizens of the country they represent. By entering the competition, the players consent to collection and further processing of their name, surname and their country of nationality by Wargaming, as may be needed for the purpose of verifying the qualifiers in which they are supposed to play.
At the end of the national qualifiers, IP checks will be conducted to ensure that this rule is respected. In case the IP does not match the selected qualifier, the players will be asked (via forum, in-game messaging, or via their registered email) to provide proof of citizenship, and will have 24 hours to provide this. Failing to provide proof of citizenship may result in disqualification.
National qualifiers structure:
Note: the team that wins the national qualifiers of Germany automatically advances to Gamescom to play as the host nation.
IMPORTANT – Due to Livestreaming requirements, Finland, France and Poland will play their finals on 15th July. The United Kingdom, Czech Republic and Germany will play their finals on 16th July. The teams participating will be contacted in order to arrange the games and livestreaming.
The exact rewards, including the physical goodies and prizes, can be found on the tournament announcement page. For reference in the rules, the in-game rewards are as follows:
National Qualifiers rewards (Round Robin groups of 4 + playoffs):
European phase Online Finals rewards (16 teams, single elimination tournament):
Offline Finals at Gamescom:
All team captains must stay up to date on the forum. The tournament administration recommends every captain follow the "rules and information" thread of the European Championship tournament, in case of critical changes.
The team captain is responsible for their team: only a team captain can make requests on behalf of their team on the forum.
Captains and players are advised to use the in-game reporting system to report foul language, rather than the official rules enforcement thread.
Players and teams:
Even though we highly recommend that you read the rules fully, we'll include this part for everyone who likes to have a brief overview of everything.
This tournament is the only World of Tanks tournament where you can represent your country and win a trip to Gamescom, along with some amazing hardware and gold.
There will be a qualifier for each country. Each country's winning team will then play in the group stage + playoffs in order to win one of three places in the Finals in Germany. As host nation, Germans will have one team automatically qualify.
We're planning on streaming a lot of games, so whether or not you're planning to sign up, you can follow the WoT European Championship.
We'll be active on the forum, so find the European Championship thread and feel free to ask us any questions you may have.
|Team Team
|Captain Captain
|Game server Game server
|Registration option
|**** Gamecom Finals - Top 4 Teams ****
|1st place
|Trip to Gamescom - Gaming Laptop; 1 Year of Premium Account; Type 59
|2nd place
|Trip to Gamescom - Gaming Chair; 1 Year of Premium Account; Tier VIII premium of your choice (available in the shop)
|3rd - 4th place
|Trip to Gamescom - Headphones; 6 Months of Premium Account; Tier VIII premium of your choice (available in the shop)
|**** Online Finals ****
|1st place
|Qualification for Gamescom
|2nd place
|Qualification for Gamescom
|3rd place
|Qualification for Gamescom
|4th place
|3 Months of Premium Account
|**** National Qualifiers ****
|1st place
|3000 gold + Qualification for Online Group Phase
|2nd place:
|1500 gold
|3rd-4th place
|750 gold
|5th-8th place
|500 gold
|9th-16th place:
|250 gold
Too many teams to create a bracket: /64
There is no information regarding this stage.
Too many teams to create a bracket: /32
There is no information regarding this stage.
If you are registered for a tournament, log in to check the match schedule.
If you are registered for a tournament, log in to check the match schedule.
If you are registered for a tournament, log in to check the match schedule.


text:
Friday, August 24, 2012
If Genealogy Dominated Reality Television
Think all the reality show angles are played out? Think again. The genealogy world is ripe with fresh pitches for this stale medium. Here's what our television line-up would look like if genealogy dominated reality television:
Real Housewives of Salt Lake City
Seven Utah women juggle family, marriage and genealogy. In the pilot episode, sparks fly during a special trip to the Family History Library as one housewife checks out more film than she can use and proceeds to hog left-handed microfilm reader #2. Will these ladies ever patch things up? Stay tuned...
Citation House - Big Brother
What happens when you put 14 genealogy strangers in a house and film their every family history move? Who knows how to cite a diner menu as a source? Who can perform a reasonably exhaustive search the longest without falling asleep? Losers get voted out. The winner gets a 24k gold embossed copy of Evidence Explained.
You Have No Idea Who You Are
Are you related to an Indian Princess? Was your ancestor the cruise director on the Mayflower? Do you brag about how you finished your genealogy years ago? Be a star as trained professionals obliterate your family tree and highlight your glaring research errors, all for the schadenfreudian pleasure of the television audience.
Genealogy Hoarders
Weekly episodes follow the lives of genealogists and their families that don't understand that these piles of genealogy files are actually part of a "system" and if you move them, all is lost. Episode 1 follows Frank and his family as they battle to get stacks of genealogy books off the dining room table so they can stop eating dinner on tv trays in the family room. Episode 2 follows Sarah as she learns to recycle old journals and sees the top of her nightstand for the first time in three years.
Heritage Wars
A documentary-style series that highlights the best petty arguments and ego clashes at genealogy society meetings. Watch as Joe hates on Bill for drinking coffee without contributing to the coffee fund, Ann glares at society president Jill because of a miscommunication regarding the newsletter, and Barbara scowls in the last row without telling anyone what's bothering her. Get ready to rumble in HERITAGE WARS!!
Family History Pioneers
In the tradition of Texas Ranch House, PBS brings takes us back in time to 1980. Ten "pioneer" genealogists live in a house with no Internet, computer or access to digital collections. All they get are paper pedigree charts, notebook paper, envelopes and a roll of stamps. Can they adapt and survive without modern conveniences? Welcome to genealogy: pioneer style!
Conference Divas
Follow the crème de la crème of genealogy society as they strut their stuff in the big leagues of national conferences. Catty gossip about colleagues? Check. Tipsy industry big-wigs revealing more than they should? Check. Exclusive invitation-only events that make you jealous except when you're invited? Check. Conference divas: you totally hate them except when they invite you to sit at the cool table and then you're besties for life. Or at least until the next conference.
Get your DVRs ready but don't hold your breath. Reality television seems to have lost its way though these shows are worth some play, don't you think?
49 comments:
- Replies
Thanks, Jana! Glad you liked it.Delete
Oh how I adore you . . .ReplyDelete
Great ideas....ReplyDelete
If a camera crew shows up at my house with a sign about Genealogy Hoarders, I'm not answering the door...ReplyDeleteReplies
You know this would make compelling television because let's face it...we'd all freak out if someone messed with our "system."Delete
Brilliant! Of course, the Real Housewives would need at least one husband whose eyes glaze over whenever his wife talks about family history and her research. Otherwise, the program wouldn't be believable.Delete
OMG... LOVE IT!ReplyDelete
It's been said that in all humor lies a grain of truth. That said, I can't help wondering about the motivation for "Conference Divas."ReplyDeleteReplies
There's a little conference diva in all of us, on both sides of the velvet rope. However, that "Genealogy Hoarders" lady that hasn't seen her nightstand in three years? That's me.Delete
Amy has done it again! Love it!ReplyDelete
Hilarious as usual! I could really relate to Genealogy Hoarders, "as they battle to get stacks of genealogy books off the dining room table so they can stop eating dinner on tv trays in the family room." Substitute "files" for "books" and you've got me!ReplyDelete
Amy, don't forget Genealogy Pawn Stars, where patriarchs battle to see whose heirlooms pull in the most moolah. In this episode, infighting within the Smith family has Jane and June doing a King Solomon number on the family Bible; while Bobby Johnson attempts to up the street cred on Great-Uncle Horace's portrait by writing the name "Whistler" in the lower corner with a neon Sharpie.ReplyDeleteReplies
I'm sitting here thinking, "Yep, I would watch that!" Then, it dawned on me that these weren't going to happen. I was really into watching them!ReplyDelete
Amy, if you tire of being a genealogist you have a future as a TV producer!ReplyDelete
Too funny!! Thanks I really needed that laugh today. Any my nightstand is the same way!ReplyDelete
All of the above would be more interesting to watch than the current "reality" pablum on TV. If someone would produce it I might actually watch it!ReplyDelete
Simply Brilliant Dahling!ReplyDelete
Love it - if these were real shows I might actually think about having TV in my house again :) Thanks for putting a smile on my face today.ReplyDelete
Just love this, Amy. Which of your readers will star as the conference divas?ReplyDelete
I think "You Have No Idea Who You Are" would be a big winner. I'd definitely watch it!ReplyDelete
You left out Genealogy with the Stars! Professional genealogists coach stars though the process of researching their family history. Jennifer Aniston breaks down when her citations are missing several crucial elements. Leonardo DiCaprio gains lots of viewer support when he moves from census to census beginning with the 1940 and moving backwards in time. Robert Patinson gets voted off after he's caught making up people on his maternal side. Angelina Jolie wins the first season finale when she shows up with original documents in hand: birth, marriage, and death certificates for all 16 of her great-great-grandparents! Who do you want to see in the second season of Genealogy with the Stars? :-)ReplyDelete
- Heather K.August 24, 2012 at 8:30 PM
Deja vu vu!! This is sweet Amy!! The Amazing Genealogy Race would also be great to watch as guest stars compete on who can copy and paste online trees and sources the fastest. First up, the man who traced his way to Charlemagne in 24 hours!ReplyDelete
Hilarious post!ReplyDelete
Amy, I would watch all these shows! Somehow they seem so familiar. Thanks for a good chuckle to end the week.ReplyDelete
Very well done. I was laughing out loud making my dogs wonder what was wrong with me. :-)ReplyDelete
If only genealogists ruled the airwaves, these would all be runaway hits. Love it, Amy!ReplyDelete
Love it. Keep up the good work.ReplyDelete
- AnonymousAugust 25, 2012 at 7:21 AM
Love it, Amy, especially You Have No Idea Who You Are! :-) JoReplyDelete
Episodes of such material would surely remove that glazed over look that so many genealogist experience. Who will be the first network to approach you Amy?ReplyDelete
Love it! How about Genealogistette: Combining Trees--find a mate whose pedigree best compliments your own.ReplyDelete
And "So You Think You Can Research?"ReplyDelete
Thanks for starting my day with a laugh! That formal dining room I didn't need? Covered in papers to sort, photos to scan, notebooks to fill, Grandma's jewelry box, .... is that Genealogy Hoarders ringing my doorbell?ReplyDelete
- Heather K.August 25, 2012 at 11:57 AM
After reading through this again, Conference Divas gives me the shivers......almost a little too real.ReplyDelete
hahahahaha....love this post. Here is another one to add. "Genealogy Widowers", a group of men telling why they missed weekend football.ReplyDelete
- Jackson E. WilsonAugust 25, 2012 at 10:31 PM
That is hysterical!!! The Genealogy Hoarders one and the one about the historical society disputes is so funny. Definitely would watch them, since they sound like my experiences. lol lolReplyDelete
This would be awesome if you could pull it all off. Good luck if you try. :-)
LOL! Now you just need some backers, a crew, and you're good to go!ReplyDelete
- AnonymousAugust 26, 2012 at 2:15 AM
what about when nana passes away and when the family sort through her 'trash' out comes a whole load of missing information that she was hoarding just because it made her smile in that strange when each time you say how frustrated you are not being able to figure out great grandads origins. Nana "Smiles from the other side"ReplyDelete
Love it! Now those reality shows I would watch! So have you sent your ideas to the networks yet?ReplyDelete
Oh how I'd love to see these shows. I have never watched reality TV but I'd probably never miss these!!ReplyDelete
Family History Pioneer appeals to me. I can do it! I love stacks of paper and I was born before the computer. Does that give me an edge?ReplyDelete
Your post is hysterical and so creative! It actually made me look at all tv shows differently with a genealogy twist lol "Family Feud" has a new meaning to me now lol "How I Met Your Mother" (ability to truly depict how all the couples in one's family tree met), "Hells Kitchen" (the ability to prepare and serve accurately family dishes of the past using only the limited ingredients and cooking tools that were available at the time. Who can best feed a family of 15 on one pig and an ear of corn from the family field) lol Oh it could go on and on.ReplyDelete
Thanks for the laugh,


text:
Leave a SEPARATE COMMENT for each entry!
- Like Crissy's Crafts on Facebook. One Entry
- Follow Crissy's Crafts. One Entry. One Entry
- Follow Crissy's Crafts on Twitter. One Entry
- Share this giveaway on Twitter, Facebook or your Blog. One Entry Each - Include @crissyscrafts in your tweet, tag crissyscrafts on Facebook and provide back-link when you blog about this giveaway, in the comment so that I know.


text:
Feel Free To Share It On:
One Piece Chapter 523 Hell is the chapter from One Piece, created by Oda, Eiichiro (尾田 栄一郎) and the artist Oda, Eiichiro (尾田 栄一郎) and released at 1997, and the the manga One Piece fall into those genres comedy,adventure,super power,action,fantasy,shounen,drama. The entire summary of manga One Piece: The story starts with a well known pirate his name is Gol D. Roger was known as the "Pirate King," the strongest and most infamous being to have sailed the Grand Line. The capture and execution of Roger by the World Government brought a change throughout the world. Upon his execution he spoke his last words before his death revealed the existence of the greatest treasure in the world, The "One Piece". It was this revelation that brought about the Grand Age of Pirates, men who dreamed of finding One Piece, which promises an unlimited amount of riches, fame and quite possibly the pinnacle of glory and the title of the Pirate King.
One Piece, manga, Oda, Eiichiro (尾田 栄一郎), Read One Piece Manga, read manga, high quality, latest manga chapters, read manga free, action, adventure, comedy, super power, drama, fantasy, shounen, One Piece chapter 523, chapter 523


text:
Traveling Salesman: Brute Force
March 12, 2010
The traveling salesman problem is classic: Find the minimum-length tour that visits each city on a map exactly once, returning to the origin. It is an important problem in practice; consider, for instance, that the cities are soldering points on a large circuit board, each of which must be visited by a soldering robot. It is also an important problem in mathematics, and is known to be in NP, meaning that optimal solutions for non-trivial problems are impossible. Nonetheless, there exist heuristic algorithms that do a good job at minimizing the tour length.
We will examine the traveling salesman problem in an occasional series of exercise, beginning with today's exercise that looks at the brute-force solution of examining all possible tours. The algorithm is simple: First, select a tour at random, then determine all possible permutations of the tour. Second, determine the length of each tour. Third, report the tour with minimum length as the solution.
Your task is to write a program that solves the traveling salesman problem using the brute-force algorithm. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.
9 Responses to "Traveling Salesman: Brute Force"
March 12, 2010 at 9:57 AM
[…] Praxis – Traveling Salesman: Brute Force By Remco Niemeijer In today's Programming Praxis exercise we have to implement a brute-force algorithm for solving the well-known […]
March 15, 2010 at 7:40 AM
A C solution. Quite verbose obviously, and I did manage to fall into a couple of pitfalls along the way. It is fast, though (1 second for the 10-second problem).
#include <stdio.h> #include <math.h> #define NUMCITY 10 #define LANDSIZE 100 #define square(A) ((A) * (A)) typedef int City[2]; void generate(City cities[]); void print_cities(City cities[]); float distance(City city1, City city2); void copy_tour(City citiesDest[], City citiesSource[]); void copy_City(City dest, City source); void swap_cities(City city1, City city2); void circ_perm(City cities[], int numCities); void scramble(City cities[], City *pivot, int numCities); void target_function(City cities[]); float tour_length(City cities[]); float shortestTourLength; City shortestTour[NUMCITY]; int main() { City cities[NUMCITY]; generate(cities); shortestTourLength = tour_length(cities); copy_tour(shortestTour, cities); scramble(cities, cities, NUMCITY); printf("found the shortest tour:\n"); print_cities(shortestTour); printf("Length is: %f\n", shortestTourLength); return 0; } float tour_length(City cities[]) { int i; float length = 0.0; for(i = 0; i < NUMCITY - 1; i++) length += distance(cities[i], cities[i+1]); length += distance(cities[NUMCITY - 1], cities[0]); return length; } void target_function(City cities[]) { float length; length = tour_length(cities); if (length < shortestTourLength) { shortestTourLength = length; copy_tour(shortestTour, cities); } } /*pivot is the base address in the cities[NUMCITY] array *for the recursive scrambling; the only reason we also *pass the unchanged cities address is because we need it *to call the target function (which does *something* to *the scrambled array) at each recursive call to scramble */ void scramble(City cities[], City *pivot, int numCities) { int i; City *newPivot; if (numCities <= 1) { //Scrambled! Call the target function target_function(cities); return; } for (i = 0; i < numCities; i++) { newPivot = &pivot[1]; scramble(cities, newPivot, numCities - 1); circ_perm(pivot, numCities); } } void circ_perm(City cities[], int numCities) { int i; City tmp; copy_City(tmp, cities[0]); for (i = 0; i < numCities - 1; i++) copy_City(cities[i], cities[i + 1]); copy_City(cities[numCities - 1], tmp); } void copy_tour(City citiesDest[], City citiesSource[]) { int i; for (i = 0; i < NUMCITY; i++) copy_City(citiesDest[i], citiesSource[i]); } void copy_City(City dest, City source) { dest[0] = source[0]; dest[1] = source[1]; } void swap_cities(City city1, City city2) { City tmp; copy_City(tmp, city1); copy_City(city1, city2); copy_City(city2, tmp); } float distance(City city1, City city2) { float result; result = sqrtf((float)square(city2[0] - city1[0]) + (float)square(city2[1] - city1[1])); return result; } void generate(City cities[]) { int i, j; for (i = 0; i < NUMCITY; i++) for (j = 0; j < 2; j++) cities[i][j] = rand() % LANDSIZE; } void print_cities(City cities[]) { int i; for (i = 0; i < NUMCITY; i++) { printf("(%d,%d)", cities[i][0], cities[i][1]); if (i < NUMCITY - 1) printf(" , "); } printf("\n"); }
March 16, 2010 at 4:56 PM
[…] with the length of the data. On Programming Praxis they have proposed to resolve the problem using brute force, and using the closest neighbor (a simplification of the […]
March 18, 2010 at 6:22 PM
One observation is that most of the permutations of the cities are mere rotations of another permutation. For example, the tour [city2, … cityN, city1] is a rotation of the tour [city1, city2, … cityN]. Indeed, any tour starting with any of city2 .. cityN is a rotation of a tour starting with city1.
A smarter brute force solution is to only consider permutations that start with city1. For 10 cities this optimisation eliminates 90% of the calculations.
In python:
def brute_force(cities): other_cities = cities.copy() start_city = tuple(other_cities.pop()) return min((start_city+p for p in permutations(other_cities)), key=path_cost)
January 9, 2011 at 4:05 AM
On executing this programme on C-free5.0 version, it showed an error for "rand()" at line no.:121
so i overcomed it by including "stdlib.h" header file for this "rand()" function
April 28, 2013 at 10:39 AM
In the c program there is an error inthe distance function:
in sqrtf()
please help
May 7, 2015 at 11:30 AM
Why use brute force when you can do it easily ? Just visit this link and try the actual program.


text:
Today's Blind Items - Kindness
This foreign born B list mostly movie actor is an Academy Award winner/nominee and is loved by lots of women. Lots. Very attractive guy. He is also very generous. He was flying this past week and noticed a bunch of military people waiting to board his flight. He asked about first class seats for the personnel and our actor bought the four available first class seats and gave up the two he had. For the rest of the personnel that didn't fly first class he bought them unlimited drinks and bought them all food before they got on the plane. His total bill for everything was about $20K but the memories he provided for the troops will last a lifetime.


text:
There is currently no text in this page. You can search for this page title in other pages, or search the related logs, but you do not have permission to create this page.
Help us get to over 4,000 biographies in 2018.
If you know of a past magician not listed in MagicPedia, start a New Biography for them or Email us your suggestion.
User talk:Tnarrud
From Magicpedia, the free online encyclopedia for magicians by magicians.