text:
Date: Tue, 06 Apr 1999 18:33:52 -0700 From: Ken Washington <kenwashnopsam.net> Subject: Re: Spark plug gap on 2,3 with DI
Oliver, I don't know what Haynes manual you are looking at, but page 1*20 Specifications lists the spark plug electrode gap. The gap on this side of the ocean is .043 or .044 depending on the plugs you buy. NGK, which is the specified plug for the DI ignition is .044. Ken Washington 87 9000S 87 900S 83 900T


text:
Nova Scotia Campus Master Degrees in Mechanical Engineering
Students with a masters degree in mechanical engineering could pursue careers in various fields, ranging from computer and electronic product manufacturing to machinery manufacturing. A local campus-based masters program provides students with the opportunities to network with peers, learn from expert professors, and take advantage of top-notch laboratory equipment utilizing the latest technology.
Sponsored Listings
- Kingston, NSKingston, NS
Royal Military College of Canada
Mechanical Engineering
A 'university with a significant difference", the Royal Military College of Canada's uniformed students are educated and trained for careers as commis...
- Halifax, NSHalifax, NS
Dalhousie University
Mechanical Engineering

subset: commoncrawl


text:
Gann square of 9 forex
Prime Numbers ChartAt the end you will be given access to your Gann Trader X Free trial and license key.You all probably might be interested to know, how to generate this square.Based on simple strategy you can trade in NSE BSE MCX FOREX NCDEX.
Probably one of the most known applications associated with Gann would be the Gann Wheel and.Been using Gann Sq of 9 for a little. works out the square root of that price and then draws horizontal lines across your.In this article we will discuss about one of the many methods of analysis William Gann used.Many traders use use Gann Square rule for intraday trading, using its.
William Delbert Gann is known as the greatest market master of all times,. mostly for Forex instruments).Gann Square of 9: The Square of 9 is. you can change the step value in the parameter window as shown on the Gann SQ9 Parameters picture to the left.Procedure to day trading using W.D.Ganns Method is described Gann Square of 9.
Gann Square of NineTopics History Gann Square of 9 Use in Price Static Dynamic Use in Time Putting it Together Golden Rules Further Information.
Gann Square of Nine CalculatorThe experiments show that there is little evidence to suggest that prices respect Gann levels generated by the Square of 9 more than any other levels.
GANN Square Of Nine Calculator. the gann levels. 5. Advanced Gann Square of Nine.The SquareofNine.com Price Calculator is based on the work of W.D Gann. The Square of Nine market theory has many. futures and Forex.Gann Square is a well known technique of W. D. Gann. The square chart provides traders with very accurate forecast on market support and resistance levels.
Square of Nine on the EUR/USD 1 hour chart, with Density value of -3Gann depended vigorously on geometrical and numerical connections and made a few.This entry was posted in Uncategorized and tagged day trade using gann method, forex free, forex indicator, fx.
William Delbert Gann
Gann Square of 9 Intraday Trading Calculator: Enter Current Market Price (For recommendation scroll down) Gann Square of 9 Help Document.Gann intraday System is based on two indicatorS Gann Square, Gann Hilo Activator.TRADE THE SQUARE OF NINE WITH A CALCULATOR AND A PENCIL. the Gann Wheel and the Square of. forex trading situations.When multiple Square of 9 Fans have been applied to a chart,.
Gann Square of Nine ChartPeter Amaral ebooks Cycles and Trading(J M Hurst Cycle Trading Without the Rocket, Peter Amaral, Trading the Square of Nine, FIBONACCI RATIOS, GRAMMAR,).He revealed some of his methods to be used by those patient and wise.
Gann Wheel Square of NineTrading Calculator-Fibonacci Calculator, Pivot Point Calculator And The WD Gann Square of.
Gann Angle 45-DegreeGANN square of 9,GANN calculator,gann method,gann method of day trading,day trade using gann.This document describes the Square of 9 Gann Fan tool in Market Analyst.
Square 9 Gann Calculator
This is a brief documentation for the Gann Square of Nine Excel Workbook.Only WD Gann investing techniques Plus Gann Courses And Trading Software: gann square of 9 W.D.After developing Gann Square of Nine calculator, few of my readers who were trading in currency markets as well, has send me request to develop the calculator for.The Trading Methodologies of W.D. Gann: A Guide to Building Your Technical Analysis Tool Box is a solid, beginning stepping stone you can count on.The mathematician Stanislaw Ulam discovered that the prime numbers shown in blue sometimes fall unexpectedly along lines in the.
Breakout 10.Realtime Multi Calculator 11.Offline Multi Calculator:.


text:
Country music legend Dwight Yoakam takes Vilar Performing Arts Center stage
July 16, 2018
BEAVER CREEK — For decades, critics and fans alike have tried to define Dwight Yoakam.
Rolling Stone recently referred to the musician as a "country neo-traditionalist." NPR Music called Yoakam a country singer with "hillbilly sensibilities." Perhaps Yoakam's signature style is his ability to surprise listeners with every twist and turn of his career.
Yoakam will perform at the Vilar Performing Arts Center on Thursday, July 26, at 8 p.m. Tickets start at $85 and are available at the Vilar Center box office, by calling 970-845-8497 or visiting http://www.vilarpac.org. The Vilar Center is located under the ice rink in Beaver Creek Village
That's a lot of albums
As one of the most celebrated and treasured musicians in country music, Yoakam has sold more than 25 million albums worldwide, is a 21-time nominated and two-time Grammy Award winner and has nine platinum or multi-platinum albums to his name.
His most recent album, "Swimmin' Pools, Movie Stars," is Yoakam's first-ever bluegrass record. The 2016 release featured reinterpreted versions of songs from Yoakam's extensive catalogue played in a contemporary bluegrass style.
The musician's bluegrass influence "has always kind of been, as Glenn Frey would say, whispering in my other ear," Yoakam said. "There's this West Coast bluegrass contingent that still echoes in my head — that whole sort of Byrds/Beach Boys thing colliding with mountain culture."
Recommended Stories For You
This spring, Yoakam released two new singles, "Pretty Horses" and "Then Here Came Monday," which was co-written by Chris Stapleton. "Then Here Came Monday" was dubbed by Rolling Stone as a "California-country ballad worthy of Merle Haggard," indicating that Yoakam still has many more songs and stories to tell 30-plus years into his career.
In April, Yoakam also launched his own SiriusXM's radio channel, Dwight Yoakam & the Bakersfield Beat.
If you go …
What: Dwight Yoakam performs.
Where: Vilar Performing Arts Center, Beaver Creek.
When: Thursday, July 26, 8 p.m.
Cost: Tickets start at $85.
More information: Visit http://www.vilarpac.org.


text:
Disney Magic Kingdoms hack Gems
I am a large follower of the excursions provided by Walt Disney World. Walt Disney has actually managed Gameloft its massive lineup of well-known characters for the video game in a proposal to attract kids of any ages and also suches as. Enjoy cost-free Gems and also develop your very own Disney park. If you are searching for a casual problem video game (believe Disney Sweet Crush), Emoji Blitz is a lot of fun without a great deal of commitment.
An extensive, 5-hour check out one of the most famous amusement park at Walt Disney Globe Hotel. Please know that we just share the totally free as well as initial apk installer for Disney Magic Kingdoms: Build Your Very Own Magical Park APK 2.8.2 a WITHOUT ANY cheat, split, unlimited gold, treasures, spot or any other alterations.
Disney Magic Kingdoms mod apk
I like Beauty as well as the Beast. There is no have to download any kind of Hack Devices since it's unbelievably simpler to collaborate with our cheats. These web pages are in no other way affiliated with nor supported by Busch Home entertainment, Cedar Fair, Legoland, Paramount Parks, Tussaud's Team, 6 Flags, Universal Studios, the Walt Disney Firm, Walt Disney Globe, or other theme park or roller rollercoaster firm.
Disney Magic Kingdoms tips and hack
Happily Ever before After, the brand-new fireworks reveal at Magic Kingdom, debuted Friday evening to a stuffed Key Road UNITED STATE and also supporting crowds. They are not story-related characters so the game won't you to remain to unlock them, however they can unlock extra missions as well as they generally offer activities Disney Magic Kingdoms hack gems to open rarer items for other characters. The app is available in english and the complete variations you could download and install are 7. Download APK as well as open it using your favored Documents supervisor and also mount by touching on the data name.
Now that seems imply all the things except there isn't really much video game play to it. Mainly exactly what you happen to be carrying out is you are popping down these buildings applying a currency known as magic and also these structures themselves almost every so usually produce far more magic.


