text:
Diving & Marine Conservation Volunteering in Thailand - Monthly Updates
- Project Overview
- Additional Project Info
- Divemaster Course Add-on
- Monthly Updates
- Management Plan, Data & Reports
Conservation in Thailand - Monthly Update August 2009
The month of August was action packed, with between 6 and 13 volunteers getting down and dirty in the local mangroves, lending helping hands at the Krabi Fisheries Department, bird watching at the beautiful Emerald Pool, helping clean up neighbouring beaches and diving locally and around Koh Phi Phi. Volunteers also undertook activities such as marine salvage, coral and fish surveying, and a buoy monitoring project.
This month, the weather was against us and we were not able to go diving as much as we would have wanted to. To keep the volunteers busy, we took them to a Thai cooking class which proved to be a lot of fun and we discovered unsuspected skills amongst our team!
Another day, we made salvage bags out of an old (but still in good condition) fishing net which we had picked up from our mangroves site a couple of months ago.
Dive sites explored this month include: Anemone Reef; King Cruiser; Koh Bida Nok; Koh Dang; Koh Haa; Koh Si; Koh Talu; Losama Bay; Mu Sung; Phi Phi Ley Wall; Shark Point; and Viking Cave. Highlights of these dives are indicated below.
Volunteers collected a huge 108kg of litter, largely fishing nets, the breakdown by dive sites is as follows:
- Koh Si: 5kg - 2 dives
- Phi Phi Ley Wall: 2kg - 1 dive
- Mu Sung: 95kg - 3 dives
- Koh Deang: 6kg - 2 dives
Despite limited visibility on many days, thanks to the lovely August weather - think choppy waves and tropical storms - volunteers sighted some unusual marine life during their dives, most notably an amazing Clown triggerfish at Losama Bay and several serene Hawksbill turtles at Viking Cave in late August. Other exciting sightings included:
- Seahorses
- Kuhl's stingrays
- Leopard sharks
- Blacktip sharks
- Frogfish
- Cuttlefish
- Batfish
- Pipefish
Buoy Monitoring Project
Thanks to donations from Saint Mildred's Lightbourne school in Canada, Krabi Resort and Phuket Aquarium, we are going to place 20 mooring buoys at strategic locations around the local islands.
Mooring buoys are essential to prevent damage to coral reefs from anchoring which can result in:
- Mechanical damage from hitting when the anchor is dropped, ripping if there is strong wind or current and pulling when the anchor is removed.
- Increased sediment in suspension if the anchor is dropped in the sand.
In August, we have been looking for the right locations to place the anchors; convenient for the boats and with an adequate substrate to fix the buoy onto. We also prepared the buoys with Kon Tiki staff, which consisted of tying reliable knots and shackles and painting the names of our sponsors on the buoys.
Next month, we will install the 20 buoys with Kon Tiki staff as well as members from the Marine Police and the Had Nopparat National Park.
Volunteers were put to work twice at our mangroves nursery in Thung Prasan. On the first excursion volunteers had quite a morning workout, clearing the land under the hot Thai morning sun. Once the weeding was done, we then planted some 50 mangrove saplings. During the second mangroves trip volunteers measured a patch of mangrove saplings, some of which had and had not been pruned, collecting some useful comparative data. We also reinforced the main bridge which enables access to the plantation site.
During the month, we cleaned four local beaches: Klong Muang (twice), Ao Nam Mao and Ao Nang. We collected a total of 897.5 kg of litter. On our first visit to Klong Muang we collected a whopping 498.5 kg of litter.
At AoNang beach, we were joined by the Community volunteers and staff as we were celebrating the Queen's Birthday. It is common in Thailand to do something special for the environment on the Queen or the King's birthdays. So we decided to clean AoNang Beach and tried to persuade as many by-passers or sunbathers as we could to join us.
This month, volunteers visited the Krabi Fisheries Department in Laem Poh, where they learnt about the work of the facility and assisted by removing algae from the ponds.
Volunteers also went bird watching this month, at a nature reserve not far from the picturesque Emerald Pool. The reserve officers first gave a presentation about the site and the local avifauna. They then guided the volunteers on the site and gave them advise as to how to best spot the birds. Some of the birds sighted included: Chestnut-winged Babblers; Red-eyed Bulbuls; Green Broadbills; Asian Fairy Bluebirds; and Tiger Shrikes.
Belinda Spagnelotti (Volunteer -Australia) and Marie Goarin (Marine Conservation Director)
September 2009
Projects Abroad


text: Whether you're at your bench working on shells or cartridges, you'll want to use Remington reloading components. We offer industry-leading products that have changed the way sportsmen think of reloading. For shotgunners, our Premier® STS® primers offer more uniform velocities, while our shotshell wads improve patterns and produce more reliable gas sealing. In centerfire, our Kleanbore® primers are renowned for their reliable uniformity, and Remington cartridge brass are widely hailed as the longest-lasting, most easily formed available. So whether you're at the range, on the sporting clays course or in the field, use Remington reloading components. They just might turn your good day into a perfect one.

subset: commoncrawl


text:
Relationships with
Photo Credit: Bobby Short's picture is courtesy of NNDB. Photographic illustrations of Bobby Short are copyright © by their respective holders. The images are published with permission or as allowed by the copyright law's fair use or quotation provisions. If any copyright holder objects to an image being included, please notify us and it will be removed immediately.
Disclaimer: This information about Bobby Short is derived from astrological interpretation of Bobby Short's date, time, and place of birth.


text:
We need to consider, as a society, that we've run out of decent ways to smuggle cocaine. I say this because David Pocasangre Vaquiz was arrested outside DC with $10,000 worth of coke stuffed into 80 clams. Clams.
I guess Vaquiz, who had just gotten off a plane from Panama, the Examiner reports, didn't have a good sub at his disposal. But you have to give him some bonus points for creativity. Where did he find 80 clams? Did he eat the clam flesh before filling the shells with cocaine? I'm no Stringer Bell, but this seems like a lot of effort to move only $10k worth of drugs. If only Vaquiz had combined shoe cocaine guy's ambition with the clam method—well, we could have really had something here, friends. [Examiner]


text:
I am trying to interface AdaFruits Micro SD shield with the Arduino, it works with the pins 10, 11, 12, 13 on the main Arduino UNO board.
However, in my project I have to interface it with the ICSP header pins for Atmega328 (that also supports SPI connection). How can I do this? I thought this should be possible.
I followed the tutorial http://www.ladyada.net/products/microsd/, but there is no mention of how to do it using ICSP pins.
Please looking forward for your help!!!


text:
He's back.
Eliot Spitzer is done with the wilderness and wants to be the next Comptroller of New York City.
He'll probably win. And fortunately for those of us who live in New York City, he'll probably be good at it.
The city comptroller has three main responsibilities: overseeing the city's employee pension systems (among the largest in the country), issuing debt, and auditing the city's finances. These are important roles, especially given the extreme stresses that New York City's budget is under today:
- Rising costs: The amount city taxpayers have to deposit into pension funds has risen from $500 million a year in 2000 to $8.5 billion today. (The city budget totals about $72 billion.) Thanks to the strong stock market, pension costs are finally stabilizing at a "mere" $30,000 per worker per year. But health benefit costs will keep rising, from $5 billion now (or about $17,000 per full time-equivalent employee) to $6.5 billion in 2017. Soon, the city will spend one out of every five budget dollars on employee fringe benefits. We should fix that, as most private companies have, but ...
- Lack of reform: In most cases, city employees pay no part of their health insurance premiums. That means that taxpayers have borne nearly 100% of the cost as health benefit expenses have risen on autopilot. Mayor Mike Bloomberg has talked extensively about the need to fix this in new union contracts, as have some candidates for mayor, including Christine Quinn and Anthony Weiner, but ...
- Labor uncertainty: Most city employee unions have been out of contract for four years. Early in his term, Bloomberg was quite generous with raises, which is a key part of why he hasn't offered up any since 2008. The unions have refused to sign new contracts, hopeful that a new mayor will give them a fat, retroactive raise, but ...
- Depleted reserves: Over the last few years, the city has responded to the economic slowdown and rising benefit costs by depleting its rainy day funds and its retiree health benefits trust fund. With those slush funds gone, the new mayor won't have much money to buy the unions' agreement on new contracts, even if he or she wants to. And without reserves, the city is much worse positioned to deal with a recession than it was in 2007.
New York City government has a cost structure that is uncompetitive, unsustainable, and unprepared for economic risk. Legacy costs are crowding out the city's ability to invest in infrastructure and draw in new and diverse businesses. These are exactly the sort of issues that the city comptroller should be raising the alarm about.
Unfortunately, New York City Comptroller has historically been a job for Democratic machine politicians of little distinction who hope to use the job to get elected mayor. Seven of the office's eight last occupants have tried to get elected mayor. All but one have failed.
If you're a machine politician trying to use the comptroller job as a springboard, you can't be too aggressive in your role as an auditor, less you alienate one of the constituencies you need to back your run for mayor. Comptrollers are captured, and they haven't been promoting the reforms they should be.
Of course, Spitzer probably wants to run for mayor, too. But his path to the mayor's seat would be different from the usual comptroller's. He's an outsider who doesn't owe anything to the city's unions, contractors, health care interests, real estate investors, or anybody else. He has a public profile that will rival the next mayor's, whomever that is. And he isn't a mediocrity.
Spitzer told The New York Times yesterday that he intends to broaden the role of the comptroller, by auditing not just the city's finances but the effectiveness of government policies overall. In other words, it sounds like he intends to set up a shadow mayor's office.
Given the mayoral administration that we're likely to get with any of the front-running candidates — lacking imagination and hemmed in by tight fiscal and political constraints — a prominent shadow mayor could be very useful.
Spitzer showed good instincts on cost-effectiveness issues as governor. As Stephen Smith notes, he was one of the few New York State politicians who even tried to rein in the boondoggle of World Trade Center reconstruction. That effort was cut short by Spitzer's resignation from the governor's office.
Spitzer wasn't any good at actually working with the legislature to address the problems he identified, which is a reason to worry that he wouldn't be a good mayor. But city comptroller, like state attorney general, is a job that would suit Spitzer's analyst-and-pitbull instincts well without requiring him to actually lead an administration.
One risk is that Spitzer could use the comptroller's office as a vehicle to rebuild his national profile, using the city's pension investments as an excuse to be an activist investor. Spitzer likes to sue people and there are a lot of people you can sue when you run one of the country's largest pension funds.
That wouldn't do much to serve the interests of New York City residents. But to the extent Spitzer trains his fire on issues within the city's boundaries, he's likely to add a lot of value.
Welcome back, Eliot. It's going to be interesting.


text:
"The Office" is set to go out of business after its upcoming ninth season. When that gets going at 9 p.m. Thursday on NBC, we're hoping for more memorable moments from a show that's provided plenty of them. Here's a look back at some favorites:
That's What You-Know-Who Said
The first use of the show's catchphrase, "That's what she said," came in an early episode in which Michael, under pressure to stop sexual harassment in the office, is goaded by Jim into spouting the juvenile rejoinder. You'll find that exchange below, along with other that's-what-she-said exchanges.
U.S. & World
Dancing Fool
Michael tries to grab the spotlight during a company booze cruise, interrupting the craft's dynamic captain (Rob Riggle) by breaking into a manic dance that's as much an exercise in comedy as it is a pathetic plea for attention.
Prison Mike
Michael dons a do-rag and role-plays a character straight out of an "Oz" parody in a misfired bid to make a new employee, an ex-convict, feel comfortable. The sequence also features perhaps Michael's most overt overture to his young man-crush Ryan. Ricky Gervais and Stephen Merchant, the creators of the original UK version of "The Office," wrote the episode.
Jim and Pam's Wedding Dance
"The Office" sneaks in the occasional sappy moment, perhaps none sweeter than the staff wedding dance down the aisle at Jim and Pam's wedding. The dance, set to Chris Brown's "Forever," borrowed the gimmick from a viral video and lent an additional lightness to one of the series' most touching events.
Dwight's Speech
Dwight, after taking public speaking tips from Jim, accepts his "Salesman of the Year" award with an arm-waving, podium-banging speech inspired by Mussolini. "Blood alone moves the wheels of history!" Dwight tells an auditorium full of sales staffers.
Michael Meets David
Ricky Gervais reprised his David Brent character from the original UK version of "The Office" for this chance meeting with Michael outside an elevator during Carell's final season. Michael and David discovered they have similar senses of humor and a penchant for offensive ethnic imitations.
Grilled Scott
Michael calls the office crying for help after he rises from bed and accidentally burns his foot on his George Foreman Grill. "I like waking up to the smell of bacon – sue me," he says later.
Fire Marshal Dwight
Dwight, annoyed that his fire prevention lecture was ignored, locks the office and sets it ablaze – sparking panic and giving us perhaps the best extended physical comedy bit in the show's history.
Diversity Day
After Michael does his clumsy imitation of a racially charged Chris Rock routine, the staff is required to undergo diversity training. Michael hijacks the session and creates his own exercise in which staffers are forced to wear cards on their foreheads declaring a different race or ethnicity.
Goodbye, Michael
Carell's last scene proved funny and poignant as we see – but don't hear – him mouth his catchphrase a final time. Even stronger was his emotional goodbye from Jim, who tells Michael he's "the best boss I ever had." The big challenge, as "The Office" heads towards its series finale, will be to top this classy, bittersweet farewell.
Hester is founding director of the award-winning, multi-media NYCity News Service at the City University of New York Graduate School of Journalism. He is the former City Editor of the New York Daily News, where he started as a reporter in 1992. Follow him on Twitter.
Copyright FREEL - NBC Local Media


text:
This item is only available online. It will be delivered to your location.
Providence Video Production Equipment Rentals-Sony PMW-EX1 Video Camera For Rent-Rhode Island Video Camera Rental
Birmingham Video Production Equipment Rentals-Sony PMW-EX1 Video Camera For Rent-Alabama Video Camera Rental
Indianapolis Video Production Equipment Rentals-Sony PMW-EX1 Video Camera For Rent-Indiana Video Camera Rental
Chicago Video Production Equipment Rentals-Sony PMW-EX1 Video Camera For Rent-Illinois Video Camera Rental
All rental items will be shipped to Las Vegas, Neveda from dvDepots home base location in New York City.
Las Vegas Video Production Equipment Rentals-Sony PMW-EX3 Camcorder For Rent-Nevada Video Camera Rental
Video camera rentals in Las Vegas, NV. dvDepot is a camera equipment rental company and a full service crewing facility. They offer everything including a wide range of camera crew rentals, editors and audio technicians. Start to finish dvDepot can assist you with all your production rental needs. They have a massive inventory of camera rental equipment including hd video camera rentals, spy cams for rent, lenses rentals, lighting and audio equipment services for rent as well as cables, jibs, decks, grip accessories and much more. Servicing all of Las Vegas including Henderson, Reno, Paradise, North Las Vegas, Sunrise Manor, Spring Valley, Enterprise, Sparks, Carson City, Whitney, and all of Nevada.
A rich variety of features for creative shooting are incorporated into this camcorder such as "Slow & Quick Motion", which is also commonly known as "over-cranking" and "under-cranking", selectable gamma curves, slow-shutter, interval recording and Picture Profile™ feature. Additionally, the PMW-EX3 offers a convenient remote-control and multi-camera operation capability, which allows use with high-end camera systems.
The PMW-EX3 follows on from the successful launch of the new PMW-EX1 and offers all the great features of the PMW-EX1 in a new semi-shoulder design. In addition to this new design the camcorder also features an interchangeable lens system, genlock, timecode and remote control capability for real added flexibility, offering a low-cost HD studio solution.
The PMW-EX3 combines a state-of-the-art, non-linear XDCAM workflow with simply the best HD quality yet seen in a semi-shoulder camcorder. It is also the first semi-shoulder camcorder to carry the legendary CineAlta 24P brand with multiple frame rate recording capability such as 59.94i, 50i, and native 23.98P, as well being 1080i/720P switchable.
There is also a choice of a 35Mb/s High Quality mode or a 25Mb/s, HDV 1080i compatible mode. To take advantage of this high performance recording capability, the PMW-EX3 uses the same imaging system as the PMW-EX1, consisting of three ½-inch type CMOS sensors, each with an effective pixel count of 1920x1080. In addition, there's a purpose-built interchangeable Fujinon Professional HD ½-inch 14x lens and a unique dual focus ring mechanism. Included in the package is a ½-inch lens adaptor to allow use of other ½-inch lenses, plus the ability to use other optional lens adaptors for 2/3rd-inch, cinema-style and digital SLR lenses.
To maximize recording time, the PMW-EX3 has two memory card slots which means with a pair of 16 GB SxS PRO memory cards, it can record up to 140 minutes of HD footage.
A wide variety of accessories are also available, including a USB Reader/Writer, a wide-conversion lens, battery and charger.
The PMW-EX3 HD compact camcorder is the ideal solution for a wide range of customers from broadcasters through to independent videographers and film makers who want exceptional HD picture quality and state-of-the-art workflow from an affordable semi-shoulder camcorder.
dvDepot carries a wide variety of video equipment for rent including camera rentals and accessories. Their cameras available for rent range from mini-DV to the latest HD, providing the right equipment for your production's needs. Just contact dvDepot to let their rental experts guide you through the ever-evolving landscape of digital cinema, choosing the right video format and equipment for your personal situation is crucial. Contact DVdepot for any of your Las Vegas Video Camera Rental needs. Servicing all of Las Vegas including Las Vegas, Henderson, Reno, Paradise, North Las Vegas, Sunrise Manor, Spring Valley, Enterprise, Sparks, Carson City, Whitney, Pahrump, Winchester, Summerlin South, Fernley, Sun Valley, Elko, Mesquite, Spanish Springs, Boulder City, and all of Nevada
All rental items will be shipped to Las Vegas, Neveda from dvDepots home base location in New York City.
For additional information you can view this item at dvDepot-Nevada Video Equipment Rentals or you can use the contact form below.
Related Rental Listings