text:
Operatingacross 11 states, Tallgrass is a growth-oriented midstream energy operator withtransportation, storage, terminal, water, gathering and processing assets thatserve some of the nation's most prolific crude oil and natural gas basins.
We were namedto Colorado's Top Workplaces list for the past four consecutive years. Tallgrass strives to create an environmentwhere all employees feel they are safe, respected, that their contributions arevalued, have equal access to growth and development opportunities. Our Total Rewards Package is comprehensive andcompetitive - designed to meet the needs of our employees and their families. We offer our employees competitive base pay;an annual discretionary bonus; paid time off for vacation, sick time, holidays,birth or adoption of a child, serious illness, and bereavement; Health, Dental,and Vision insurance; a generous 401K savings plan; company-paid Lifeinsurance, Short- and Long-Term Disability insurance; Flexible Spending and
Health Savings Accounts; Employee Assistance Programs; Identity TheftProtection; and Critical Illness and Accident insurance.
To examine and evaluate the effectiveness ofoperational, financial, compliance and information technology related controls,and support Sarbanes-Oxley compliance activities. This role involves evaluating risk andperforming financial, operational, compliance and information technology auditsand documenting and communicating results in accordance with department andprofessional standards, and documenting processes and testing internal controlsin support of Sarbanes-Oxley compliance. The Sr. Internal Auditor will act as a first-line resource for InternalAuditor(s).
Perform audit fieldwork necessary for evaluating the effectiveness of internal controls,efficiency of operations, compliance with corporate policies and procedures andindustry laws/regulations.
Assist in thedevelopment of the entity-wide risk assessment and a comprehensive annualinternal audit plan.
Developcomprehensive risk-based internal audit programs, plan audits and executefieldwork.
Perform internalcontrol walkthroughs and Sarbanes-Oxley 404 testing procedures within budgetedtimeframes for business process and information technology operations.
Prepare work papersdocumenting procedures performed and that fully support audit findings.
Recommendimprovements that add value to risk management, internal control, governanceand business processes and communicate control findings to process owners/auditclients.
Assist in thepreparation of Internal Audit reports which include formal recommendations tomanagement for review and implementation.
Track and follow upon audit findings.
Provide managementand process owners consulting services in the areas of corporate governance,risk and control management, policies and procedures and financial andoperational processes.
Develop andmaintain through direct contact a strong rapport with key operating andcorporate associates. Promoteorganizational confidence in the value and integrity of internal auditservices.
Offer assistanceand act as a resource/mentor to the Internal Auditor(s) when needed.
Deal with a wide varietyof people with tact, courtesy and professionalism.
Speak clearly, both inperson and by telephone, using a high level of verbal skills and listencarefully.
Maintain a regular,dependable attendance and a consistently high level of performance.
Will work non-traditionalhours as needed.
Maintain a high regard forpersonal safety, for the safety of company assets and employees, and thegeneral public.
Other daily, weekly,monthly or special project duties as identified and defined.
Other duties as assigned.
A minimum of five (5) years of increasingexperience in public accounting and/or internal audit involving publiccompanies with extensive exposure to SOX 404 compliance requirements andrelated controls testing and in the direct performance of internal auditactivities.
A minimum of five (5) years specific IT auditexperience.
Exposure to COSO principals and practicalhands-on experience evaluating risk and developing internal audit programs.
Familiarity with information technologygeneral control concepts and practices.
Advanced proficiency level in MS Officeapplications that may include but are not limited to Excel, Word, Access,PowerPoint and Outlook.
Strong written and verbal communicationskills.
Ability to present clear, objectiveevaluation and articulation of risks, opportunities for improvement andinternal control recommendations.
Able to effectively interact with employeesat all levels of the organization, as well as external customers and auditors.
Previous experience with data analysis toolsand techniques to support audit sampling, work paper management and thetracking and reporting of recommendations.
Strong analytical, statistical and problem-solvingskills in order to evaluate opportunities for improvement/optimization ofprocesses, quality, safety or other operational resources.
Ability to build relationships and work wellacross functions.
Ability to work independently with minimalsupervision.
Ability to manage multiple assignmentssimultaneously and drive analysis to appropriate conclusion.
Must be able to perform all essential andmarginal functions of the job.
Must be able to work with a team, takedirection from management, adhere to required work schedules, focus attentionon details, and follow work rules.
Ability to successfully perform multipletasks with strict deadlines.
Ability to organize and prioritize dailywork.
Job level commensurate with experience andskill sets; position will be filled depending on qualifications, experience andskill sets of the successful candidate.
All of thephysical requirements listed below are those that may be necessary for anemployee to successfully perform the essential functions of this job. Reasonable accommodations may be made toenable individuals with disabilities to perform the essential functions.
Sitting; standing; walking or movingthroughout facility; driving; talking; seeing (specific vision abilitiesrequired by this job include close vision, distance vision, color vision,peripheral vision, depth perception and ability to adjust focus); hearing;feeling; bending or stooping; squatting or crouching; reaching; kneeling;pushing; pulling; lifting up to 25 lbs.
Minimal safety hazards; general officeworking conditions.
Must be able to sit for prolonged periods oftime.
The employee is regularly required to usehands to type, touch, handle, or feel. The employee is required to talk and hear. The employee is frequently required to standand reach with hands and arms. Theemployee is occasionally required to walk and climb or balance. The employee must regularly lift and /or moveup to 10 pounds and occasionally lift and/or move up to 25 pounds.
Travel is anticipatedup to 25%.
May be required tocarry a cell phone, and be available to respond during working and non-workinghours.
The successful candidate will be required toclear a drug screen and a complete background check, including credit reportfor certain positions, after an offer has been extended and prior to beingemployed.
PREFERRED EDUCATION, EXPERIENCE, CERTIFICATIONS,COMPETENCIES, SKILLS, & ABILITIES (above the minimum requirements; notrequired but advantageous in this position):
Experience in the oil & gas, utility orother energy-related industries is preferred.
CPA ,CIA or similar type professionalcertification or advanced degree highly desirable.
The above statements describe the general nature and level of work beingperformed. This position may performother duties as assigned.
Tallgrass Energy, LP is an equal opportunity employer. Qualified applicants are considered forpositions without regard to race, color, religion, sex, national origin, age,citizenship status, marital status, medical condition, physical or mentaldisability or any other legally protected status. EOE/M/F/D/V
See how well your resume matches up to this job - upload your resume now.
Tallgrass Energy Partners, LP


text:
Intern / Student, Part-time · Munich
We have an amazing opportunity for you to join our Marketing team at 7TV as an intern. Take the chance to assist with our social media communication on Facebook, Twitter and so on and come up with your own strategies to make a real impact on our users. Join us in changing the world of entertainment today. We´re looking for someone who will support us for a minimum period of six months.
Assistance in planning, conception and realization of social media communication strategies
Nurture of our social media channels including Facebook, Instagram, Youtube and Twitter through visual conceptions i.e. graphics, video clips or image posts
Interaction and support with our social media communities
Conception and support of social media actions
Support of blogger-relation development
Targeted approach of special-interest-blogs, influencers and realization of co-operation i.e. Deutsche Bahn
Market and competitor analysis
Generation of trend and social media reports
Development and expansion of our social media channels
The interface between the editorial department, CRM, PR and Marketing Communications
Studies in business administration (marketing/advertisement/PR), media communication or similar educational background
An analytical and structured way of working
Ideally, you have made first experiences in the field of communication and online marketing
You are passionate about new media and are highly interested in online communication strategies
You have an understanding of relevant IT-skills as well as Adobe Photoshop and InDesign
You are highly interested in social media and Facebook, Instagram, Twitter, etc.
You have great social communication & organizational skills and enjoy interacting with other people
You are able to communicate in both German and English
Fast-paced startup with an already strong and healthy user base
Great opportunities for personal and professional growth
Ability to put your stamp on an innovative product
Passionate, diverse, and supportive team members
Open, transparent, and bureaucracy-free company culture
Office located in the heart of Munich
Competitive compensation package
Flexible working times
We're fast, well-funded and growing quickly. It's an exciting time to join us!
We´re happy about your interest at 7TV. Please fill in the short form. If you have any trouble with the upload of your data, feel free to contact email@example.com.


text:
Pre-Owned 2012 Chevrolet Camaro Coupe 1LT
Hiley Price $13,988
Beautiful one owner, non smoker new car trade-in with low miles and a clean AutoCheck Vehicle History Report! Convenience & Connectivity Package (3-Spoke Leather-Wrapped Steering Wheel, Leather-Wrapped Shift Knob, USB Port Audio System Feature, and Wireless PDIM), Preferred Equipment Group 1LT (2 Front Cup Holders, 4-Wheel Antilock 4-Wheel Disc Brakes, 6-Speaker Audio System, Analog Instrumentation, Bluetooth® For Phone, Carpeted Front Floor Mats, Electric Rear-Window Defogger, Electronic Cruise Control, LATCH System, Maintenance-Free Battery, Manual Rake & Telescopic Steering Column, OnStar 6 Months Directions & Connections Plan, Power Programmable Door Locks, Remote Keyless Entry, SIRIUSXM Satellite Radio, StabiliTrak, Stainless-Steel Dual-Outlet Exhaust, and Steering Wheel Mounted Audio Controls), Rear Vision Package (Auto-Dimming Inside Rear-View Mirror, Rear Vision Camera, and Ultrasonic Rear Park Assist), 18" Painted Aluminum Wheels, 4-Wheel Disc Brakes, 6 Speakers, ABS brakes, Air Conditioning, Alloy wheels, AM/FM radio: SiriusXM, Brake assist, Bumpers: body-color, Cargo Mat, CD player, Compass, Delay-off headlights, Driver door bin, Driver vanity mirror, Dual front impact airbags, Dual front side impact airbags, Electronic Stability Control, Emergency communication system, Four wheel independent suspension, Front anti-roll bar, Front Bucket Seats, Front Center Armrest, Front fog lights, Front License Plate Bracket, Front reading lights, Front Sport Bucket Seats, Fully automatic headlights, Illuminated entry, Low tire pressure warning, Occupant sensing airbag, Outside temperature display, Overhead airbag, Panic alarm, Passenger door bin, Passenger vanity mirror, Power door mirrors, Power driver seat, Power passenger seat, Power steering, Power windows, Radio data system, Radio: AM/FM Stereo w/CD-ROM/MP3 Playback, Rear anti-roll bar, Rear window defroster, Remote keyless entry, Remote Vehicle Starter System, Security system, Speed control, Speed-sensing steering, Spoiler, Sport Cloth Seat Trim, Steering wheel mounted audio controls, Tachometer, Telescoping steering wheel, Tilt steering wheel, Traction control, Trip computer, and Variably intermittent wipers.
CALL today and ask to speak with the pre-owned sales department. We would love to answer your questions or schedule an appointment. Have a trade-in? Our expert car-buyers will make you a guaranteed cash offer for your current vehicle in just a few minutes. All of our vehicles are given a thorough inspection by one of our certified technicians for safety, mechanical and cosmetic issues. The Hiley family of dealerships has been in business in the DFW area for almost three decades and customer satisfaction is our number one priority.


text:
Modern strategies for perio and aesthetics provide focus for Austrian perio society's winter symposium
The Austrian Society of Periodontology (ÖGP) holds a winter symposium from December 4 to 6, in which leading experts address the subject of 'Perio and aesthetics – modern strategies'.
"The field of periodontology is constantly broadening – in diagnostics, therapeutics and interdisciplinary cooperation," said Corinna Bruckmann, the society's secretary general.
"Thus, we find divergent positions in treatment modalities: from extremely conservative approaches to highly sophisticated surgical interventions. The ÖGP tries to bring these views together and to make the modern spectrum of periodontology more visible."
The symposium programme features presentations by Prof Christoph Dörfer (University of Kiel, Germany) and Dr Wolfgang Westermann (a periodontist with a private practice in Emsdetten, Germany), who report on tooth preservation and tooth survival rates compared to implants, showing cases with 30 years of documentation to highlight the reliability of tooth preservation.
Dr Michael Stimmelmayr (University of Munich) addresses the question of mucogingival surgery, which Dr Bruckmann emphasised was "not only applicable and important for aesthetic reasons, but also for stability around teeth and longevity of implants."
The winter symposium also features four simultaneous workshops which focus on: modern hard-tissue management in dental implantology; the 'Zurich concept' for optimising the implant-abutment interface to avoid inflammatory peri-implant diseases; the possibilities and limitations of antimicrobial agents; and how preventive measures can be successfully delegated.
The symposium takes place in Kitzbühel, a small mediaeval town in the Tyrol, just as the ski season opens and organisers said that there would be a "convivial atmosphere" with time for relaxed discussions and socialising.
"We tried to keep this meeting very small to guarantee a personal atmosphere," explained Bruckmann. "Kitzbühel in wintertime is an amazing experience and it is a unique possibility this year to combine ski, fun, and Christmas markets with a professional meeting."
The social programme features a "relaxed get-together in a skiing hut" on Friday evening, a gala dinner on the Saturday, and a "fireside chat" on Sunday "where speakers, participants and representatives from the industry and media partners can discuss together."
Further information is available from the ÖGP's website, www.oegp.at.