text:
Chris Brown has taken to giving relationship advice.
The R&B singer who pleaded guilty to beating then-girlfriend Rihanna bloody posted a link to a video montage of he and the pop princess in better times on his Twitter page with the text: "IM SORRY YALL. JUST HAD TO POST IT."
"FOR THE FELLAS: showing emotion doesn't make u weak... BEING HONEST MAKES U STRONG," he wrote on his page today.
U.S. & World
It's likely Brown was waxing nostalgic about his former girlfriend when he published the link to the user-made YouTube video, which is set against the backdrop of R. Kelly's "The Way We Used to Be" and shows the two embracing, sharing tender kisses and performing together on stage.
For now, Brown will have to cling to those happy memories since he isn't allowed within 50 feet of his ex-love.
The 20-year-old singer tried to explain his behavior during an interview with New York radio station Hot 97 last week.
"I regret every second of it," Brown said. "I'm human. Of course you're gonna have your thoughts and opinions. I'm not gonna say they're wrong. But at the end of the day, it's not right to judge someone. People make mistakes all the time."
Brown pleaded guilty to felony assault charge over the summer and was given five years probation and 180 days of community labor. He was also issued a restraining order for five years.


text:
He began skating earlier than his brothers and was therefore much smoother on the ice. He combined speed with strength and was a resourceful goal scorer. But his career was interrupted by his service in the Royal Canadian Air Force during World War II, preventing him from playing in his prime and perhaps establishing himself as the third Conacher superstar in professional hockey.
Roy and his twin brother, Bert, were born on October 5, 1916, in Toronto, the youngest of 10 Conacher children. In his youth, Roy played hockey for Toronto-area teams, leading the Marlboro juniors to titles across the province at the bantam and midget levels. In 1933-34, he joined the West Toronto Nationals and played for three seasons in the Ontario Hockey Association. In his final year he led the league in scoring and was the star of the Nationals when they won the Memorial Cup in 1935-36.
At the age of 22, he was put on the Beantown roster, playing on the left wing alongside center Bill Cowley, a future Hall of Famer whose style meshed perfectly with the talented Conacher's goal-scoring touch and ability to anticipate plays. Conacher led the league with 26 goals in 47 games in his first season - the first rookie to ever accomplish the feat, a record that wasn't broken until Teemu Selanne came along more than 50 years later. The Bruins made a fabulous run through the playoffs, with Conacher scoring six times, including the goal that won Boston the Stanley Cup in the finals against the Toronto Maple Leafs in 1939. Conacher finished second to teammate Frank Brimsek in Calder Trophy voting for rookie of the year honors.
In his first four seasons, Conacher was among the league's top 10 scorers each year. He barely made it in 1939-40 after he broke his wrist and missed 16 games. The next season he paced Cowley to the scoring championship and scored 24 goals himself. Except for his last year with the team (1941-42), the Bruins finished first in the regular season each year he played. At one point Boston had a streak of 23 undefeated games, including 15 road games without a loss. The Bruins had little trouble with Detroit in the finals, sweeping the Red Wings to earn Conacher his second Stanley Cup win.
Conacher's promising career was put on hold when he volunteered for the RCAF and was stationed in western Canada and abroad during the war. He was given an honorable discharge following the war, but when he returned home, his boss with the Bruins, Art Ross, was doubtful he could regain his scoring touch after so long an absence from competitive hockey. Roy played only four games with Boston before Ross traded him to Detroit at the beginning of the 1946-47 season.
Conacher, with all that natural talent easing his transition from his military break, led the Red Wings in scoring in his first season with the team with 30 goals and 54 points, good for seventh in the league. In one game, he helped linemate Billy Taylor set the assists record when he scored three goals in the opening period and another in the second, all of them assisted by Taylor, who finished the game with seven assists.
Conacher's stay in Detroit was cut short by an argument with GM Jack Adams about his pay for the upcoming season. Conacher was at first traded to the New York Rangers, but he refused to report and announced his retirement. Two weeks later the trade was voided and he was signed instead by the Chicago Black Hawks. Midway through his first season he was joined in Chicago by his brother Charlie, who was named the team's coach. Charlie placed Roy on a line with Bill Mosienko and Doug Bentley, replacing the departed Snuffy Smith, who had set scoring records with the talented playmakers. Conacher responded with the best season of his career in 1948-49, winning the Art Ross trophy - ironic given that it was Ross who had doubted him a few seasons before - as the NHL's leading points getter with 68. He was placed on the league's First All-Star Team and played in the All-Star Game, significant accomplishments in the postwar era, when the league was once again a stomping ground only for hockey's best.
The Black Hawks were a weak team and Charlie was eventually let go. Roy retired three or four times himself, and though he led the team in scoring several more times, he finally retired for good from the game in 1952, just 12 games into the 1952-53 season.
A TopicSite MapAccessible Customer Service PlanAdmission RatesAudio/Video VaultCorporate InformationDid You Know?DonationsDynastiesEducation ProgramElection ProceduresExhibits TourFace-Off Interplay Fan FeedbackGalleryGeneral InformationGroup SalesHonoured MembersHours of OperationInduction ShowcaseLegend SpotlightNewsNHL Player SearchOlympic Hockey HistoryOutreach ProgramPro ClassicsPromos & EventsRecords & RankingsResource CentreSilverware & WinnersSpirit of Hockey Retail StoreStanley Cup JournalStanley Cup TributeTeammatesThis Day In Hockey HistoryTime CapsuleVenue RentalsVisitor InformationWomen's Hockey TributeWorld of Hockey Calendar


text:
We recommend
Aberystwyth Cliff Railway would like to take the opportunity to recommend:
New For 2015
Accommodation now available in the newly renovated Cliff Railway Apartment.
A unique place to stay at the heart of Cardigan Bay.
Bookings can be made at:
The Vale Of Rheidol Railway
Take a trip on this lovely steam train, travelling through the stunning Welsh countryside to the magestic Devil's Bridge Waterfalls - Not to be missed!
Borth Animalarium
Fantastic fun for all the family with daily feeding and animal shows.
Buy your feed pot on the way in and make friends with the inhabitants!
Maes-Y-Mor Guest House
Self Catering Holiday Accomodation in a superb central location perfect for exploring!
Website: www.maesymor.co.uk/index.html
Maes Bach
Self Catering Holiday Accomodation.
Website: www.aberaccommodation.com
CREATE/ENABLE - Aberystwyth based website design and marketing company. Website: www.create-enable.com
More to follow...
If you would like to see your company name, and a brief bio and reciprocal link on this page, please call us on 01970 617642.