text:
John 5: 8-9 " Then Jesus said to him, 'Get up! Pick up your mat and walk.' At once the man was cured, he picked up his mat and walked."
If you read through the Gospels, Jesus did a lot of healing on the Sabbath which in turn upset the Pharisees, the Jewish Leaders of the Law. On one hand, they could not deny the healed person stand…
Post to Tumblr


text:
From Our Editors
Jason Woods MD knows the secret to personalized, attentive medical care in Macon. This medical facility offers a comfortable and relaxing environment, leaving patients and family members feeling right at home. Jason Woods MD understands that getting sick can be a downer, and that's why the doctors offer kind and effective care to help you get back to feeling 100%.


text:
Not sure what to do with all your zucchini? NE Times readers have a few suggestions.
By Donna Zitter Bordelon
The crisis is coming. We all know it. The middle of the summer will be here sooner than we think, and with it will come the green tide known as the zucchini crop. As anyone who has ever grown zucchini knows, the risks are serious. What will you do with all that zucchini? Somewhat like zucchini itself, zucchini recipes proliferate, and our NE Times readers have a few good suggestions.
Some towns facing the zucchini crisis take a collective approach to deal with the problem. Obetz, Ohio, holds a free, four-day Zucchini Festival (Aug. 24–27), with this year's entertainment featuring Ted Nugent…and lots of zucchini. Closer to home at the Easton Farmers' Market in Easton, Northampton County, the Zucchini 500, "the Valley's hottest veggie race," returns for the 11th year on July 29. Prizes are awarded to winners whose zucchini-carved cars and trucks "squash the competition."
The following recipes are some of the submissions not randomly drawn in the ongoing gift-card contest. So many of the submitted recipes really are winners, culinarily speaking, and I plan to share them with you in future columns. If you entered a recipe, it could be published, so please check back in the months ahead.
Shirley Rassier sent her favorite vegetable side dish. She wrote, "I usually double the recipe because we love it so much."
1 medium zucchini
1 pint (8 oz.) sour cream
½ cup shredded sharp cheese
Bread crumbs
Preheat oven to 375 degrees.
Slice zucchini into ½-inch slices.
Place in a pan of cold water. Bring to a boil, then lower heat to medium and cook for 10 minutes.
While zucchini is cooking, place sour cream in a small saucepan over medium heat. When it comes to a low boil, reduce heat.
Add half of the cheese. Stir until cheese melts into the sour cream.
Remove from heat.
Drain zucchini and place slices in a single layer in a baking dish.
Cover slices with mixture, then top with remaining cheese.
Sprinkle lightly with bread crumbs.
Bake for 20–25 minutes or until tops are lightly browned.
Serves 2–3.
4 cups shredded, peeled zucchini
½ cup onions, chopped
4 eggs
½ cup olive oil
1 tsp. salt
1 cup Bisquick
½ cup shredded sharp cheese
Mix all ingredients together.
Bake in a preheated oven at 350 degrees for one-half hour or until casserole is light brown.
3 eggs, beaten
1 cup oil
2 cups sugar
½ cup orange juice
½ tsp. baking powder
1 tsp. baking soda
3 cups flour
3 tsp. cinnamon
2 cups grated zucchini, skin on
½ cup dried cranberries
½ cup raisins
½ cup crushed walnuts
½ cup maraschino cherries, sliced
Grease and flour a tube pan, loaf pan or miniature loaf pans.
Mix together the eggs, oil, sugar and orange juice.
Beat in the baking powder, baking soda, flour, cinnamon and then the zucchini.
Add the cranberries, walnuts, raisins and cherries.
Mix all well.
Bake at 325 degrees for 1 hour. Test for doneness.
(Small pans bake quicker.)
4–5 small zucchinis, cut into quarters lengthwise
½ cup Parmesan cheese
½ tsp. garlic powder or 2 cloves minced
½ tsp. basil
½ tsp. oregano
2 Tbsp. olive oil
Preheat oven to 375 degrees.
Line a baking pan with foil. Spray lightly with oil.
In a small bowl, mix the cheese, garlic powder, basil and oregano.
Arrange zucchini, cut side up, in a single layer.
Brush or drizzle with olive oil.
Sprinkle with salt/pepper and then Parmesan mix.
Bake 12–15 minutes.
Broil a few minutes until crisp and brown.
Eat well, live long, enjoy!
(Questions or tips can be sent to Donna Zitter Bordelon at firstname.lastname@example.com or in care of the Times, 2 Executive Campus, Suite 400, Cherry Hill, NJ 08002)
Don't forget:
Send in your favorite recipe for a chance to win a $100 ShopRite gift card. Mail your recipe to Readers' Recipes, 2 Executive Campus, Suite 400, Cherry Hill, NJ 08002. Or email your recipe to email@example.com. Please include name, address and telephone number.


text:
This week at Everyman Cinema in Bristol: 11/05 - 17/05Posted on: 11 May 2018
Film fans: do you have any plans for tonight? Or the upcoming week? If not, take a look at Everyman Cinema's listings: there are some special screenings...
Friday 11th May @ 8 pm: Best F(r)iends + Live Q&A with Greg Sestero
The Room actors Tommy Wiseau and Greg Sestero have reunited for a embark new drama: Best F(r)iends. The film is an absurd nod to the power of friendship between a young wanderer (Greg Sestero) and a lonely mortician Harvey Lewis (Tommy Wiseau), as the pair embarks on a morbid enterprise selling the gold teeth of Lewis' deceased customers.
After, you can join Greg Sestero himself for a live Q&A. Get your questions and comments ready!
Sunday 13th May @ 5 pm: A Fistful of Dollars
Want to revisit Clint Eastwood's first leading-role film? Do it this Sunday evening as the classic 1964 Spaghetti Western film makes a transient reappearance.
The drama evolves from an inner-town conflict between two rivals, in which a mysterious stranger arrives to turn the feud to his advantage. Tensions rise, and battle rumbles beneath.
Friday 11th May - Thursday 17th May: Entebbe
Entebbe is an enthralling political thriller which relays a true story: the 1976 hijacking of an Air France flight. The film stars impressive names such as Rosamund Pike (Gone Girl) and Daniel Brühl (Inglourious Basterds).
Operation Entebbe was launched when terrorists landed in Uganda airport as a furious attempt to counteract the seize. The film frames the drama behind the great rescue mission.
From today until next Thursday, you can also catch Amy Schumer in her latest film I Feel Pretty – a fun film about female empowerment – and the latest installment of Avengers: Infinity War.
Tickets are £13.60 (£11.60 concession) and £9.10 for children: purchase here. Everyman Bristol is located at 44 Whiteladies Road, Bristol, BS8 2NH. Call them on 0117 403 5261. Keep up to date on their website or Follow on Facebook.
Article by:
Kate is a second-year Philosophy student at the University of Bristol. Alongside helping to run the online side of the university's independent student newspaper, Kate regularly contributes to music platforms in the city. You can follow Kate on Twitter at @katefhutchison.


text:
Shop Ligandrol – Amazon – Free 2-day Shipping w/ Prime – Find Deals on Ligandrol in Personal Care on Amazon.
Sarms Que Es ¿Has escuchado de los compuestos llamados SARMS? Se han vuelto muy populares en los últimos años, ¿la razón? Muchos aseguran que son una excelente alternativa al uso de esteroides y que es posible conseguir los mismos resultados. ¿Mito o realidad? Descúbrelo en el episodio de hoy. Te invito a que disfrutes. Jan 10, 2017. We
LGD 4033 (ligandrol) vs. Ostarine (Mk-2866) Disclaimers And Affiliate Disclosure. By viewing this website – you are agree to our General Disclaimer and Medical.
Please review our frequently asked questions. This is the fastest way to solve most problems.
What is the difference between Ostarine MK-2866 and LGD-4033 ligandrol this is one of the questions I frequently get so I thought it would be nice to.
Dec 16, 2016. I am sure you have also heard of Ligandrol (LGD 4033) and Ostarine (MK 2866). So LGD and Mk-2866 are the two most popular SARMs on the market right now. Ostarine being slightly more popular than ligandrol. I believe this is because ostarine hit the market first. Regardless, new researchers of SARMs.
Apr 15, 2017. LGD-4033 Vs. Ostarine. The ultimate battle. This article delves into which SARM is better than the other.
Ligandrol (lgd 4033)vs ostarine (mk 2866) | Enhanced Athlete Sarms Review/Comparison Ryan Russo 2.0. LGD-4033 Vs. Ostarine – Duration: 5:00.
Acetylcholine is a hot topic within the realm of memory enhancement. It is a neurotransmitter that is critical for the everyday functioning of the brain, particularly in the areas of movement, learning & memory, and sleep quality.
Ostarine still king? | Anabolic.org Discussion Forum Archives. – I've never seen anything in terms of gains with ostarine. @24 mg a day, it basically tanked my libido by the end of week 3. Will eventually try using it @ 30 mg ED. Ligandrol is what I'm going to try next. Not a SARM but some companies are selling it as a SARM, MK-677 is worth a look. I've been using it,
NANBF DRUG TESTING GUIDELINES 1/1/2018. Polygraph tests are VALID FOR 30 DAYS. Drug testing screening methods used at North American Natural Bodybuilding Federation (NANBF) events are a means to determine eligibility.
Sarms And Fertility Sarms and fertility – iSARMS.com – Does anyone have options on SARMS and SERMS affecting fertility in males? The content on the UpToDate website is not intended nor recommended as a substitute for medical advice, diagnosis, or treatment. Always seek the advice of your own. IGF, MGF and SARMs are identified by the ACC as


text:
Jacaranda Lodge — Travel Agency in Patonga
Details of the company Jacaranda Lodge in Patonga.
Contact details
|Travel Agency
|Phone number:
|+61 2 9457 8027
|New South Wales
|24 Jacaranda Ave, Patonga NSW 2256, Australia, Patonga, New South Wales, 2256
|Postal code:
Are you the owner or representative of Jacaranda Lodge?
If the information about the company is incorrect, you can can edit it.
Edit information
Work schedule
Monday: Unknown;
Tuesday: Unknown;
Wednesday: Unknown;
Thursday: Unknown;
Friday: Unknown;
Saturday: Unknown;
Sunday: Unknown;
Write your own review about Jacaranda Lodge
Company description:
Jacaranda Lodge is a Australian Travel Agency based in Patonga, New South Wales. Jacaranda Lodge is located at 24 Jacaranda Ave, Patonga NSW 2256, Australia,
Please contact Jacaranda Lodge using information below: Address, Phone number, Fax, Postal code, Website address, E-mail, Facebook. Find Jacaranda Lodge opening hours and driving directions or map. Find real customer reviews and ratings or write your own review.
Office photos Jacaranda Lodge — Travel Agency Patonga
- Event Cinemas Parramatta
159-175 Church St, Parramatta NSW 2150, Australia, Parramatta, New South Wales, Australia
Movie Theater Parramatta, New South Wales
- Aaa City Removalists Sydney
4/7 Roberts Rd, Greenacre NSW 2190, Australia, Greenacre, New South Wales, Australia
Moving Company Greenacre, New South Wales
- Terrey Hills Takeaway
6 Booralie Rd, Terrey Hills NSW 2084, Australia, Terrey Hills, New South Wales, Australia
Meal Takeaway Terrey Hills, New South Wales
- Redroomdvd
Coles St, Concord NSW 2137, Australia, Concord, New South Wales, Australia
Movie Rental Concord, New South Wales
- Burwood Musalla
73 John St, Burwood NSW 2132, Australia, Burwood, New South Wales, Australia
Mosque Burwood, New South Wales
- Smokey Joe S
871 New Canterbury Rd, Dulwich Hill NSW 2203, Australia, Dulwich Hill, New South Wales, Australia
Meal Takeaway Dulwich Hill, New South Wales
- Manly Painters
60/64 The Corso, Manly NSW 2095, Australia, Manly, New South Wales, Australia
Painter Manly, New South Wales
- Ettalong Beach House Bed And Breakfast
129 The Esplanade, Ettalong Beach NSW 2257, Australia, Ettalong Beach, New South Wales, Australia
Lodging Ettalong Beach, New South Wales
- United Cinemas Warriewood
4 Vuko Pl, Warriewood NSW 2102, Australia, Warriewood, New South Wales, Australia
Movie Theater Warriewood, New South Wales
- Platinum Removals Storage
10/2-12 Beauchamp Road, Banksmeadow, Sydney NSW 2019, Australia, Sydney, New South Wales, Australia
Moving Company Sydney, New South Wales
- Rooty Hill Masjid
33 Headcorn St, Mount Druitt NSW 2770, Australia, Mount Druitt, New South Wales, Australia
Mosque Mount Druitt, New South Wales
- Home Pics Video
15 Sherwood Rd, Merrylands West NSW 2160, Australia, Merrylands West, New South Wales, Australia
Movie Rental Merrylands West, New South Wales


text:
Benchmade Pardue Design Axis Mini-Griptilian Knife Drop-Point with Ambidexterous Thumb Studs (Yellow)B001AC804K
Price : $89.25
Get a grip on this compact knife, featuring a modified drop-point blade, molded handle and a smooth AXIS™ locking mechanism. The154 CM stainless-steel blade is strong and sharp enough to slice through food, wire and ropes with ease. The strong, spring-loaded AXIS locking mechanism adjusts smoothly for ease of operation; the ambidextrous blade is keenly unleashed with a simple push o More »


text:
A refutation of the Fundamentalist notion that only a Baptism by immersion is valid.
Although Latin-rite Catholics are usually baptized by infusion (pouring), they know that immersion (dunking) and sprinkling are also valid ways to baptize.
Fundamentalists, however, regard only baptism by immersion as true baptism, concluding that most Catholics are not validly baptized at all.
Using Scripture as well as citations from the Church Fathers this tract lays out a solid argument against this errant Fundamentalist teaching.
**Clearance Item - Limited To Inventory On Hand***


text:
- Aviation Security
- Baltimore, MD
Joseph Burlas IV of Aurora makes Lewis University's Spring 2012 Dean's List
2012 Jul 11
Joseph Burlas IV of Aurora, IL was among those honored on the Lewis University Deans' List for spring semester 2012. Burlas IV was studying Aviation Security at Lewis Unviersity.
To be eligible for this honor, students must have completed a minimum of 12 semester hours of credit with a grade point average of 3.25 out of a possible 4.0.
Lewis University is a Catholic university offering distinctive undergraduate and graduate programs to nearly 6,500 traditional and adult students. Lewis offers multiple campus locations, online degree programs, and a variety of formats that provide accessibility and convenience to a growing student population. Sponsored by the De La Salle Christian Brothers, Lewis prepares intellectually engaged, ethically grounded, globally connected, and socially responsible graduates. The ninth largest private not-for-profit university in Illinois, Lewis has been nationally recognized by The Princeton Review and U.S. News & World Report. Visit http://www.lewisu.edu for further information.