text:
You might wonder why my preschooler was up late at night watching adult-oriented television shows and their correspondingly mature ads.
He wasn't. We saw this commercial at 10:30 on a Sunday morning, while he and I were playing with Legos in the family room, where my husband was watching his weekly New England Patriots football game via DirecTV's NFL Sunday Ticket satellite feed. (OK, so local audiences on the East Coast would have seen it at 1:30pm. I guess no kids at all are watching TV with their parents at that hour, right?)
I know football itself is a barbaric sport, and the thought that anyone under the age of 80 might accidentally see that Cialis ad with the bathtubs is offensive to human dignity. But my four-year-old happens to find football on TV very boring (hence the Lego table in the family room). And he clearly isn't remotely intrigued by oldsters in bathtubs, because he's never asked me what a four-hour erection is (for which I am grateful). The Call of Duty Black Ops commercial, however, captured all of our attention, and fast. Though I tried to jump for the remote and press pause, I wasn't quick enough—he'd seen and absorbed the bulk of the mega-violent and ultra-realistic machine-gun fire, rocket launching, and handgun brandishing before I could do anything about it.
I understand that the Call of Duty series prides itself on mega-violence and ultra-realism. (In case you didn't know, the last game in the series let you gun down innocent civilians as they crawled pathetically away trying to save themselves.) Generally, my track record on the whole "violence in video games" issue is clear and consistent. I'm not upset about violent video games, nor am I upset about violent ads for violent video games. I even went on live TV once upon a time to defend Grand Theft Auto in a "debate" (if you could really call it that) against Jack Thompson. (Remember that ambulance-chasing anti-video-game lawyer? Where is he now, anyway? Oh wait, I remember—nobody cares!)
But I was upset at being caught unaware by this visceral glorification of violence, and I was saddened that my little boy was suddenly and unexpectedly having to process images he is simply way too young and innocent to understand. And that is when I had one of "those" moments. The moment when you realize you're getting older, and you're no longer as blithely permissive as you once were. When you realize you're a parent, and you have to be permanently vigilant to make sure your child only sees certain flavors of media when he is ready to see, discuss, and understand them. And when, for a second that lingers longer than you'd like, you understand on a very personal level all those people who do hate and fight against violent video games, who don't support their right to exist, who don't appreciate them as art or free speech.
I'm not against Call of Duty or violent video games, but I'm shocked and disappointed that this ill-placed ad campaign made me, a staunch video game supporter and advocate, briefly want to side with those who are.


text:
Had to do some shopping yesterday since we're leaving for Sweden in a couple of days to attend a party and had no time for blogging. An excellent shopping lunch though is the classic Club sandwich. Apparently the first Club sandwich was served 1894 at the Saratoga Club House, a famous gentlemen club in Saratoga Springs, New York.
Another classic is of course the Ceasar salad but I often find that restaurants make their own versions, and rarely with success. So, Club sandwich à la Schmidt it is.
Club Sandwich
- 12 toasted slices of Tin bread
- 2 Avocados, sliced
- 4 Chicken breasts, grilled or fried in a grill pan
- 2 Red onions, sliced and fried
- 2 Tomatoes, sliced
- 6-8 Lettuce leaves
- 10-12 slices of Bacon
- 3 Egg yolks
- 1 tbsp Mustard
- a dash of Vinegar
- 2-3 dl Rape oil
- a splash of Lemon juice
- 1 red Chili, chopped, or Sambal Olek
- 2 Garlic cloves, grated
- 1 dl Sour cream
Start with the chili mayonnaise. Make sure that all the ingredients are room temperatured. Blend egg yolks, mustard and vinegar. Use an electric mixer and carefully pour the oil little by little. When you have a good consistency add chili and a splash of lemon juice.
Add grated garlic and sour cream.
Start with a slice of bread, lettuce, avocado slices, the grilled chicken breast, sauce, bread slice no 2, fried onion, slices of bacon, tomatoes and more sauce and at the end bread slice no 3.
Not healthy but very, very tasty!
Music: Listening to the Belgian duo, Aeroplane


text:
Powered by Intel®
Partner with Dell Technologies and get device security, enterprise-level servers and storage, and data protection solutions that can defend your business from dangerous and costly cyber threats.Watch what powerful security looks like
Securing your mid-market business is a constantly evolving process. Our experts help deliver industry-leading security technologies to equip your team and ensure your business is fully protected.
From devices to infrastructure, get end-to-end security solutions to protect data, prevent threats, and keep business moving – all with seamless implementation from Dell Services.
Enjoy unprecedented productivity with this stunningly small 2-in-1 that features the longest lasting battery ever found in our PCs.Shop more laptops
The world's smallest 14" mainstream business-class notebook27, designed for better security, manageability and reliability, built with a versatile design and ExpressCharge feature.Shop more laptops
From the world's most secure desktop family4 this small footprint micro desktop delivers full-size desktop performance and versatile mounting options.Shop more desktops
IT efficiency and end-to-end security are at the core of Dell EMC PowerEdge servers. Built with leading integration, automation, and deployment capabilities, every server is built to protect and power a wide variety of applications and workloads with ease. Start and scale as needed knowing that your IT assets are secure, protected and available.Learn more about mid-market server solutions
As mid-market business face increasingly complex workloads and the constant threat of cyber-attacks, a technology partner that can deliver reliable, built-in data protection is crucial. Dell EMC storage solutions optimize workloads and maximize your storage investments with self-encrypting drives, built-in disaster avoidance and snapshots in each array. Reduce risk and boost productivity with industry-leading scalable storage purpose-built for mid-market businesses.Learn more about mid-market storage solutions
Whether you are accelerating data center modernization or deploying a hybrid cloud, VxRail delivers a turnkey experience that enables our customers to continuously innovate on a secure, modern infrastructureLearn more about mid-market HCI solutions
Multiple layers of security that help ensure data is secure in motion and at rest.
Achieve peace of mind that your devices are inherently safe with a chip that stores user credentials and processes authentication securely.Learn more about device security
Secure your IT investments with embedded BIOS-level safeguards, including Dell-unique off-host BIOS verification that gives visibility to unplanned changes.6Learn more about device security
Comprehensive threat protection—with Prevent, Detect and Respond capabilities—from Dell Technologies partnerships with Secureworks and Crowdstrike. With AI and machine learning technology of Next-Gen AntiVirus (NGAV) protection from Crowdstrike Falcon Prevent, it identifies potential threats and blocks attacks.Learn more about device security
SafeData gives end users the freedom to smartly collaborate knowing data is secure, even in the cloud - available only from Dell. With embedded and efficient compliance reporting, IT Admins can verify and prove data is always protected.Learn more about device security
With purpose-built secure infrastructure, you'll be confident that customer data is always secure and that your business is running with maximum efficiency.
The number one purpose-built backup appliance9 gives you industry-leading deduplication, scalability and cloud-ready storage protection at a lower cost.View more Data Domain
The most cost-effective data-protection appliance tailor-made for mid-market organizations—at the lowest cost to protect.11 Protect up to 4X more data12 with an average 55:1 deduplication rate13 and up to 2X faster backup.12View more Integrated Data Protection Appliance
With best-in-class services from Dell Technologies, you have dedicated security experts ready to get systems up and running fast and resolve issues even faster.Read productivity report
Avoid problems before they happen, with proactive monitoring, automated issue detection and predictive analysis failure detection.16
Experience the market's most complete enterprise deployment offer, from start to finish.17 Reduce technical support contacts by up to 49% with ProDeploy Enterprise Suite.18
Experience one of the most complete support services that combines priority access to experts, accidental damage repair, and proactive monitoring with automatic issue prevention. Reduce time to resolve a failed hard drive with up to 11x faster time to resolution.19
Get new business PCs up and running faster from factory to desk—all with less IT effort. Reduce PC deployment time by up to 56%.20
PC as a Service (PCaaS) combines hardware, software, lifecycle services and financing21 into one all-encompassing solution. We work with you to develop the best refresh strategy for your business, with strong focus on employee experience and productivity.View brochure
New digital capabilities will transform how mid market organizations perform, but this change depends on a strong IT foundation.
Security threats are constantly evolving, and mid market organizations need a partner to support and secure their IP.
Limited IT staff resources could have a dramatic impact on the financial success of mid market organizations.
1, 4 Based on Dell internal analysis, August 2017.
2 Based on the Forrester® Total Economic ImpactTM Study commissioned by Dell and Intel®, February 2018. Full Report
3 IDC Worldwide PC Monitor Tracker (4Q17).
5 CrowdStrike Endpoint Protection Platform, Anti-Virus Comparative October 2018.
6 Requires Dell Endpoint Security Suite Enterprise (ESSE), installed.
7 Based on a Forrester TEI Study commissioned by Dell EMC: Improved Performance and Cost Efficiency Enabled By The Dell EMC All-Flash Storage Portfolio, September 2017. Results based on a composite org constructed from (4) customer interviews and are a comparison to traditional disk storage. Full Study: https://www.emc.com/collateral/analyst-reports/forrester-all-flash-tei-multi-company-case-study.pdf
8 Source* IDG Research Services survey and whitepaper commissioned by Dell EMC, "Hyper-Converged Infrastructure Delivers Value as it Goes Mainstream in the Data Center," Feb 2018, http://www.emc.com/collateral/analyst-reports/idg-quickpulse-hci-goes-mainstream-final.pdf
9 Based on IDC WW Purpose-Built Backup Appliance Systems Tracker, 4Q17 (revenue), March 2018.
10, 12 ESG Lab Review commissioned by Dell EMC, February 2018, versus a competitive Vendor A. Additional information on the testing environment.
11 Dell EMC internal analysis using publicly available competitive pricing from Rubrik and Cohesity, May 2018. Lowest cost-to-protect is based on USD$ per logical GB. Actual cost will vary.
13 Based on Dell EMC internal analysis of customer data as of May 2018.
14 Based on a Feb. 2018 Principled Technologies Test Report commissioned by Dell EMC comparing in-house deployment vs. Dell EMC ProDeploy for Enterprise deployment service for Dell PowerEdge R730 servers, Dell Storage SC9000 and SC420 and networking components. Actual results will vary. Full report: http://i.dell.com/sites/doccontent/shared-content/data-sheets/en/Documents/prodeploy-enterprise-principled-technologies-report.pdf
15 Third-party lab test with Principled Technologies (Save time and IT effort resolving server hardware issues with ProSupport Plus and SupportAssist) - June 2018.
16 Predictive analysis failure detection includes hard drives, solid state drives, batteries and fans.
17 Based on Dell EMC internal analysis of competitive offers as of April 2018.
18 Based on a December 2017 internal analysis of support data from Oct. 2015 through June 2017 for Dell PowerEdge, Dell Networking, and Dell SCv/PS/PowerVault Storage devices comparing support contacts within the first 90 days in units that were self-installed vs units that utilized ProDeploy/ProDeploy Plus. Actual results may vary.
19 Based on a Principled Technologies test report, "Spend Less Time and Effort Troubleshooting LaptopHardware Failures" dated April 2018. Testing commissioned by Dell, conducted in the United States.Actual results will vary. Full report: http://facts.pt/L52XKM
20 Based on IDC White Paper commissioned by Dell, "Business Value of Optimized Device Deployment", July 2018. Results derived from a survey of 500 organizations worldwide. Savings calculated reflect costs associated with IT staff time for deployment-related activities and do not include the list price of ProDeploy Plus. Cost savings in U.S. Dollars. Actual results will vary. Full report: https://www.dellemc.com/resources/pt-pt/asset/analyst-reports/services/IDC_Business_Value_of_Optimized_Deployment.pdf
21 Flexible financing available for custom orders >150 units. Terms subject to credit approval and documentation provided by and acceptable to Dell Financial Services.
22 Terms subject to credit approval and documentation provided by and acceptable to Dell Financial Services.
27 Based on Dell internal analysis, February 2019, using publicly available data. The smallest refers to total surface area of the notebooks with Intel® vPro™ support.
28 IDC White Paper commissioned by Dell EMC, "Delivering Efficient Business Expansion with Dell EMC VMware-Based HCI," October 2018. Actual results will vary. https://www.dellemc.com/pt-pt/converged-infrastructure/index.htm#cobrand=scalable&overlay=/collateral/analyst-reports/idc-delivering-efficient-business-expansion-with-dell-emc-vmware-based-hci.pdf


text:
In the Preface for Effective Unit Testing: A Guide for Java Developers, author Lasse Koskela states that although the impetus for Effective Unit Testing was to "write a Java edition of Roy Osherove's book, The Art of Testing with Examples in .NET," Effective Unit Testing ended up "having very little in common with Roy's book." Koskela further explains in the Preface that "this book is for the Java programmer," but adds that "writing good tests is a language-agnostic problem" and he recommends his book even for developers using languages other than Java.
Koskela does a nice job in the "Preface" of succinctly summarizing what the book is and isn't when he says, "I didn't want to give you a tutorial on JUnit or my favorite mock object library" and "I've tried to minimize the amount of technology-specific advice." This is important to note because Effective Unit Testing is not the book you'll want if you're looking for a book covering intricate details of JUnit, TestNG, Mockito, EasyMock, Hamcrest or other commonly used Java unit testing frameworks and tools. Instead, the focus of Effective Unit Testing: A Guide for Java Developers is on more general concepts of unit testing in general (and in Java in particular) that might be implemented with any variety of different tools. That being stated, Koskela doesn't ignore these tools completely and does sprinkle JUnit code throughout the book along with code samples based on other unit testing tools such as JMock, Mockito, and Hamcrest.Chapter 1: The Promise of Good Tests
In Chapter 1 of Effective Unit Testing, Koskela mixes brief historical testing anecdotes with basic introductory material and often-cited reasons on why unit tests and automated tests are important (identifying bugs, improving design, avoiding scope creep, and learning from the test-writing experience). Koskela talks about why units tests are more effective when used for design in addition to being used for quality assurance.
The "Factors of Productivity" section of Chapter 1 is useful for understanding certain measures by which one might determine whether unit tests are "effective." These include execution speed (performance), readability, reliability, and trustworthiness. Achieving these characteristics of effective unit tests is the focus of the book. A couple concluding sections of the first chapter focus on using tests for design and employing behavior-driven development (BDD).
Among other introductory details, he articulates why "100% code coverage isn't the goal." Several well-known testing-related terms ["test-infected", "test-driven development" (TDD), and "accidental complexity"] are also introduced in this chapter along with references for additional details. In this first chapter, the author also introduces his "The Law of Two Plateaus" to differentiate between using unit tests solely for quality assurance versus using them for design in addition to quality assurance.
Chapter 1 is mostly introductory and probably doesn't hold a lot of new insights for someone who has worked with Java extensively and/or has written unit tests extensively. However, it does manage in 12 pages to meet the author's goal for it and the other two chapters (Chapter 2 and Chapter 3) of Part 1 of providing a "shared context" for the remainder of the book.Chapter 2: In Search of Good
Chapter 2 delves deeper into the question of "What makes a test 'good'?" Koskela is quick to point out that there is some subjectiveness to this ("some of the quality of test code is in the eye of the beholder" as is the case for any code) and that different contexts can affect whether a particular unit test is good or not.
Koskela discusses in this chapter how virtues of regular source code are often valued virtues of test code. For example, he discusses that readable test code is maintainable test code and that appropriate structure plays a big role in making tests understandable. Koskela devotes a section of Chapter 2 to a smaller but significant issue I've seen repeatedly in writing and maintaining my own and others' unit tests: unit test methods that advertise testing something they don't really test (perhaps because they are named poorly) can be very costly. I like what Koskela titles that section, "It's not good if it's testing the wrong things." This sounds obvious, but there is deep truth to that simple statement.
Another section of the second chapter focuses on the principle that, for good tests, "independent tests run easily in solitude." Koskela provides a list of dependencies (such as "randomness" and "persistence") that to him are code smells indicating that something might be wrong with the unit test code. I like his "litmus test for a project's test infrastructure" to satisfy the following scenario: "Can I check out a fresh copy from version control to a brand new computer I just unboxed, run a single command, lean back, and watch a full suite of automated tests run and pass?" This section does a nice job of covering why it's important that tests are independent and do not rely on being called in a certain order. In addition to pointing out some unit test dependency smells in this section, Kosekla also provides some specific approaches that might be taken to address these.
One of the sections of the second chapter of Effective Unit Testing looks at why testing the wrong thing or even testing nothing at all ("happy tests") are problematic. There is coverage of why tests "need to be repeatable" along with references to Java-specific examples of tests that introduce things outside of the testing developer's control into the tests.
The last section of Chapter 2 (not counting the "Summary") introduces test doubles, the subject of Chapter 3. Koskela defines test doubles as "an umbrella term for ... stubs, fakes, or mocks." He adds that "test doubles" are "objects that you substitute for the real implementation for testing purposes." Koskela groups test doubles with testing frameworks and build tools as his "top three tools of the trade for software developers writing automated tests."Chapter 3: Test Doubles
The third chapter is the concluding chapter and my favorite chapter of Part 1 ("Foundations"). The chapter is devoted to coverage of "test doubles", a term and concept introduced in Gerard Meszaros's xUnit Test Patterns: Refactoring Test Code. Koskela outlines five reasons developers might use test doubles, including "the most fundamental of the reasons for employing a test double - to isolate the code you want to test from its surroundings." After listing these five reasons for use of test doubles, Koskela describes each of these motivating reasons in greater detail. He then describes each of the types of test doubles and compares their strengths and weaknesses. Koskela's section "Guidelines for Using Test Doubles" introduces his "logic and heuristics" for "picking the [test double] option that results in the most readable test". These include five considerations plus the simplifying rule: "stub queries; mock actions" (attributed to J.B. Rainsberger, author of JUnit Recipes).
The third chapter of Effective Unit Testing also touches on organizing unit tests with the Arrange-Act-Assert convention and likens this to behavior-driven development's Given-When-Then vocabulary. This chapter also demonstrates principles of the chapter with brief forays into JMock and Mockito code examples and a reference to J.B. Rainsberger's blog post JMock v. Mockito, but Not to the Death.Chapter 4: Readability
The fourth chapter of Effective Unit Testing is the first chapter of Part 2 ("Catalog"). As with all three chapters in Part 2, Chapter 4 looks at "test smells" that might indicate tests that are less effective than they could be. In this chapter's case, the test smells are those most closely associated with problems related to readability of unit tests.
Koskela starts Chapter 4 by articulating the difference between reading test code and running test code: "Reading the tests ... should provide the programmer with an understanding of what the code should do. Running those tests should tell the programmer what the code actually does."
The test smells that Koskela associates most closely with the "readability" portion of his Test Smells Catalog are:
- Primitive Assertions
- Assertion that "uses more primitive elements than the behavior it's checking"
- Analogous to the primitive obsession code smell
- Bitwise Assertions
- Special case of Primitive Assertions that uses bitwise operators for "optimized test assertions" at the cost of readability and understandability
- Hyperassertions
- Assertion that that "becomes brittle and hides its intent under its overwhelming breadth and depth"
- Incidental Details
- Incidental details make it difficult to identify the "intent, purpose, and meaning" of a unit test
- Split Personality
- Unit test "embodies multiple tests" rather than obeying unit test mantra "A test should only check one thing and check it well"
- Split Logic
- Test code scattered over multiple files
- Magic Numbers
- Using numeric and String literals rather than using constants and variables with readable names
- Setup Sermon
- Too much code (often refactored from tests suffering incidental details smell) in the setup method
- Overprotective Tests
- Application of unnecessary/redundant guard or test assertions when condition would fail anyway
In each test smell case, Koskela provides examples of these test smells along with one or more ways (description and code examples) of addressing the smells.
Hamcrest is introduced in Chapter 4 as a partial solution to addressing test smells. There is also a unit test example that is built for testing JRuby source code.
In the fourth chapter, Koskela provides some memorable quotes. He articulates an opinion that I've long held regarding unit test code: "When weighing alternatives to expressing intent in test code, you should keep in mind that the nature and purpose of tests puts a higher value on readability and clarity than, say, code duplication or performance." He also writes, "A test that has never failed is of little value - it's probably not testing anything. On the other end of the spectrum, a test that always fails is a nuisance." Koskela also explains that "A test should have only one reason to fail" and explains that this is related to the Single Responsibility Principle.Chapter 5: Maintainability
Chapter 5 continues the coverage of test smells, but moves from the focus of Chapter 4 on "readability" to focus instead of "maintainability." As he did in Chapter 4, Koskela enumerates several test smells most closely associated with test maintainability and uses code examples to demonstrate these smells and how to address these smells.
Chapter 5 focuses on the following "maintainability" test smells:
- Duplication
- Needless repetition that increases places where same change must be made and increases risk of not changing all necessary code
- Duplication can be structural or semantic or both
- Conditional Logic
- Flaky Test
- Tests that "fail intermittently," typically due to multithreading or race conditions
- Crippling File Path
- Absolute paths, especially hard-coded absolute paths, prevent unit tests from being run on others' machines
- Persistent Temp Files
- Files that are generated by unit tests may be less temporary than one realizes and interfere with later tests
- Sleeping Snail
- Use of Thread.sleep(long) calls in unit test methods
- Pixel Perfection
- Specialized version of Primitive Assertion and Magic Numbers test smells applied to exactly matching graphic representations in unit tests
- Parameterized Mess
- Result of overusing and abusing parameterized tests
- Lack of Cohesion in Methods
- "Test methods in a test class are only interested in some of the fixture's objects"
As he did for the test smells covered in Chapter 5, Koskela provides code-based examples of each test smell discussed in Chapter 5 along with code-based examples of how to address each of the code smells.Chapter 6: Trustworthiness
Chapter 6 finishes off Part 2 and the Catalog of Test Smells. Chapter 6's focus is on test smells closely associated with the degree of reliability and trustworthiness of tests. The test smells covered in this chapter are:
- Commented-out Tests
- Misleading Comments
- Confuse what the tests are really testing (a famous code smell as well as test smell)
- Never-failing Tests
- "A test that can never fail is probably worse than not having that test ... Tests are supposed to fail when they should."
- Shallow Promises
- A "tests that does much less than what it says it does - or does nothing at all"
- One type of "shallow promise" test smell (commenting out the body of the test method but not its signature and
@Testannotation) misleads people to think test of something significant passed
- Lack of assertions in a test method is another specific example of this test smell
- Method name implying different functionality tested than what is actually tested is third example
- Lowered Expectations
- "Tests that are overly robust - they don't fail when they should," usually because "assertions are too vague"
- Platform Prejudice
- "Failure to treat all platforms equal"
- Conditional Tests
- "... conditional tests in our tests ... [are] bad in general"
- "All branches in a test method should have a chance to fail"
Koskela uses code samples to illustrate the Chapter 6 code smells and what unit tests look like once the test smells are addressed with his recommendations. Chapter 6 wraps up Part 2 on the Catalog of Test Smells.Chapter 7: Testable Design
Proponents of Test-Driven Development and even many proponents of any type of unit testing argue that unit testing is as much about design as it is about testing. As mentioned earlier, Koskela wrote about the Law of Two Plateaus in Chapter 1 and explained that significantly more benefit can be obtained from unit tests when they are used for more than quality assurance and are used in the design process. Chapter 7 returns to this idea and focuses on what it means to be a "testable design." Koskela defines testable design as "[making] it easy to instantiate classes, substitute implementations, simulate different scenarios, and invoke particular execution paths from our test code."
Koskela describes several design principles that lead to testable design: modular design, SOLID principles [Single Responsibility Principle, Open Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle]. Koskela discusses these principles of object-oriented design and how software that adheres to them is inherently more testable./p>
Koskela articulates an advantage of writing unit tests early that I've definitely observed: "The act of writing tests before the implementation they call for is essentially a way to ensure that you're taking the client's view on the code you're shaping."
Section 7.2 of Effective Unit Testing looks at several "testability issues" and then Section 7.3 addresses these testability issues with "guidelines for testable design." It is worth nothing here that Section 7.2 and Section 7.3 (and really the entire book) make the assumption that these Java unit tests are run without use of reflection or bytecode manipulation. Using these tools, such as provided by PowerMock, would be one way to address some of these issues, but do add complexity to the unit tests.
I expected Section 7.3 to be the most controversial part of the book for me. It's not that I expected the book to be controversial; rather, it is the topic that is controversial. It has always bothered me when I have to change my production code design for no other reason than to accommodate a unit test. In practical terms, I often cave in and do this because the negative effect on my production code design is less significant than the benefit of unit testing, but I still don't have to like doing it.
In Section 7.3, Koskela describes some of the commonly-held assertions about testable Java code, including avoiding complex private methods, avoiding final methods, avoiding static methods, avoiding logic in constructors, avoiding the singleton, favoring composition over inheritance, and wrapping external libraries. I started reading this section expecting to think, "Yeah, but ...." Instead, I found myself largely agreeing with Koskela's arguments based on my own experience. His pragmatic attitude made his assertions in this section agreeable and realistic. For example, he advises to avoid "complex private methods" rather than simply stating avoid private methods altogether. I've always liked when good design principles are also good for testability and Koskela manages to couch most of these "testable design principles" as such.Chapter 8: Writing Tests in Other JVM Languages
I'm a big fan of Groovy (127 blog posts to date labeled Groovy) and am increasingly interested in Scala, so I looked forward to reading Chapter 8 on unit testing with alternative JVM languages. Koskela provides a brief history of languages other than Java on the JVM and covers some benefits common to these alternative languages.
Although Koskela mentions Scala, Clojure, JRuby, Jython and even non-JVM Ruby in Chapter 8, the lion's share of the chapter is on testing with Groovy and Groovy-based tools. In particular, the chapter covers using Groovy for testing directly as well as using Groovy-based BDD testing frameworks easyb and Spock Framework.Chapter 9: Speeding Up Test Execution
There are numerous factors that can demotivate Java developers when it comes to unit testing. Perhaps none is more significant than slowly executing tests. If running the tests starts to take too long, the developer might lose interest in running them as often. As they are used (run) less, the developer may start to question the investment of time and energy in writing and maintaining them. Also, as they are run less, it becomes increasingly likely that problems the test would flag will go on longer before being caught.
Koskela covers ideas for improving unit test execution performance in the ninth and final chapter of Effective Unit Testing. He begins by looking at why it is important to have fast tests (both builds and test execution) and follows that with looking at strategies to make the builds and execution of tests quicker.
Chapter 9 includes brief coverage of using Ant and Maven for building unit tests and how to profile build performance with both of those tools. Until reading this chapter I was not aware of Ant's built-in ProfileLogger (since 1.8) or Ant-Contrib. This chapter also demonstrates how to use Koskela's maven-build-utils extension. Ant's JUnitReport task and Maven's maven-surefire-plugin are also demonstrated in this chapter.
Besides covering build and execution profiling tools and how to use them to identify the tests that really need to have their performance addressed, Koskela also provides several tactical approaches one can use to improve test execution efficiency. These are solid ideas that I don't consider premature optimization because they are, for the most part, simply good ideas in general that potentially improve performance without sacrificing readability or maintainability of the tests. Another thing I like about these tactical approaches is that many of them have been covered in a slightly different perspective earlier in the book. This ending chapter now brings those previously discussed principles back into the discussion for improving test performance while at the same time addressing test smells.
All of Koskela's tactical suggestions for better performing unit tests make sense to me, but I particularly liked his coverage on database access in unit tests because I so often see this violated at extreme cost. I like his emphasized statement: "friends don't let friends use a database in their unit tests." He explains (and I agree) that integration tests are more appropriate for testing of actual database access.
There is a table in Chapter 9 (Table 9-1) that summarizes approaches one might take to address the two primary external constraints on unit test execution performance (CPU and I/O). Koskela then moves onto detailing how to implement some of these mitigation approaches. Several tools are covered in this chapter including some Linux tools, but two of the most interesting and new to me were Koskela's descriptions of how to use Amazon Web Services and GridGain to improve unit test building performance.Appendices
Appendix A is a 7-page "JUnit Primer" that covers basics of JUnit with focus on assertions and use of Hamcrest matchers. Appendix B is a little over 6 pages on "Extending JUnit" with focus on runners and rules.Test Smells
For me, the heart of Effective Unit Testing is Part 2 (plus Chapter 7 and Chapter 9 of Part 3 which I highlight next) that catalogs the test smells. This Part 2 is great at outlining issues I've run into with unit tests that can make unit testing more painful than it needs to be. It is also easy to see that there are trade-offs between the test smells such that the very approach that alleviates one test smell may increase risk of introducing another test smell. One example is the trade-off between duplication and readability in unit tests. The author talks about many of these trade-offs and provides rough guidelines of how to decide which way to lean without going too far in either direction. In the case of unit test readability at the cost of some duplication, I like stucampbell's take on this: "I'm more likely to refactor duplicated code for setting up state. But less likely to refactor the part of the test that actually exercises the code."Testable Design and JUnit Performance
Like all three chapters in Part 2 on test smells, two of the chapters in Part 3 (Chapter 7 on testable design and Chapter 9 on unit test performance) are also chapters that I plan to re-read in the future. There is a lot packed into these chapters that directly address common unit testing issues as well as sparking ideas about other approaches that could be used to improve unit testing.The Audience
As one would expect from a book with the title Effective Unit Testing, this book does indeed provide guidance on what separates effective unit tests from less effective unit tests. Not only does it cover practices one should use and should avoid, but it introduces terminology and cites well-known resources in the unit testing literature. As such, it is not only an appropriate book for someone with basic familiarity with unit testing who wants to improve their unit tests, but is also highly relevant to those new to unit testing in general and unit testing in Java in particular who want an overview of unit testing in Java. This book doesn't have enough details to be the only source of information for someone new to unit testing in Java, but does give the overall high-level view that can provide context for reading literature more specifically focused on frameworks and other unit testing tools.
Part 1 will be least interesting to those with significant experience with unit testing, but will be of high value to those who are new to unit testing or non-coding managers and leads who want an overview of why unit testing is important and what kinds of high-level things can make unit tests less effective or more effective. Although Part 1 was the least interesting to me, I still felt it was well-written and met the author's stated goal of providing a common context for the remainder of the book.
Part 2 and Part 3 are more technically detailed than Part 1. I like the overall descriptions of test smells and approaches to scrub these test smells in Part 2. I also really like the coverage in Part 3 of ideas for improving test build and execution performance and related to how to design code that is more testable.What This Book is Not
As I have stated in this post and as the author reminds the reader of Effective Unit Testing, this book is not the book one should use to learn details of JUnit or other testing framework. There is just enough coverage of these to illustrate more general points, but the focus is on unit testing principles rather than on unit testing implementation libraries and frameworks. Although someone new to unit testing Java applications could find this book useful (particularly Part 1), some knowledge of JUnit would be beneficial (particularly for Part 2 and Part 3).The Book Advantage
I have found that different mediums have different advantages when it comes to conveying information and learning. Although many of the principles found in this book are available online in various forms, the strength of the book is the author's organization and articulation of the ideas in a single coherent source. I think the book is well worth its price when I think of the time it would take to collect and organize these ideas from online sources. Furthermore, the author provides examples from his own and friends' experiences to add a "real life" feeling to it all. A well-written book's advantage over blog posts, forum threads, and the like is the ability to cohesively and coherently cover a topic with breadth and depth. This book does just that for the topic of unit testing in Java. To me this book may not offer a lot of new high-level concepts (although it does offer some new to me low-level details), but it articulates well the ideas and practices that seem to be emerging from collective experience writing unit tests for Java-based applications.Breadth of References
Another thing I liked about Effective Unit Testing is the abundance of reference to sources with additional details on the ideas, concepts, tools, and frameworks referenced in the book. Some might argue that a downside of the book is that most of the concepts are not new. I actually argue the opposite: because these are practices for effective unit tests, one would expect them to be based on what more than one person has found to be effective through hard experience. When I am reading a book on "effective" anything, I'm not looking for something that is simply "new" or "different"; I am looking for things I should generally do and generally not do and why. By referencing others' work in unit testing as well as describing his own efforts in this area, Koskela increases the credibility of his book. I also liked the mixing of alternative languages, frameworks, and operating systems in the examples.Breadth of Coverage
In 201 pages (not counting appendices, preface, etc.), Koskela articulates and demonstrates what has taken me years of experience to learn from writing and maintaining unit tests and from reading about unit testing. Even though the high-level concepts were not really new to me, I still learned several tactical approaches from this book. Besides learning some new tactics to employ to implement the concepts of unit testing in Java that I thought I already knew, this book has sparked additional ideas for improving my unit tests and has reinvigorated my interest in writing better unit tests.Pragmatic Advice
I liked Koskela's pragmatism in this book. Some unit testing enthusiasts (or test-infected Java developers as he calls them in the book) can be overbearing in their enthusiasm and evangelism to the point where it's difficult to believe their claims. Koskela is obviously enthusiastic about unit testing, but seems to keep in mind one important truth: unit tests exist to benefit the quality of the design and code (the production code does not exist to benefit the unit tests). Koskela points out, for example, that there are cases where redundant unit test code might be easier to read and maintain than rigorously implementing DRY principles within test code at any cost.Conclusion
I was a little apprehensive when I purchased Effective Unit Testing as part of Manning's MEAP, but I am glad that I did. This book delivered what I hoped for and I found Part 2 and Chapter 7 and Chapter 9 of Part 3 to be particularly useful for someone in my situation (relatively experienced Java developer looking for ideas to improve his or her unit testing). Although there wasn't a lot new to me at the highest level, there were a lot of interesting lower-level details that were new to me or were presented from a unique and interesting perspective. I also liked having these ideas I had from my own experiences laid out and articulated for me in printed form and I liked having these concepts being developed by the Java unit testing community all codified in a single book. The book packs a lot into 201 pages of regular text and the writing style is easy to read and understand. It is easy for me to recommend this book to Java developers who feel they have room to improve in writing of unit tests of Java applications. I also know many Java developers (including myself) who could benefit from reading this book.


text:
If you have participated this week, make sure you join our link up below and please make sure that the #BlogGreatness hashtag is in your post (preferably linking to us) somewhere!
Join the link up below for this weeks challenge below – it's your YOURE A FIREWORK. This week, we're inviting anyone and everyone to share their blogging tips!
To find out more about what the #BlogGreatness challenges are click here.
[inlinkz_linkup id=579567 mode=1]
It's a link party, share this on your blog! Get the code for your blog here!
In 2015 #brunchclub and #NZBloggers came together to create #BlogGreatness; a weekly prompt or suggestion to blog about – no matter your blogging genre.
Who can join in?
You can! and you can and you too! -oprah moment-
Want to? Then go for it! You don't need anything to get you going other than your blog – take on the challenge of this weeks suggestion and blog greatness, there is no right or wrong blog post. There will be weekly link up posts on the #brunchclub website and links to it from the #NZbloggers facebook group.
The Rules / Submission Guidelines
- Your post must contain the phrase #BlogGreatness.
Example: This post is part of the monthly link up party #BlogGreatness. This challenge aims to connect, encourage and influence New Zealand bloggers.
- Your entry must link back to the weeks challenge post you are participating in or the about #nzbloggers page.
- You can enter with new posts.
- You can submit any amount of entries in the week challenge, as long as it's relevant to the weeks theme/challenge.
I hope some of you can join us!


text:
Quote of the Day
"And then they will see the Son of Man coming in a cloud with power and great glory."
~Luke 21:27
Today's Answer
Was Jesus Born in a Cave?
by Samuel James Andrews
The tradition that connects a cave with Christ's birth is very ancient. Justin Martyr (150 A. D.) mentions it, as does Origen about a hundred years later. Queen Helena erected a church over it (325 A. D.). Here came Jerome (368 A. D.) and dwelt for many years. So far then as early tradition can authenticate a place, this seems well authenticated. Edersheim says it is "the best authenticated of all local traditions." Yet there are objections that have led many to deny the truth of the tradition. The point then demands some further examination.
The objection that Luke says nothing of a cave is not important. His purpose is simply to show the humble and friendless state of the infant child, and this is done by the mention of the circumstances that there was no room for His parents, and that when He was born He was laid in a manger. Any other particulars were, for his purpose, are unnecessary.
A more important objection is that drawn from the fact that tradition makes caves or grottoes to be the sites of so many remarkable events. That naturally awakens our incredulity. Yet, on the other hand, they could not have been selected for such sites unless there were some grounds of fitness in the selection. The Scriptures, Josephus, and all travelers speak of the numerous caves that are found throughout Palestine. They were used for dwellings, for fortresses and places of refuge, for cisterns, for prisons, and for sepulchres. Travelers used them as inns, robbers as dens, herdsmen as stalls, husbandmen as granaries. Many of these caves were very large. One is mentioned (Judges 1:1 20:47) being large enough for six hundred men.
Thus, looking upon this tradition, we find no sufficient reason why it should be wholly rejected. Probably there is some measure of truth in it. It is indeed hard to believe that the present artificial cave, so deep down and inaccessible, could ever have been used as a stall for cattle. Perhaps the fact may be that the cave, in its original shape, was connected with a house, forming its rear apartment, and used as a stable.
Adapted from The Life of Our Lord upon the Earth by Samuel James 1:1 Andrews.
Today's Video
christmas: a departure?
Answered by Greg Laurie
Do you have questions about the life, ministry, and resurrection of Jesus Christ?
Get real answers at Jesus.org.


text:
Hi Gurus
I'm running some unix shell scripts from cron-job in the unix server for automatic checking, alerting and paging purpose. Those unix scripts are working fine.
I want to run the same kind of script in our Windows NT database server.
My question is:
How to convert Unix script to DOS BAT file.
Can someone assist me in this regard.
Thanks and regards


text:
All the information you need for enrolment
Please take a few moments to read through the information on this page to ensure you are ready for enrolment.
Your stage-specific induction information can be found in the list below and on the calendar at the bottom of the page.
Thank you. We look forward to seeing you soon.
Please note:
Direct entry students are those who have progressed or transferred from another institution (for example, topping up from a partner college).
You may be entering stage 2 or stage 3 of a programme and will need to select the options for 'direct entry' study.


text:
The premium product among the SKIDATA parking payment machines is 'the professional' when it comes to multiple payment options and data carrier technologies! This is where operator comfort meets elegant design, high reliability, and ease of serviceability. In the model with touchscreen, you enjoy not only a modern interface, but can also take advantage of an easy expansion of the functionality. Power.Cash provides you with a variety of opportunities to effectively and profitably enhance your business models for parking space management.
All the information you need at a glance is available for download here.
Copyright © 2020 SKIDATA AG
All Rights reserved.


text:
If the Ramayan were on Facebook
This post featured on BlogAdda's Spicy Saturday Picks. Thank you Nikita, for tipping BlogAdda! 🙂
When I first thought of this idea, I intended to write the Mahabharat this way. Then I thought of writing World War II, then Indian Independence struggle and finally Jaswant Singh's political fiasco with BJP. But then the plots are SO LONG! The Ramayan has a much more manageable plot, in comparison. And hence I have before you, if the Ramayan were to have an event update like Facebook, how would it be like! It's a lot of work, doing it with the appropriate icons and the appropriate style. I tried to do it in the original Facebook template – but it was getting really difficult, thanks to my limited knowledge in coding. I hope you like it! 🙂 If you wanted to distribute this document, I would be grateful if you did it with a link to this post. Thank you!
This is an embedded PDF document, using Scribd which is a very versatile tool. You can view this document by zooming in and out, scrolling and even toggle full screen mode. Look for these icons on the top! If you are reading this through your reader or a non-native place, the embedded document may not be visible, in which case you might want to read the original post.
Edited to add – This post has become popular beyond what I could ever ever imagine. I thank every one for forwarding this around via Facebook, Twitter and emails! Thank you, and I am glad this article made you laugh, or at least smile. Krish Ashok of "Doing Jalsa and Showing Jilpa" fame did the Facebook Mahabharatha over a year ago. And that looks exactly like the Facebook format, and is outright hilarious!
Disclaimer: I have received a comment or two where people have found it a HUGE MISTAKE not to include the story of Kaikeyi and Dasarath and the two other wives. Here's an addition from my side: I also did not include the story of Hanuman carrying Mt Gandhamadhana which had the flower Sanjivani to cure Lakshman of his coma during battle, either. I covered it all up in "Show 43 similar posts"
I decided to drop out the story behind Ram's exile and the details of the war simply because this story is long as such, and I didn't want my story to be longer so as to lose my reader. Referring to other comments, this is not to be taken as factually accurate, nor should it be considered to be educational. I wrote it for fun, just for generating a laugh or two. I do/did not intend to make mirth of the religious text of Ramayan. This article does not intend to portray any sort of disrespect towards religious sentiments. I hope you enjoy this article as a humorous piece, more than anything. Please read this in a light vein.


text:
The Bard's Tale IV Update 40: Season's Greetings from The Bard's Tale Team!
Posted: December 22nd, 2017, 1:41 pm
Hi all,
In this holiday Bard's Tale IV backer update, we give you a status update on development, a look at things we'll be showing you early next year, a second vote towards the next archetype we detail, and some new screenshots and wallpapers!
https://www.kickstarter.com/projects/in ... ts/2073616
In this holiday Bard's Tale IV backer update, we give you a status update on development, a look at things we'll be showing you early next year, a second vote towards the next archetype we detail, and some new screenshots and wallpapers!
https://www.kickstarter.com/projects/in ... ts/2073616
You can check the link above for all the details!Season's Greetings, citizens of Caith! Chris Keenan, VP of Development, here to provide a status update on the production of The Bard's Tale IV. As you have seen in our previous updates featuring puzzle weapons, grid based movement, classes, etc., the Bard's Tale is hitting and passing a major critical milestone of all features and sub-features being completed and implemented into the game. Most of the elements of the game are built and where they need to be.
Now we are at the fun part of getting a feel for the game in its entirety, and most importantly in 2018 we are upping our QA efforts to minimize all blocker bugs, hangs, and crashes. We are proud to say that we wanted to get all community backer content into the game as soon as possible, and have been aggressively tackling everything from backer items, to item descriptions, to modeling our barfly heads! This also includes our stretch goal promises, and we continue to deliver those items as production rolls along. Furthermore, to our other backer promises, key team members are now focused designing our physical goods. Paul Marzagalli has done excellent job of collecting everyone's information and bridging the gap of backers' requests with our production team. One example of your fellow design backers is Scott Brown aka "Scorcherer", who has backed several inXile's projects including The Bard's Tale IV. In this game, Scorcherer is an informative ghost NPC in the world of Caith.
Here is small quote from Scott Brown about his "Design a NPC" character:
"It was really fun working with Paul and the Bard's Tale team to create my NPC Scorcherer. While I used that name for characters that I built in other crowdfunded games, this was a coming home party in a way – Scorcherer was the name of my main character when I played the original Bard's Tale games as a kid. I decided what was most important to me was that it was actually my old character here to pass along his wisdom to the new adventurers of Skara Brae and I let the team choose what fit best. We had a few conversations and they came up with the idea of him being a ghost, which I think is truly fantastic. Now Scorcherer will live for eternity!"
I am very excited about these upcoming months. This is the best part of game development: furthering the "fun factor." We have all our puzzle systems in, we're polishing the core combat loop, we've turned a corner, and now we're just playing the game and making it more fun. Lastly, with this year-end update, the team wanted to provide some new "stocking stuffers", give a look ahead to what you can expect for both backer updates and the game itself, and to get all of you as excited about 2018 as we are!
Have a wonderful and safe holiday season!
Chris Keenan
VP of Development


text:
Out Of This World
Singer/songwriter/producer Bruno Mars visited The Recording Academy headquarters in Santa Monica, Calif., on Aug. 10, accompanied by singer/songwriter Philip Lawrence and Brian Wiggins on piano, for an intimate acoustic set including "Just The Way You Are" and "Billionaire," a track on which he collaborated with rap artist Travie McCoy.
Following the performance, Mars participated in 5 Questions With…, answering questions regarding the importance of membership in The Recording Academy, hearing his music for the first time on the radio, musical influences and mentors, and where the name Bruno Mars came from.
"I've been Bruno ever since I can remember," said Mars. "The Mars just kind of came out of nowhere…people say I'm out of this world."
Asked about his biggest career moment so far, Mars said, "The fact that I get to perform and sing songs for people and put smiles on their faces is doing a lot for me these days."
Born Peter Hernandez in Waikiki, Hawaii, Mars began his career at age 4 as the youngest Elvis impersonator on the island. Mars would later meet songwriter Phillip Lawrence and the pair co-wrote Brandy's 2008 recording "Long Distance." The following year, Mars co-wrote his first No. 1 hit, Flo Rida's "Right Round," which he followed by co-writing and performing on B.o.B's No. 1 single "Nothin' On You." In 2010 he released his debut solo EP, It's Better If You Don't Understand.
More 5 Questions With... video: V.V. Brown, Jakob Dylan, Alejandro Fernández, Florence + The Machine, Rosi Golan, K'Naan, John Legend, Bruno Mars, Janelle Monáe, and Christopher "Tricky" Stewart