text:
Today I'm going to give my first impressions of Mailpile, which is a slightly different take on the problem of handling/storing/interacting with email.
Every so often, I get fed up with my email-client-du-jour. I've used Kmail, Thunderbird, Evolution, Mutt, and more - all have their pros & cons. Recently I've been on Thunderbird, but about two weeks ago it started messing about with not being able load calendars, not storing 2-factor app-passwords properly, and so on. Highly annoying, time for a(nother) change.
Mailpile had been on my radar for a while, but I'd been hesitating, for reasons I'll make clear shortly. I decided it was time to dive in.
I guess we should start with the elevator pitch:
Mailpile is an effort to reclaim private communication on the Internet. A project to rescue our personal lives from the proprietary cloud and prevent our conversations from being strip-mined for corporate profit and government surveillance. Mailpile is taking e-mail back.
Pretty good plan, I can get behind that. What does that mean in practice?
Mailpile works by downloading (and optionally deleting) mail from your mail
provider, and stashing it on the local machine. Alongside that, it spins up a
web interface that's only available on the local machine (
localhost:33411 if
you must know) which you use via a browser to interact with Mailpile.
Which is basically POP3 by any other name - mail downloaded locally and then removed, and not accessible outside the machine it's downloaded to.
That depends on your viewpoint. Mailpile's stated goal is privacy, and this definitely aids that goal. However, it comes at a cost - no access from other devices (well, it can be done, by running Mailpile on something like a RaspberryPi), no push notifications to your phone (because you don't have IMAP-IDLE now, only a web browser), and you need to worry about backups/storage on the Mailpile device (not having to worry about backups is something cloud companies have marketed very well). # Logic design
For myself, I decided this was a good fit for my work mail. I only use one device for work (my laptop), I don't want to access it out of work hours, and I don't want to see that stuff on my phone when I'm supposed to be doing family stuff, so fine. I'm still undecided if I'll use Mailpile for personal mail, but that's for another day :)
Let me walk you through my first few days with Mailpile…..
I run Archlinux, so this was a breeze. Install the package, start the systemd service, fire up a tab in Firefox. Sorted.
Worked out of the box - it's a standard IMAP/TLS setup, so with the right ports and an app-password, we were up and running. I decided to disable server-side deletion for now, in case I decide not to stick with Mailpile. I now had an Inbox.
I also made sure that I had no server-side filters set up. I'm on about 15 internal mailing lists at work, so putting Mailpile to work on sorting that stuff from my Inbox would be a good test.
Wow, is Mailpile bright! Seriously, my eyes. Pretty, yes, but very colourful - one of my colleagues described it as "childish" which is possibly at little harsh but I take his point. It's OK for work, which is daytime and so on, but I'm not sure I'd want to look at 2am… some theming support would be great here. Here's a screenshot:
Mailpile (like Gmail) works of tags rather than folders. That works for me, I've always felt that mail can belong in multiple categories. Adding tags is easy, deciding things like colour, icon, location on the sidebar, all fine. But what's this?
Nowhere have I yet found out what the difference between
category or
attribute is yet. Ah well, so far I've been using
category and it seems to
work OK.
Once I had tags, I wanted filters. As mentioned, I have a lot fo list traffic, and even after just a few mins with Mailpile, it was starting to arrive in my Inbox. Sadly, setting up filters is not well guided. At first I couldn't figure it out at all. There seemed to be no way to create a filter. Then I discovered (buried in the the GitHub Wiki) that filters can only be created via the console. Interesting, but where's the console? A little more digging lead me to the keyboard shortcuts, and bingo, a shortcut for a Quake-style console.
From there, I ended up back on the GitHub wiki, but even then the Filters page is very unhelpful. Fortunately, I don't give up easily, and discovered that the Using Mailpile page had some examples which got me rolling. I then quickly had a bunch of filters set up to deal with list traffic.
Documentation is a major theme here. Mailpile is very powerful, but I frequently found myself either in a randomly-titled part of the wiki, or even picking up tips from old GitHub issues about how to achieve something. This really needs consolidating, or better hinting in the UI.
This was the day of revelation. I discovered the killer feature - Mailpile does auto-learning per tag. I may be in love.
Let me back up. Auto-learning (often called Bayesian filtering, although there are other methods of learning than just Bayes) is usually how your spam filter works. Feed it mail, and over time it learns what mail looks like spam, and marks it as such. Neat. But here's the catch - 'spam' is just another tag.
I thought of writing a mail client that did that sort of learning on every folder, nearly a decade ago, but I didn't have the skills to make it happen. Thunderbird had a plugin for it once, but it became unmaintained. Pretty much every other client limits this feature to spam only - and for no good reason!
Why do I care? Well, I mentioned I was on about 15 internal lists, many of which are high-traffic, and maybe only 5% of the traffic on any list is valuable to me. Filtering it all into a folder usually means I end up with 1000 unread mails in that folder, at which point I stop even seeing the interesting ones. With a learning system, that changes.
Once I discovered that Mailpile could do this, I quickly deleted all the list rules I'd created the day before, and set up some auto-learning tags (one of which is "Not Interesting" which is filtered from my Inbox). Now, 4 days later, it's starting to get that right, and I'm catching interesting mail from mailing lists I'd long since given up on. Once a day I process the "Not Interesting" list for false positives, and mark the rest as read. Nice.
By day three, I was humming along with basic usage. There were a number of small paper cuts, such as:
*-a is "mark all" and then
shift-i is "mark read" - thats
shfit-8-a-shift-i but the shortcuts don't recognise
A as well as
a so you
have to release Shift in the middle, and then press it again. It's a very minor
thing, but it irritates me every time I mark mail read :P
But overall, it's usable - and thanks to the killer auto-learning, it's bearable.
It's taking time to get used to writing mail in a browser again. I'm incredibly used to Thunderbirds re-wrap function, and learning to live without it is hard. However, the encryption support is nice (generates a GPG key by default), and Autocrypt is coming too. I can't find a way to import an existing key (from a previous Enigmail/Autocrypt setup) so I can't read old encrypted mail, sadly.
I'll give a special note to search - it's good. Especially compared to Thunderbird's search (which is terrible), it's a breath of fresh air, and makes me much happier to just archive stuff I'm done with, knowing I can find it again later now.
I am left with some larger questions too:
These last two points matter more for Mailpile than many projects - given that I have to download all my mail locally to use it, I cut myself off from switching back to something like Thunderbird in the future (at least without serious effort in re-uploading the data). I want to know that Mailpile's future is secure :)
I like Mailpile. There are many paper cuts, but the core functionality is strong, and there's a bunch of nice side-features I haven't mentioned (like using Tor to fetch email content / user avatars / etc). Thought has been put into it, and I'm confident the issues I've encountered can be improved.
I want to do more research before I do this for my personal mail. I'll want to access it out of the house (via a Tor onion site perhaps? or VPN?), and ideally some kind of notification would be good (I note the Discourse web-interface can generate Android notifications, so this much be possible). Overall though, it would be nice to use this for personal mail, if I can get a workflow I'm happy with.
Stay tuned! I'll write more about this topic, hopefully!]]>
So, we have control of the HestiaPi Classic from OpenHAB, now it's time to add some sensors and automate the control of the heating.
OK, OK, it's been a really long break from posting. What can I say, life kinda smacked me with a bunch of family issues. That's all settled down now, and with winter coming on fast, it's time to sort out the last mile of my open source heating system - responding to temperature sensors.
Lets start with our constraints:
boosts - if it's too low, the heating won't come on
So to start with, I've disabled all heating schedules - as far as Hestia is concerned, the heating should never be on. We also set the Classic's setpoint temperature to 30C so that it will always come on when OpenHAB tells it to.
We can then use the
boost heating API in my MQTT bindings to trigger a 30 min
heating boost (from OpenHAB) if the other sensor(s) say it's needed - and we
can check this as often as we like (I'm using every 5 min).
We don't cancel the heating when we reach the desired temperature though - that can cause a hysteresis loop where the heating is switching on/off every 5 min. Instead, we only test for turning the heating on. Once the heating reaches the desired temperature, the heating shuts down about 25min later (based on a 30min boost. This avoids the hysteresis loop, and the 30min value is easily changed in the rule if your home heats quicker / slower.
Currently I have 2 sensors, a Sonoff TH10 and a home-built Arduino DHT22 sensor from MysSensors.org. This allows me to react to the temperature in my child's bedroom, and in the lounge.
We'll break this down into a script and a rule to call it, just to separate out the code. You could factor this down further into separate scripts if you wanted. Let's start with the really simple rule that just calls the script.
1 2 3 4 5 6 7
Simple enough, every 5 min, call the script. Adjust the cron string if you want it faster / slower. Now the script - let's build this up in stages.
First we'll need some variables to refer to. We need the values of the sensors, cast to Numbers, a setpoint to compare of each of them to (so that you can request different temps in different rooms), and a flag to test later.
1 2 3 4 5 6 7
I only really care about controlling the temperature in the lounge during the evening, so lets set up time boundaries for that:
1 2
Now I can check both the time and the setpoint in one go:
1 2 3 4
You can see I'm doing some logging here, this is so that I can go look in the logs if I want to see if the heating fired up. You could log this to another system if you wanted to. I'm also just setting a flag for now, we'll fire up the heating at the end.
For my child, I can't predict when naps / sleep will be happening. So, I need a consistent temperature all the time. That makes the rule very simple:
1 2 3 4
Finally, we test the flag:
1 2 3 4
Thanks to the logging, you'd then see something like this is
1 2
This is now an open, flexible, and highly extensible heating system. My future plans include:
I'm pretty pleased with this project, and it's only going to improve. Hope it goes well for you too!]]>
So far, we've got HestiaPi Classic speaking MQTT but nothing is really listening to it, or talking back. Time to fix that!
I'm not going to pull punches here, OpenHAB is a bit of a beast. It's hugely flexible, but as with most systems, that flexibility comes at the cost of bit of a learning curve. Fortunately, I've got your back :)
At it's core, OpenHAB just an event handler. Sure, it's sophisticated, and has a ton of features I haven't even started looking into yet, but that's it's main function - events happen, and it's OpenHAB's job to notice and act accordingly. In this post, we're going to get OpenHAB set up to talk to HestiaPi Classic - to report the current data, and send control events back.
OpenHAB does have an impressive docs site, and there's a ton of content there. I've found it a helpful resource for sure, but for this quick walk through, we'll use their Linux install guide since it's the most generic, but note there are many other options including a dedicated Raspberry Pi distro (openHABian), a Docker container, and even packages for QNAP and Synology NAS devices. Pick what works for you.
I'll not repeat the install steps here (that's a sure way for me to have out-of-date-info on my blog :P), so from here on out I'm going to assume:
ps axf for Java OpenHAB processes)
The OpenHAB community is full of helpful people if you get stuck with general install issues.
OpenHAB's configuration is (largely) done in config files. For a Linux install,
1 2 3 4 5 6 7 8 9 10 11 12 13
The directories we care about are
sitemaps, and
rules, and we also
care about
bindings which aren't directly visible here. Let's break that
Programmers among you will probably have guessed already… Bindings are ways to "teach" OpenHAB how to speak to a certain piece of hardware or software. There are many, many bindings available (e.g. Hue, ChromeCast, Plex, Asterisk, etc.) - but we'll be wanting the MQTT binding (see later) so we can talk to the HestiaPi Classic.
Items are the workhorse of OpenHAB - they store the state of various systems, and thus are what cause the rules to fire when state changes. Think of them as the virtual layer that represent your actual stuff - that light switch, this temperature sensor, and so on.
Sitemaps are the UI code that allows you to define how your items are displayed. It's pretty flexible, and can even do things like conditional hiding of elements.
Rules are the underlying glue of the event handler. Whenever something changes, it will trigger the rules listening for that, and act accordingly. They're based on Xbase / Xtend which as a non-Java person has taken a little getting used to, but happily we don't need anything too complex here.
Right, those are the concepts - let's put it to work. First we'll need the MQTT
bindings. Hit up the OpenHAB web console on
http://openhab:8080 and select
the PaperUI. Then go to
Add-ons and
Bindings and then scroll down to the
MQTT binding. Click install to, well, install it ;)
That's not all though. Referring to the MQTT Binding
docs you'll see we
have some config to do in
/etc/openhab2/services/mqtt.cfg. The only line you
really need to set is the URL, but I've set the client ID just so I know what
it is:
1 2
Save that, and magically OpenHAB can now speak MQTT - hooray!
OK, not quite 'hooray' yet - we can speak the MQTT language know, but we don't
have anything to listen to! Lets fix that. Open up
/etc/openhab2/items/hestia_mqtt.items in your favourite editor, and drop this
in (note I'm using the hostname
openhab for the broker and
hestia for the
channel prefix, see part 2 if you're
1 2 3 4 5 6 7 8 9 10
Lets break that down a bit. As per the docs, Items take this form:
So for line 1, we're saying it's a Number, it's itemname is
it's label is the number with some text around it, it should use the
temperature icon, and the binding config is from MQTT.
For the binding config, the form is
So direction
< means we're reading a value in, the broker is a hostname
openhab in this case), topic is the MQTT channel, type is either
state or
command and transform allows us to alter the data (which we don't do, so
they're all
default). So hopefully you can now see that we've defined the 8
values we wish to read from the HestiaPi Classic.
Save that file and then check the OpenHAB logs, and you should have a happy sight:
1 2 3 4 5 6
OK, that's worth a hooray! But we still need control and to view it in the UI…
So we can see the MQTT data in the logs.. great? Let's add some UI. Edit
/etc/openhab2/sitemaps/hestia.sitemap to have this content:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Nothing too complex here - just Type, ItemName, and some minor tweaks. Note how
the item names match the
hestia_mqtt.items file - if you changed any, change
them here too.
mapping and
visibility options are handy, as they allow us to alter
and/or hide elements are required. In this case the mappings just tidy up the
all-caps responses from HestiaPi Classic. The visibility tags are handy though
- there's no point displaying the remaining boost time if the boost is not
active, so we hide it if it's not boosted. Neat!
OK, last trick. Head back to the Paper UI (
http://openhab:8080) and go to
Configuration, then
Services and
BasicUI. Set the
default sitemap to
hestia (which must match the filename and map name on line 1). Save, got back
to (
http://openhab:8080) and select BasicUI and you should get something
like this!
The eagle-eyed among you will have noticed that the Heat Boost and Water Boost
Sitemaps are configured as Switches - but the MQTT Item config is a state
<). What gives?
We're going to use a couple of rules to trigger the boosts, and also to set the
temperature setpoint. Open up
/etc/openhab2/rules/hestia_mqtt.rules and put
in this content:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
So this is nothing too scary I hope - we monitor the state of the three Items
we care about, and when the Sitemap causes changes (that is, when someone
clicks them), we take an action.
Publish is a method available to us via the
MQTT binding, so we just need to send the command. For now, I've hardcoded the
boost to 30 minutes - once I figure out pop-ups or something, I'll update you!
val temp line is a hack due to the fact that I suck a type-casting in
Xbase - without it I get errors about trying to automatically cast
temp to a
String in the
publish method. Any pointers are welcome :)
So, save that, and then try the Boost button. You should see these things logged:
1 2 3 4 5 6
Most of all, you should see the boost light come on! Test the other buttons too!
If all went well, you should now have control of HestiaPi Classic from OpenHAB. The above doesn't get you very far, since it really just replicates the standard HestiaPi Classic web UI - but it does open the door to further integration. When I have more things integrated, I'll blog again - but for now, feel free to ask questions over in the HestiaPi community thread for this blog post. I'll be sure to help out!]]>
So, in part 1 I laid out the aims of the first part of this project - read that if you're confused. In this part, I'll detail how to get HestiaPi Classic and MQTT to play nicely together…
MQTT is just a standard - not a programming language in it's own right. For that, we'll need some implementations…
Firstly, we'll need an MQTT broker - that's the server all the clients will connect to. Happily, there's a well tested and stable open-source MQTT broker called mosquitto. Let's get it installed.
I chose to run this on my OpenHab server, since it was already installed, but you could easily run it on HestiaPi Classic itself. The defaults are fine for our use:
1 2 3
We install
mosquitto-clients just so that we can test the broker - you can
uninstall it later. Once the broker is running (check in
ps axf for it)
you'll be able to connect to it using
mosquitto_pub and
mosquitto_sub. Try
this, using two shells:
1 2 3 4
You should see
hi there printed in the
mosquitto_sub shell. That's all
there is to MQTT, really, although you can look into configuring all sorts of
extras like authentication, QoS, message persistence, and so on. The MQTT and
Mosquitto websites are your friends, and maybe I'll blog about it later on too.
OK, so we have a working broker, but we still need to get HestiaPi Classic talking to it. Enter some real programming.
As most of you probably know, I'm a Ruby guy, and it so happens there's already a solid MQTT Rubygem which I can use. Coding with MQTT is pretty trivial, the examples on the gem's homepage are great.
Over a couple of days, I worked out all the calls I needed to make to HestiaPi Classic to control it's functions and query it's status. Most of this is done over the web interface, but getting the local temperature requires using a shell script on the HestiaPi Classic itself, so the app has to be run on HestiaPi Classic itself.
Installing the MQTT app on HestiaPi Classic is easy enough. Let's walk through it, starting with some dependencies.
Bundler is used to manage the Rubygems we need to run the app. Git is optional and used to clone the repo in the next step; you could download the tarball from GitLab instead if you prefer.
1 2
Simple enough, switch to
/opt and get the source code.
1 2
This installs the required Rubygems into /opt/hestia_mqtt/vendor, where they won't interfere with anything else.
This step is important. The defaults here assume Mosquitto is running on the
HestiaPi Classic and that you've not changed the default login credentials for
the HestiaPi Classic web browser. You may also want to change the default MQTT
topic, and the log location (I log to
/var/log/hestia_mqtt.log for example).
Once updates, we can start the service:
1 2 3
The Ruby app should now be running, as always you can check
ps axf or
/etc/init.d/hestia_mqtt status.
hestia_mqtt running, it should already be outputting information. Grab
your trusty
mosquitto_sub and try connecting to the
hestia channels.
Obviously replace
localhost with wherever your broker is. The
# is a
wild card that subscribes to all channels under the
hestia prefix - you'll
need to change
hestia to match the prefix in the
hestia_mqtt config file if
you changed it.
With any luck, you'll now be seeing output!
1 2 3 4 5 6 7 8 9 10
Awesome! We're now getting reports from HestiaPi Classic over MQTT of it's
current status. Let's try controlling it - for this you'll want to tail your
hestia_mqtt.log to see the log of commands received.
1 2 3 4
Perfect! In this case we sent
30 minutes to the
boost_heat command channel.
You can also send a number of minutes to
boost_water, or a desired
temperature to
1 2 3 4
That's it! The
hestia_mqtt Ruby app will retry if it detects network errors
connecting to the MQTT broker, so it should keep running smoothly. You've now
got MQTT control and reporting for HestiaPi Classic! Contributions to the
codebase are, of course welcome!
In the next blog post, I'll detail how we integrate this into OpenHab….]]>
Okay, okay, I said I'd blog more frequently and now it's been over a year. Yikes, sorry, and other generic excuses. However, I do have a more exciting line of blog articles coming up! You see, I've been getting into home automation…
I've been looking into open source approaches to home automation, and to some of the tooling that can be used to handle parts of the house infrastructure. OpenHAB appear to be the standard, and I was excited to see that it support Nest. But that got me thinking… Nest itself is a closed platform, and has questionable requirements such as internet access. Why exactly does my thermostat need a 'net connection? That way lies madness.
So, my first project is identified! Get an open source thermostat which is under my control, and control it with OpenHAB. Game on! Initially, my thoughts turned to the ever-present RaspberryPi… surely I could build a system using the GPIO pins that could switch the relays on the boiler? My Google-fu kicked in, and I started searching…
Well, imagine my surprise (or lack of it, this is the internet…) when I discovered that my exact project idea had already been done. HestiaPi Classic is exactly what I was going to try and build, and in a lovely case to boot (NB the HestiaPi Touch was not released when I bought my Classic). An easy impulse purchase for my post-Christmas cash, and the folks at HestiaPi had it in my hands rapidly. Lovely.
So, now I had a lovely new open source thermostat, with a web interface and everything… but HestiaPi Classic only has a single on-board temperature sensor - which is now right next to the boiler. What I really wanted was to integrate this into OpenHab so that I could use more temperature sensors to monitor house conditions, and trigger heating changes as needed. Time to get my hands dirty…
In order to control HestiaPi Classic from OpenHab, I was going to need some way to interface with it, and there's really two options. The first is write a HTTP binding that teaches OpenHab the exact API calls it can make to HestiaPi Classic to change things. That has limitations however, so the other option is Message Queue Telemetry Transport (MQTT), also known as the "Twitter-of-things".
MQTT is a straightforward pub/sub system - a broker runs on the network somewhere, and clients connect to it. Clients can publish messages to topics (channels, effectively), and can subscribe to topics to receive messages. Since messages can (optionally) be queued for later delivery, this is ideal for low power devices such as sensors, which can stay in a low-power state for a while, then wake up, connect WiFi, check for new messages and publish their own, and then power down again.
MQTT is a perfect fit for my project, since OpenHab already has an MQTT binding we can use - we just need a small app on HestiaPi Classic to handle the MQTT stuff… and happily, I've already written it…
This has just been a general introduction to my aims for OpenHab, HestiaPi Classic and MQTT. In the next post, I'll show you how to get MQTT working on HestiaPi Classic, and then in part 3 we'll look at the OpenHab configuration. Stay tuned!]]>
This confuses people - many times I have explained the core of a recipe to someone, to have them ask if I'd posted it anywhere. It's taken a while for me to really isolate the reasons why I don't do this, and when I was done, I thought it made interesting reading. You be the judge :)
Firstly, there's the question of what a recipe is, and crucially, what is instead a technique. Consider the humble roast chicken - the recipe goes like this:
That's it. But let's go into more detail. First, "take a chicken"; well, I don't know how many people you're feeding, so get one that's the right size for you. Second, "stuff it" depends on what flavours you want. I could wax lyrical here, but pretty much anything works so long as it won't dry out the meat - so no bread-based things. Classic is simply butter & tarragon under the skin, but I've also used black pudding & kalvados, pate, etc, etc. So, this is something for personal taste. And finally, "roast it" - and here we come to the difference between a recipe and a technique. Roasting a bird is a technique - regardless of the flavour combinations, or even the type of bird, the roasting is always the same. It's a matter of weight, heat, and time.
One of my personal food heroes, Glynn Christian likes to point out how recipes have changed over time. Until comparatively recently, they assumed a huge amount of knowledge on the part of the cook. A recipe for bread and butter pudding from the 18th century was simply a sentence. Only in the latter half of the 20th century did recipes books suddenly start to try to cover all the techniques as well (usually badly or incompletely). This is failure in the making.
Secondly, as if following a recipe without understanding the techniques invlolved isn't engineering failure enough, we come to the question of environment and history. Part of the reason why old cook books are so terse is that they are not meant to be followed by other people. They're an memory aid, a note in a margin about what the cook did last time, a record of the past. Taking those notes and following them blindly risks a host of issues; how much cinnamon works for your taste buds? How much fresher or drier are your dried herbs? What's the calibration of your oven like? How about the humidity? It is no surprise that recipes inevitably acquire comments of "tasted awful" or "too much pepper" or "collapsed when I took it out of the oven" if these things are not considered. Again, this is a question of technique, but also ingredient knowledge.
So you begin to see that the reason I don't post recipes is because they would not be as effective in your kitchen, with your tools and your environment. I would rather give you the core of the idea, and let you take it from there - probably in ways I hadn't thought of.
However, what I can do, here in this post, is show you how I learn something new - and it's based on science! Now that's slightly misleading, as cooking is at least as much art as science, but there are concepts we can borrow.
The first is the idea of systematic review. This is a concept in science where we take a large collection of studies on a particular topic, and analyse them together to see if we can make conclusions that couldn't be made on the individual studies themselves (see Bad Science if you want to know more).
Happily, the internet is full of recipe sites these days (a secondary reason why I don't post them myself). When I want to learn something new, I go and download a decent number of versions of the dish in question (usually around 5, although not all are from the web - I do have a lot of cookbooks :P). Comparing these side-by-side allows me to extract what are the techniques in play, what is the core of the dish, and what is simply garnish or embellishment in each case. I walk away with a better understanding of what I want to create, as well as some starting ideas for directions to take it in. I also know the varying quantities involved in the ingredients, which helps me adjust for my own kitchen.
Sadly, even with the best research in the world, things don't always come out perfect first time - in fact that's fairly rare. So we come to scientific thinking point 2 - reproducibility. In cooking, mastering the dish, getting it right when you have a different environment to work in, requires that you have made it a bunch of times. It's simply not possible to master a dish in one try - that was a fluke. When it happens we get a false sense of security, and we try it at a friends house, and wonder why it didn't work. We learn to cook by making the same (or similar) things a hundred times, not making a hundred things once each.
If this line of thinking intrigues you, then I ancourage you to pick up a copy of How To Cook Without Recipes as a starting point. It's a fabulous book, and one I go back to again and again to remind myself of various things.
Happy cooking!]]>
The problem here is not (mainly) one of excercise. I have a standing desk. I like walking. I have a small child. These (especially the last) make for a fairly active lifestyle - I have no shortage of opportunites to get my heart rate up. Nor do I eat (very) unhealthily - we cook every night, so there's not an abundance of bad food in the house.
No the issue here is one of pleasure. I love food. I love to cook, and I love to eat, and so when I cook, I make too much, and then I eat anyway. While calories fell out of fashion in the dieting fad world, they still matter. Whether it's too many calories of healthy food, or too many of high-salt, high-sugar bad food - either way, it's still too many.
So this year, I plan to fix it. Weight loss is a notoriously hard-to-keep New Year's resolution, but… I have a plan! Like all good plans, it has several parts
The first part, and it's obvious, is what I eat, and how much. I've already said we eat fairly healthily, but there's room for improvement, especially in terms of pure calorie count.
For christmas this year, I was given a copy of Thug Kitchen[probably NSFW!], which is a vegan cookbook like no other. Let's be clear - I have no intention of going vegan, or even vegetarian. I love meat entirely too much for that, I mean, bacon alone, c'mon… But we do all consume far more meat than we used to - what's missing is interesting ways to cook veggie dishes. On this point, this book is a godsend.
I'm already sticking to making at least one evening meal a week from this book (I was particularly blown away with the Black Bean & Sweet Potato Enchiladas), but it also has a great section on quick food and munchies. Now, given that I really struggle to eat well at lunch time (working from home with a bakery 3 doors away is bad for that…), this is huge. Things like Spiced Chickpea and Tahini Wraps can be made in 20min, and is a filling hot lunch that is way less bad for me than a sausage roll and a fudge doughnut.
I've never been a breakfast person, and now that we can finally consign the "eat breakfast to lose weight" thing to the bin, I don't need to be piling on the calories there.
So that's effectively a "5-2" kind of thing for evenings, decently healthy lunches, and no breakfast (well, maybe a slice of granary toast, on occaison). A good start.
Of course, there's no use in setting a goal with no way to know if you've reached it. I've actually been tracking weight loss for some years via a Google Docs speadsheet, but that got tiresome. So, I hacked up a quick Sinatra tracking app to help me out.
The basic idea is simple. The front page has a handy input box for me to put in my weight from my phone whenever I have time in a morning to weigh myself. Clearly, this isn't every day, but so long as it's at least a couple of times a week, we can extract trends.
From there, I store the data in a small sqlite3 db, and calculate moving 7-day and 30-day averages. The 7-day is useful to indicate early shifts in trends, so I can catch myself if I start to slip, but the 30-day is the real measure of the goal. If that is trending down, then that's good. If not, then I've been at least slightly naughty for at least a month.
The app also includes a predicted completion date based on the moving averages. These are very crudely calculated, but again, it's just an indicator - if that date starts to get significantly further away, I need to reign myself in. It's also a way to ensure I'm not too drastic - as drastic changes to lifestyle rarely stick. That completion date doesn't need to be next month…
I think you have to keep a light attitude to weight, or it becomes a risk of crushing despair when it doesn't work. I've been steadily losing weight since 2013, but recently I hit a plateau, and would like to shift the last 10kg. That's all it is. No big deal, no drama, just something to keep an eye on.
The 30 day average and completion dates help me turn a blind eye to the occaisonal takeaway or large slab of cake - these things are part of life, and should be enjoyed from time to time.
In other words - everything in moderation, including moderation itself.]]>
Still, "I aten't dead", as Granny Weatherwax used to say. As a child of Lancashire, I know exactly the sort of person Terry Pratchet was sending up with Esme - my own grandmother could be like that sometimes. I'm sad to think that I'll not see another book about the Lancre witches, but at least I can re-read the ones I have.
So yes, I'm still here, although I'll be impressed if anyone still has this feed on their RSS reader (let me know if you do!). One of my goals for this year is to get blogging again, but the issue with a mainly technical blog is that there's a large amount of testing the content to ensure it works from scratch. That slows down posting things.
To counter that, I plan to widen my scope, rather than my time-to-post. I'm aiming for a post every two weeks, minimum, but it'll be on whatever is currently in my head. Expect tech, gaming, cooking, politics, and a host of other random musings. I'll do my best to use categories correctly so you can get the feeds for the stuff you like ;)
Thanks for sticking with me - or welcome, if you're new to the blog. I hope there's material here for all comers, so let me know what you enjoy in the comments of each post.]]>
It's taken a year of tweaking, but I'm going to share with you the system I've built, and as you'd expect from me, it's all open. Let's get started.
Firstly, lets discuss the technologies involved:
The first part of our setup involves standing up an empty app on Openshift Online. You'll want to register for a free account if you don't already have one, at which point you'll have access to your three 'gears' - these are the 3 free servers you get with a basic account. We only need 1 for this blog, so you can do what you like with the other 2.
You'll need to choose a 'domain' name - it's not a full domain name, but your
apps will have this in the URL, so keep it sensible :). I'll assume your domain
user. You'll also need to add an SSH key - this will be used for Git
access later on, so it's a good idea to load this key into your SSH keyring.
Once logged in, click
Add Application and select the
Ruby 1.9 cartridge.
This will give us a basic Ruby environment to deploy Rails into. You'll then
need to provide an app name (I'll assume you used
app), giving you a URL like
app-user.rhcloud.com. The rest of the defaults are fine, so click
Now we have a server! Make a note of the SSH access and Git repo URL, for
1 2
( I've deliberately lined up the two user IDs you can see they're the same.)
We now need a database. Fortunately Openshift makes it very easy for us to add
the awesome Postgresql database to our server. Go
to your app control panel in Openshift and click
Add Cartridge. Then select
Postgesql 9.2 cartridge and confirm it with
Add Cartridge. You'll be given
some credentials, but you don't need to note them down as the Openshift
environment variables contain the relevant data.
OK, time for something slightly more complex. Tracks is the centrepiece of our system, but we have to work slightly harder than the last two steps to get it set up. First though, let's get an overview of the situation:
You can see where this is going, no doubt. Fortunately I've made it slightly easier for you by doing some of the work. I've made all the necessary changes to Tracks in my Openshift-Quickstart branch for you (as well as a backported Mailgun patch for the section below), based on the 2.2 stable branch of Tracks. But we still need to deal with things like database access, password salts, etc:
First, clone my fork of Tracks from my Github page to your local machine:
1 2 3
There are a few variables you need to fill in yourself, such as passwords and such. I've marked these for you, so a handy grep will find them:
1 2 3
As you can see, you need to set two salts. These can be any
random strings - there are comments in
site.yml as to how to generate
them. For example:
1 2 3 4 5 6
Once you've done that, you should be able to commit your changes:
1 2 3
And now we can push the resulting configuration and code up to our Openshift server, using the git repo we made a note of earlier:
1 2 3 4 5 6 7
This push will take a long time - Openshift will run
bundle install
rake assets:precompile which are both lengthy tasks. I've
included the key lines that indicate things are progressing correctly.
Once complete, we should be able to visit our app at
https://app-user.rhcloud.com. You can create your admin account and
start using Tracks. Awesome!
Before progressing to the Mailgun support below, have a play with the Tracks
interface. I'm a big fan of the
Defer menu next to any Todo, in order to hide
something for a few days. At the very least, create at least one context for
new email Todos to be assigned to. There's also a handy mobile interface at
If you have any issues, you can log into your Tracks app with the ssh
command from step 1. Some useful commands (run from the
app-root/repo directory):
tail log/production.log
bundle exec rake db:migrate RAILS_ENV=production
Tracks alone is lovely to work with, but it's even better to be able to mail Todos to yourself. We don't need a complex 2-way synchronizing mobile app for our Todos - we just need to be able to use the smartphone's ability to queue emails when we're offline.
However, it's not easy to install a mailserver on Openshift - and even if you could, the effort of maintaining it's security would be too high. Surely we can do better? Enter Mailgun.
Mailgun is a service (from Rackspace) for converting emails into HTTP requests (and vice versa, although we don't need that). It's free for up to 10000 emails a month, which should be more than enough (unless you have an awful lot of Todos :P).
Register for a free account (I chose to use a hosted user.mailgun.com
address), and then head over to the Control Panel. Make a note of the
API key from the
My Account page. Then go to
Routes, and add a
new route.
Filter expression should be set to
catch_all() and the
action should be
forward('https://app-user.rhcloud.com/mailgun/mime') to forward an
HTTP version of the incoming email to your Tracks server. That's it
for Mailgun config, but keep the
Logs tab open for testing in a moment.
Now for the Tracks config. Open up
config/site.yml and check these
1 2 3 4 5
The first two settings are easy to fill in. The
mailmap needs some
explaining. When you send an email to Tracks (via Mailgun), two checks
are performed. First, since Tracks is inherently multi-user, the
address is used to try and identify the particular login you wish to
add a Todo to. Then, for each incoming email address, a list of valid
sending (i.e.
From) address is created - after all, you wouldn't want
spammers sending things to your Todo list.
To make this work, we thus set the first value to the address we send to (the mailgun address) and the second to the email we send from (say, a GMail address). We can then push this config to Openshift:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Once again, that will take a long time to run, but should be successful.
Finally, we also need to associate the Mailgun email in our
Tracks preferences. On your Tracks page, go to
Admin >
and select the
Behaviour tab. Put your Mailgun address in the
That's it! Try sending an email from your allowed sending address to your mailgun address. On the Mailgun Logs tab, you will see logs like:
1 2 3
You should also see the task arrive in your Todo list.
We've built a full Todo management system, complete with email functionality, using free tools. I hope it's useful to you - I've certainly got more blogs on my Todo list :)]]>
I've been working from home for nearly a year now (wow, that went fast). When I was getting ready to shift from office working to home working I wrote a blog about the steps I was taking to set up a dedicated space for me to work in.
This has all gone very well, but during the last year I've discovered a few things about myself and the way I work. Some of these are fairly banal, but one is of interest - without distractions, I can really get lost in things. Most techies are familiar with this, but in an office, there's plenty of distraction - someone needs help, or is going to the kitchen, or just wants to chat about the show last night…
Without all that, I have on numerous occasions come back from lunch, and not moved from my oh-so-comfy office chair for over 4 hours. This is really, really bad for my health. The impact of long periods of sitting have come under increasing amounts of study, and while a lot of the individual results are contested, it's clear that sitting for 8+ hours a day is a bad idea.
I've tried to combat this in various ways. However, I have no water cooler I can walk to at the turn of the hour, or a colleague I can walk over to instead of emailing. I've tried setting a timer to go off when I should walk around, but I mostly ignore it because I'm in the middle of something complex. That usually goes "oh, I should get up, let me just fix this test…. 45 minutes pass … oh crap".
Then I came across the idea of a standing desk. The concept is simple - work standing up. I was intrigued - this is a way to improve the situation that doesn't rely on office paraphernalia, nearby workers, or timers. So I started doing it.
The first thing to note is: it's really hard! After 1 hour I had to sit back down again (my father is a shopkeeper, I have no idea how he stands all day). I also needed to alter my desk cheaply (since this was an experiment) and be able to switch between sitting and standing easily (as I cannot stand all day; the jury is out on whether standing all day is better than sitting all day - a mix seems good).
Thus my standing desk Mark 1 was… a cardboard box! A simple affair, in which I would pick up my laptop stand, put it on the box, move my keyboard, and keep working. It looked like this:
This was great for testing the water, and for the last two months I've been using this regularly to switch between sitting and standing. I was convinced that this was something I wanted to keep doing, and adding/removing the box was starting to get irritating. So I decided to spend some cash on a better solution. After some research I settled on an Ergotron WorkFit-A which arrived today.
Here's two pictures (front and side) of the arm in sitting position:
Here's two pictures of the arm in standing position
The construction is robust, taking up to 11kg in weight. The motion is smooth, and has numerous degrees of freedom. This is important to me as my chair is right under a light bulb, so if I stand where I sit, I get a hot head. Fortunately I can swing the arm to one side as I pull it up to standing height allowing my to move out from under the bulb. I've suggested the idea of "positions" in the photos above, but in fact the arm flows freely and will happily rest at any position - there are options for adjusting the spring tension if it will not stay put at your chosen height. I didn't need them though, it seems very happy with my monitor.
All in all it's a very nice piece of equipment (if somewhat pricey), and it's now a matter of seconds to decide to stand for a while. Given how easy it is to move around, I'm aiming to work up to spending half my standing and half sitting. Should be interesting. If all goes well, there's an adapter to allow me to mount the laptop side-by-side with the monitor. A good anti-fatigue mat for my feet is a possibility too. For now I'm using a old flattened pillow.]]>
I've been blogging now for over a year. In truth, at the time, I wasn't sure how often I'd be posting, or what sort of content I would be writing. Thus, I was happy to simply accept a low/no-barrier entry solution, in the shape of Blogger.
Blooger is great for getting started - it's a few clicks to set it up, a CNAME in my DNS to get the name right, and then you can get started. Links are easy to generate, pictures can be included from Picasa/Google Plus, and so on. It's a great toolset when you're not sure what you need yet.
However, as my style and content have gained definition over the year, I've founf myself struggling with various parts of Blogger. A few of these are:
I'm not a UI person. I don't know CSS or JavaScript. I can barely write HTML. As such, the lack of syntax highlighting in Blogger took me some time to fix - it involves both CSS and JS, including style and code from an external site. Even though I now have it working, maintaing it, if it should break, would cost me a lot of time.
My recent series on my walks around Arran suffered horrendously from images getting into the wrong places. Short of manually specifying the exact divs you want in the HTML editor, it's very hard to get robust image placement in Blogger. And I can't write decent HTML, remember ;)
This is main one. I'm a coder, I write text. MarkDown is a fantastic format to write text in, and yet I have no easy way to use this with Blogger. All I can do is to run my markdown through an MD-HTML converter, and paste the result into Blogger's HTML editor. Far from ideal, and the final blog isn't what's stored in my MD file, as it inevitably needs some tweaks. I want to write, not spend precious time fighting with the formatting. It's the same reason I use vim and LaTeX instead of a WYSIWYG wordprocessor.
With the above issues in mind, I started looking for a MarkDown compatible blog engine. I was already aware of Jekyll, as we use it in the Foreman project for our manual. But Jekyll requires you to write your styles and suchlike - I can't write CSS and have little desire to learn.
It's only a short jump from Jekyll to Octopress though, as it's built on Jekyll, along with theme support, image and code-highlighting support, and plugins for more awesomeness. Sounds perfect.
Their deployment guide talks about Heroku, but as I had some space on my free-tier OpenShift account, I thought I'd run up a copy of my blog there to see how it plays. In short, you're looking at it now, so I think we can call it a success :)
Setting up Octopress on OpenShift was pretty easy. The steps went something like this:
1 2 3 4 5 6 7 8 9 10 11
And the blog is live at the url that was in the output of the
rhc create
command. Awesome!
It's possible to migrate your data from Blogger via an XML export and a script to import it into Octopress. I've done this, and the results are not terrible, so I'll use them for now. I will likely try to find time to go back are fix up the old posts at some point, but at least they're still readable. I've also added redirects for Blogger's old URL style, using the awesome Jekyll Plugin Alias Generator so you shouldn't have any broken links. Nice!]]>
So we come to the final day, and we still hadn't made a decision about the towering mass of Goatfell. The plan throughout the week had been to do Goatfell on the last day. There were two reasons for this; one, to do it when we were supposedly at out fittest, and two, to look back from the highest point of Arran on everything we had walked over the course of the week.
However, we now knew that there was no way we could climb it with the rucksacks weight dragging us down. The weather was due to be hot again, and the amount of water we would have needed to take would have weighed us down even further.
We had been discussing ways of moving our bags to Brodick to await our arrival - our host at Darven Cottage was very helpful, but by the time we were eating breakfast, it was clear that his plans for the day and ours were not going to align. We couldn't ask him to go out of his way for us, so we had no choice but to pack up the bags and stick to the coastal path for the day.
Making our farewell to Darven (a place we will surely use again, if only as a base camp for when we do tackle Goatfell), we set out along the road south to Corrie. This was a delightful village, full of pretty houses spread out along the coastline. Sadly, it was still only around 11am, and too early to justify a stop, so we merely enjoyed the view as we strolled through.
After Corrie, we left the road and took a forestry track that climbed along the lower shoulder of Goatfell. The heat was cranking up, and the short, sharp climb up onto the ridge showed us what a good decision we had made in not attempting Goatfell - we struggled enough with the ridge. As you would expect from a forestry track, it was clear, easy going, but with no shade, and once again the horseflies were attempting to get a bit of me for lunch. They weren't so bad as previous days though, so it was relatively easy to ignore.
After a brief water stop at a good viewpoint over the sea to the east, we started descending into the Merkland estate, where the trees were allowed to get a little closer to the path, and the shade was welcome. It wasn't long before we reached the edge of the Brodick Castle estate, and from there, it was a mere mile to the famous Arran Brewery.
We'd done it! The brewery was on the outskirts of Brodick, and while we still technically had 2 miles to go to the ferry terminal, we had several hours to go before our ferry was due to depart. So, a celebratory beer was in order! Sitting on the picnic tables outside the brewry with an ice cold Arran Blonde in the heat of the afternoon was heaven. I swear things taste better after a good walk :)
After a beer and a bite to eat, we decide to head down to the ferry terminal. It was early to be doing so, but we had little else to do, so we marched on. As we crossed Cladach beach on the Fisherman's Path, it seemed that the ferry was coming in - but it was far too early for the 4.40pm crossing we wanted to take. Strange, but somewhere we found the energy to up the pace a little, and arrived at the ferry terminal to discover a bonus crossing had been added due to the number of tourists making use of the good weather, and we'd arrived with 10 minutes to spare to catch it! Straight on board then, and away home, the walk complete.
As we sailed away and watched the island recede into the distance, I had a chance to reflect back on the walk as a whole. It was a pretty awesome week, all in all. Long distance walks are always hard at times, and sure, at those times, it hurts (sometimes a lot). But in return, we seen awesome sights, had great excerise and improved our fitness, and seen Arran as I think it should been seen. Life shouldn't be about rushing around trying to see everything in one go. We've spent a week exploring the place, and I feel like there's plenty more I could come back for (Goatfell, for starters….). In addition, we got some of the best weather Scotland has seen in years, and it's a real pleasure to be out walking in it, instead of looking at it from an office window while working.
So here's to you, Arran, and here's to next time. We'll be back.]]>
|The Arran Alps
|Ex-scientist ponders the Unconformity
|An Scrior
|It's 5 miles to the nearest road from here
I hope you like privacy…
|Clisham Lodge, Pirnmill
|The Apostles of Catacol
|Looking back the way we had come
|Lochranza Castle
|Setting off towards King's Cave
|King's Cave
|*How* much food?
|Farewell, Lagg!
|Wading through bracken
|Wilder parts of the Arran Coast
|Can you see the path? This was a highway
compared to what we had just done
|Preacher's Cave
|Finally, Blackwaterfoot in sight!
|Glenashdale Falls
|South to Dippen Head from Largymore
|Seals enjoying the afternoon sun
|The rocks we had to cross…
|The awe-inspiring Black Cave
|The Lagg Hotel
|Rothwell Lodge
|Is this for real?
|"Lunch is that-a-way"
|Holy Isle from Clauchland Point
|Forestry tracks - no shade!
|Holy Isle from the southwest
|The Burlington


text:
Organisation › Details
BIA Separations GmbH
BIA Separations is the leading developer and manufacturer of CIM® (Convective Interaction Media) monolithic chromatographic columns for production, purification, and analytics of large biomolecules. The company has research and production facilities in Slovenia, with sales offices and distributors throughout the world. BIA Separations mission is to develop and produce CIM® monolithic columns of highest quality and provide superior research and method development services for purification and analytics of biomolecules. In addition the company aims to provide unique in-process control tools to better understand and control the bioprocesses. *
|2008-05-29 existent
|liquid chromatography (LC)
|Industry 2
|CIM® column (Convective Interaction Media monolithic chromatographic column)
|trancar, Ale (BIA Separations 201309 CEO + Chief Business Development Officer)
|Person 2
|Urbas, Lidija (BIA Separations 201505 Marketing)
|12 Viktor Kaplan Allee
|7023 Pöttelsdorf
|Address record changed: 2015-07-04
|Basic data
|n. a.
|* Document for �About Section�: BIA Separations d.o.o.. (1/17/18). "Press Release: BIA Separations Appoints Pete Gagnon as Chief Scientific Officer". Ajdovcina.
Record changed: 2018-01-24
More documents for BIA Separations GmbH
- [1] BIA Separations d.o.o.. (6/8/15). "Press Release: BIA Separations and Labena Start Long Term Partnership". Ajdovcina....
- [2] BIA Separations d.o.o.. (6/2/15). "Press Release: BIA Separations Expanding its Distribution Network in China". Ajdovcina....
- [3] BIA Separations d.o.o.. (5/26/15). "Press Release: BIA Separations Expanding Its Distribution Network in India". Ajdovcina....
- [4] BIA Separations GmbH. (3/25/15). "Press Release: BIA Separations Appoints Hichrom as Distributor"....
- [5] BIA Separations GmbH. (7/29/14). "Press Release: SDK and BIA Separations Expanding Their Co-operation". Villach....
To subscribe to our free, monthly mass spectrometry newsletter, please send an e-mail to firstname.lastname@example.com and simply fill the subject line with the word »MSC Newsletter«
To get even more information, please take a look at our [gs] professional services offering and read the gene-sensor Product Flyer [PDF file]
Please visit also our web portals for the Eurpean life sciences and the life sciences in German-speaking Europe (DE, AT & CH) at Life-Sciences-Germany.com and Life-Sciences-Europe.com
» top