Crispy on the outside and buttery throughout, Hasselback Potatoes are a new favorite. It's easy to make and even easier to eat – you'll love this fail-proof dish!
Peel off the back of the potato so it's flat as you cut it.
Make cuts that are 1/8in thick and don't cut all the way to the bottom. Leave about the width of a chopstick at the bottom.
Serve Hasselback Potatoes for breakfast with eggs or use it as a delicious side for dinner. The crispy outside is lightly fried in the oven as it bakes. The sliced slits make it easy for the butter to penetrate the entire potato as it cooks and allows toppings like sour cream to fall right into it. Turn this side into a meal by making it a loaded potato and serving it with sour cream and chili.
In a small mixing bowl, combine the melted butter, olive oil garlic, and minced herbs. Set aside for 20 minutes.
Scrub the potatoes thoroughly and remove all the hard bits from the skin, as the skins will be left on.
Slice one thin layer off each potato to square it off. Place a potato flat side-down and use a sharp knife to make slices that are about 1/8-inch apart; slice into the potato but not completely through it. Keep the slices connected at the bottom.
Carefully fan out the sliced pieces without breaking them apart. Repeat with each potato.
Using a pastry brush, brush the bottom and sides of a cast iron skillet and each potato with the garlic-herb butter mixture. Brush the potatoes generously, making sure to get in-between each slice. Reserve 1/3 of the garlic-herb butter for basting. Nestle the potatoes into the skillet. Sprinkle with Parmesan cheese (if using) and salt and pepper, to taste.
Bake for 1 hour -- basting the potatoes every 15 minutes with the remaining garlic-herb butter -- or until tender on the inside and crisp on the outside.


text:
FOUNDING CONCEPT & EXECUTIVE DIRECTOR:
Dr. Sean Lowry projectanywhere@gmail.com
BIENNIAL CONFERENCE & PUBLICATION:
Professor Simone Douglas, Director MFA Fine Arts, School of Art, Media, and Technology, Parsons School of Design, The New School (USA) douglass@newschool.edu
Dr. Sean Lowry, Head of Critical and Theoretical Studies in Art, Victorian College of the Arts, Faculty of Fine Art & Music, University of Melbourne (Australia) sean.lowry@unimelb.edu.au
EDITORIAL COMMITTEE:
Professor Su Baker, Pro Vice Chancellor – Engagement, Director – Centre of Visual Art, University of Melbourne (Australia)
Professor Brad Buckley, Professorial Fellow, Victorian College of the Arts, Faculty of the VCA and MCM, University of Melbourne (Australia)
Professor Simone Douglas, Director MFA Fine Arts, School of Art, Media, and Technology, Parsons School of Design, The New School (USA)
Professor Bruce Barber, Chair, Media Arts Division, NSCAD University (Canada)
Professor Amelia Jones, Robert A. Day Professor of Art and Design, Vice Dean of Critical Studies, USC Roski School of Art and Design, University of Southern California (USA)
Professor Steve Dutton, Research Lead (Art), Director of the Art Research Centre,Bath School of Art, Bath Spa University (UK)
Assistant Professor H. Lan Thao Lam, School of Art, Media, and Technology, Parsons School for Design, The New School (USA)
Dr. Michael Schwab, Editor-in-Chief, Journal for Artistic Research (JAR)
Dr. Adam Geczy, Sydney College of the Arts, University of Sydney (Australia)
Dr. Les Joynes, Director, FormLAB (USA) + Visiting Associate Professor of Art, Renmin University of China
Dr. Ilmar Taimre, Independent Researcher, Composer/Musician, Multimedia Artist (Australia)
Ms. Honi Ryan, Independent Artist and Researcher based between Berlin, Paris and Sydney
Mr. Rafik Patel, Programme Leader in Spatial Design, School of Art + Design, AUT University (New Zealand)
DIRECTOR OF PUBLIC OUTREACH AND RESEARCHER:
Honi Ryan honiryan@gmail.com
RESEARCH ASSISTANT & PEER REVIEW COMMUNICATIONS MANAGER:
Corinna Berndt cberndt@student.unimelb.edu.au
All peer reviewers for Project Anywhere are artist academics of international standing. All evaluations are archived for independent auditing
Project Anywhere is proudly supported as part of a partnership between the Centre of Visual Art (University of Melbourne) and Parsons School of Art, Media and Technology (Parsons School of Design, The New School).

redpajama_set_name: RedPajamaCommonCrawl


I've been lucky enough to travel to all of the islands we feature here at Scott Dunn and know them well, having visited not only for work but also for vacations and in more recent years traveling as a family with my daughter.
Since joining Scott Dunn in 2008 I've also had the opportunity to visit Mauritius, Maldives and The Seychelles; three other very beautiful island destinations which offer some of the most amazing beaches in the world. I've enjoyed getting to know these islands and very much enjoy sharing my knowledge selling such a wonderful portfolio of hotels in the Caribbean and Indian Ocean.
"Gemma and Rachel were fantastic. Quick to respond to emails and concerns and we always felt that they had our best interests at heart. We'd definitely use Scott Dunn again."
"Very helpful and responsive. Nothing is too much trouble and a great knowledge of relevant hotels."
"Special thanks to Gemma Dobson for all her help beforehand and the smaller touches on vacation. Gemma was always available and prompt in answering questions. She gave us honest opinions and really considered what we wanted."
"Gemma was efficient and charming. She always returned email/phone calls immediately and she described the hotel exactly as it was."
"Gemma provided excellent advice and service. We have used your service before and will do again - in fact we are traveling with you to South Africa in November!"
"Phone service by Gemma was very professional and helpful. Have already recommended Scott Dunn to others."
"Gemma who helped us was lovely - well informed, helpful, thoughtful and really charming."
"Gemma was extremely helpful and forthcoming with good, honest advice."
"Gemma Dobson very responsive and mindful of our needs. Responded swiftly and positively to an email sent during the vacation."
"Gemma Dobson was knowledgeable and incredibly helpful. She made the booking process very easy for us and ensured all our requests were met. Thank you very much Gemma!"
"Always available and prompt answering questions. Gave us honest opinions and really considered what we wanted."
"Your in depth knowledge of a place and you are great at sorting out the minute detail - which in the end makes the vacation work."
"Wherever we go we are pleased. To date, after 7 vacations with Scott Dunn, we have not been disappointed. Thank you."
Riks Café Negril Jamaica – watch the amazing cliff diving whilst enjoying a bottle of Red Stripe and if you're feeling brave enough have a go yourself, a good place to go just before sunset.
Enjoy a wonderful Sunday lunch over at Scilly Cay in Anguilla, reached by a 5 minute boat ride from the main island. They serve a fresh lobster BBQ whilst you sit with your feet in the sand enjoying calypso music. Make sure you sample their rum punch!
Malibu Factory Barbados - for a fun couple of hours of sightseeing,visit the rum distillery that makes the world famous Malibu and sample some of their latest flavors - the lime flavored one is pretty good!
This hotel has a wonderful intimate feel with suites positioned in a horseshoe shape around the beautifully kept lawns and gardens, which lead on to the most fabulous beach with gentle clear waters ideal for swimming.
A beautiful private island a short boat ride from mainland Antigua. With an exclusive feel no cars on the island, it's wonderfully safe for children. The island is very flat so great to get around by bicycle. One of the beaches is how to nesting turtles.
This hotel is amazing, the suites have a panoramic view out over the ocean and come with your own personal butler who will ensure that you're looked after like a movie star, starting from making sure that your favorite music is playing upon your arrival.


I love your work, Sarah. Grainne Marmion, introduced it to me and I would love to be informed when you next have an exhibition.
I have only just seen your message, and am so pleased you enjoy my work. I may have a show in November but final dates TBC but can let you know nearer the time?


Luster™ Powder is a fine, shimmery powder that can be dusted on directly for all over sheen finish. Mix it with water or Graftobian Magic Set™ Mixing and Lining Liquid, MM-1034, for shimmering smudge-proof coverage, and dazzling looks on the eyelids.
Luster™ Powders create stunning radiance when dusted over bare skin, or any powdered makeup or eye shadow application. Use them as a blush, contour, accent or highlight anywhere on the face. Apply them over real tattoos to create intense effects for eye-catching results. These powders are great to use over any airbrush makeup application for an intense fantasy effect.
Use Luster™ Powders over Graftobian Luster™ Cremes, PPS-0363, as the perfect compliment in your look. Once Luster™ Creme is applied, powder over the Luster™ Creme with the matching Luster™ Powder to intensify the effect and to help to "set" the Luster™ creme application. You can create many gorgeous looking tones and textures when mixing colors over each other, such as Opal Ice Luster™ Powder over Pulsar Purple or Stellar Mocha Luster™ Creme.
Luster™ Powders colors mix together easily to create many custom shades, such as Opal Ice and Fuchsia Fire to create a brilliant Pink. Also try mixing Graftobian Powdered Glitter, PPS-0360, into Luster™ Powders to create even more amazing beautiful results for your face or body art. Dust on for an all-over shimmer or apply wet for opaque coverage. Luster™ Powders can also be applied over Graftobian Colored Liquid Latex, MM-1035, after fully dried to achieve striking and very durable wear fantasy effects. Its fun to experiment and you are only limited by your imagination.
Tips: Try dusting Luster™ Powder in Golden Nova, Golden Glow, or Silver Starlight over a super light layer of baby oil or glycerin, such as Graftobian Liquid Pain and Sorrow, MM-1054, for a beautiful radiant "fairy" effect for red carpet events, fashion photography, or stage events.
For a durable wear and virtually smudge-proof Luster™ Powder application, lightly spray with Graftobian Setting Spray, PPS-0021, to seal the makeup. Or, for a sparking hint of glamour and glitz mix a very small amount of Luster™ Powder into 1 oz. of Graftobian Setting Spray, then spray on for beautiful quick-drying lasting shimmer.
0.036 oz / 1 gram mini container.
High pigmentation with see through color. Pink champagne is perfect near the tear duct for a luminous color pop! Asteral peach is beautiful on cheeks. Rose pink is sure to work with any skin tone! Order and you will love the product!


text:
Fast and friendly
A couple of decades ago, when the racing careers of greyhound dogs like Dancer, Patch, Tomato and Jimmy came to an end, it often meant their lives did, too.
By Keith EdwardsKennebec Journal
GREYHOUNDS IN NEED OF ADOPTIONS
AUGUSTA — A couple of decades ago, when the racing careers of greyhound dogs like Dancer, Patch, Tomato and Jimmy came to an end, it often meant their lives did, too.
In some cases, the end came by being shot in a field, with the ears cut off so the identifying tattoos inside them couldn't be used to trace the owners.
A greyhound greets visitors at the Maine Greyhound Placement Service in Augusta on Tuesday. Staff photo by Andy Molloy
A pair of Greyhounds frolic Tuesday on the grounds of the Maine Greyhound Placement Service in Augusta. The group is building a new facility, above, at its site to kennel and condition rescued Greyhounds.
A greyhound attempts to convince Dr. Ed Atlee to take him for another walk Tuesday at the Maine Greyhound Placement Service in Augusta. The group is preparing for the arrival of 12 more retired racing greyhounds on Saturday. Staff photo by Andy Molloy
Now, these "45-mile-an-hour couch potatoes" are taken in by rescue organizations such as Maine Greyhound Placement Service in Augusta, where they are matched up with people to give them their first taste of what it's like to be a pet, in a real, loving home.
"Things have changed a lot," said Mary Towle, treasurer, placement representative and co-founder of the Augusta rescue group. "Most of the racing kennels now focus on getting dogs no longer profitable into a rescue group. Before, they were in various ways euthanized. There are still some that are. But those situations are getting fewer and fewer. The public is too aware, at this point."
Saturday, the Maine Greyhound Placement Service expects a truckload of 12 newly retired racing greyhounds to arrive from Birmingham, Ala.
Waiting to the greet them are 20 adoptable greyhounds already at the shelter — including the aforementioned Jimmy, a large, sinewy black hound retired from a Florida dog track who, on a recent afternoon, was let off leash in the Augusta kennel's large fenced-in area for a run with his fawn-colored friend Felix.
The two greyhounds, members of a breed capable of accelerating to 45 miles per hour in just three strides, briefly tore around the field at blurrying speeds.
Then, after just a minute or so, both stopped and wandered over, breathing heavily, to a group of people talking in the corner of the field, and leaned on them, looking for some attention.
"They're such gentle dogs," said Louise Sawyer, kennel manager and veterinary technician for the nonprofit rescue organization. "People think they need a lot of exercise, but they don't. They're sprinters. Even when they were on the track, they'd only run for 28 or 29 seconds, then they're done.
"They're really kind of lazy hounds. They enjoy their retirement."
Sawyer said the retired racers are generally quiet and clean, good with kids and other dogs, and are also good pets for senior citizens and people living in apartments.
But because they've never been outside a racetrack setting, the dogs need time to adapt to their new, better lives — though Sawyer said they adapt very quickly to their new surroundings.
Most have never climbed stairs, walked in snow, or lived in a home with things such as ringing telephones.
"They've had a very regimented life, nothing warm and fuzzy," Sawyer said. "Some have to be trained to even take a treat from you. They've just never had that interaction."
Towle said adopters must have a crate for their new pets, as a secure place to put the animal as it learns how to live in a house.
Special concerns that come with the dogs include a requirement, Sawyer and Towle said, they either be on a leash or within a fenced-in area.
As sight hounds, they may instinctively run after something that catches their eye. And because they're so fast, if they do run, you're not going to be able to catch them.
Sawyer said the ex-racers can be prone to problems with their teeth, as they've received little or no dental care and, until they come to the shelter and are put on a dry dog food diet, many ate nothing but raw meat.
They need coats in the winter because they are not good at dealing with temperature extremes.
Maine Greyhound Placement Service charges adoption fees of $175 for males, $225 for females, a fee that doesn't come close to covering the cost of taking in and caring for the svelte, multicolored creatures.
Those interested in adopting from the shelter should start by calling 846-4707 to see if they and a greyhound would be a good fit for each other. If so, they'll get an appointment with Scott Bruns, co-founder and president of the organization, who can show potential adopters greyhounds. Visits to the shelter are by appointment only.
Next door to the kennels on Old Belgrade Road in a deteriorated forward dairy barn, a large three-story barn-like structure that will serve as the new shelter is under construction.
Fundraising to help pay for the $200,000 shelter is ongoing. Donations may be mailed to the Maine Greyhound Placement Service, at 231 Old Belgrade Road.
Sawyer anticipates the building will be ready for the dogs to move there in October, with completion of the rest to follow. Ultimately it will have space for not just kennels, but also training and meeting areas, and a store selling greyhound-related items like coats.
The shelter also has a veterinary clinic onsite, in a separate building, where a veterinarian comes occasionally to help care for the animals, and where the greyhounds are spayed or neutered before they are adopted.
By law, greyhounds can only race until they're five years old. Only six states still allow dog racing. All of the Augusta dogs come from southern racetracks, mostly from Florida and Alabama.
Up until a couple of years ago, there were tracks as close as New Hampshire, but the practice has since been outlawed there.
Maine has never had dog racing. So why does Maine have a greyhound shelter?
Towle explained there are greyhound rescues across the country because, as the areas immediately surrounding the tracks become saturated with retired racing dogs, a wider range is needed to be able to find homes for adoption.
Bruns started the Maine Greyhound Placement Service in 1993, first just adopting a dog himself, then growing to become the nonprofit rescue organization it is today. It moved from Bridgeton to Augusta in 2003, to be more centrally located and have easy access to Interstate 95.
The service has two paid staff members, some 25 kennel volunteers, and others helping raise money and awareness across the state.
Their motivation — the dogs.
"Working with these guys as they're coming off the truck, getting their first taste of a real pet life, I can't imagine anything more rewarding than that," Sawyer said. "It's almost a religious experience. The feeling you get — there's no pill that can do that."
Keith Edwards — 621-5647


You are here: Home / Podcasts / Empowered Relationships / Empowered Relationships – Do You Really Matter?
Empowered Relationships – Do You Really Matter?
We all know men and women are different. And now it seems that there's yet another aspect where the two species come together (or don't) in the way they relate … if they matter to each other! International speaker and author of best-selling books, Dr. Emerson Eggerich spells out with Dr. Karen how men and women view love … and why each might feel unloved by the other. This can all be quite frustrating until Dr. Eggerich eloquently reveals the "dance" a couple does. Make sure you tune in to learn the important steps to change your relationship around!


Condition: For skin in need of clean and natural nourishment, as a moisturizer or for massage.
Solution: 100% Pure Almond Oil is a natural oil that's perfect for nourishing and reviving any skin type. Almond Oil is easily absorbed and won't clog pores, promoting clear, soft, healthy-looking skin. This natural skin-nourishing oil is ideal for the entire body. Almond Oil is a natural oil derived from pressed almonds. Vegetable-derived oils date back to Biblical times, when they were mixed with fragrant herbs to create traditional ointments.
Ingredient: Prunus Amygdalus Dulcis (Sweet Almond) Oil.
Suggested Use: Work several drops between your palms and massage into the desired area. For the face, after cleansing, massage 3-5 drops of 100% Pure Almond Oil into your skin, paying particular attention to the area around your eyes.
Warning: Keep out of reach of children. Product contains no fillers or additives. Do not use if seal is broken or missing. Do not use if pregnant or nursing. Please consult your health care provider if currently under care or treatment. Do not exceed recommended amount. See product packaging for additional safety information.


Angela Lau is an Illustrator/Cartoonist, born and raised in New York City. She graduated from the School of Visual Arts in 2011, and has been recognized for her artwork by AIGA Designs and Scholastics Arts and Writing. Influenced by her heritage and love of watercolors, Angela creates beautifully intricate images, often including animals, insects, and botanicals. She spends her free time doodling quirky images of food and the love of her life, a tabby cat named General.
Group Shows: 2014-2015 The Center for Arts Education, 2014 Viridian Gallery, 2014 ConArtist Gallery, 2013 EMOA Space, 2013 Greenpoint Gallery, 2012 Sapphire Lounge.


Soft-Tissue Injuries of the Neck cause severe lasting pain in 12%.
Soft-Tissue Injuries of the Neck - ligaments, muscles, fascia, nerves, the cord and dura, blood vessels - after whiplash injuries are still doubted by many. A prominent orthopaedic surgeon from Rotterdam recently likened a whiplash to a sprained ankle - where mostly there are no long term sequelae.
Gargan and Bannister reviewed the progress of 43 persons injured in car accidents (a rear-end collision), following them for 10 years.
Soft-Tissue Injuries of the Neck - ligaments, muscles, fascia, nerves, the cord and dura, blood vessels ... - after whiplash injuries are still doubted by many. A prominent orthopaedic surgeon from Rotterdam recently likened a whiplash to a sprained ankle - where mostly there are no long term sequelae. She is apparently unaware that the spinal cord transverses the neck.
Only 12% were free of any discomfort and considered that they had made a complete recovery from their accident.
12% were still suffering from severe problems, had lost their jobs, relied continually on orthoses or analgesics, and had undergone repeated medical consultations.
28% were still experiencing intrusive symptoms which handicapped work and leisure and caused them to seek relief by frequent intermittent use of analgesia, orthoses or physiotherapy.
48% were left with mild symptoms which did not interfere with their work or leisure activities.
In short, after ten years, 60% had either recovered completely or had mild symptoms, but 40% were still still experiencing severe to intrusive symptoms, ten years after the accident.
Seat-belts afforded no protection in rear-end whiplash injuries.
Patients with objective neurological signs and restriction of neck movement were more likely to experience continuing symptoms.
35% of those injured in motor vehicle collisions will experience delayed symptoms.
Thus it is difficult to give a confident long-term prognosis for patients who have suffered soft-tissue injuries of the neck following a rear-end collision.
Litigation does not appear to prolong symptoms.


The four pen Callicreative set offers the full spectrum of line widths perfect for practising all styles of calligraphy script.
The ease and fluidity of the Callicreative italic marker pens means that the pens are highly versatile and can be used for all sorts of decorative purposes such as wedding invitations place cards certificates and more.
Set Contains four pens tip size 1.4mm, 2.5mm, 3.6mm, 4.8mm each with ergonomic comfort grip for ease of use when writing, black ink and Italic guidelines and instructions included.


The Bay Area Open Space Council and Greenbelt Alliance tapped Thinkshift for help in creating a report that could persuade policy makers at all levels—local, county, regional, federal—to act on essential strategies for preserving Bay Area ecosystems. It also had to engage regional media in the issues.
The report needed to distill two years of intensive research and analysis involving over 100 organizations across the nine-county Bay Area into a concise, accessible argument for action. It also needed to reflect the viewpoints of stakeholders from about 30 organizations.
Thinkshift developed a fledgling idea into a full creative concept and storyline for the report, titled Golden Lands, Golden Opportunity.
We refined the messaging and identified content needed to make the case that saving Bay Area open spaces, parks, and agricultural lands will benefit the entire state and is essential to maintaining the region's social and economic vitality.
We wrote most of the copy and worked with the project team to incorporate feedback from a wide range of reviewers.
The San Francisco Chronicle's Sunday editorial praised it, saying, "The case for a regional approach to land use has rarely been spelled out so eloquently." An editorial in the San Jose Mercury News supported the report's goals as well.
The Chronicle used the report as the basis for a news article, "Report Urges Preserving Bay Area Outdoors," as did publications across the region.
Stakeholder organizations used the report for years.


The season of the Cyr Center is mid April through mid December each year weather permitting.
Great news! @Town_Mgr_Maylor shared that the playground tables have been installed and the Drummond Project is now complete!


text:
DeepBits Deep Thoughts
A Comparative Review of Embedding based Binary Code Search Techniques
Figure 1: Embedding based binary code search technique
Recently, the researcher Thomas Dullien from Project Zero, published an interesting article [1] to find statically-linked vulnerable library functions in executable code. It employs embedding based binary code search technique, which has drawn increasing interests from both industry and academia [1, 3, 4]. More specifically, as illustrated in Figure 1, given a piece of binary code (e.g., a function), raw feature (CFG, basic block, call graph, etc.) is first extracted. Then machine learning based approach is applied to the raw feature to generate embedding (numerical value). The code similarity between two pieces of code is measured by the distance between two embeddings. Thus, the embeddings can be fed into different models for malware classification, vulnerability search, plagiarism detection, etc. The analysis results should be improved compared with using traditional features like opcode sequence, API call, etc. since the embeddings preserve the high-level semantic information.
Although researchers have demonstrated the promising applications of the embedding based code search technique, in the real-world scenarios, there are still many challenges to overcome before industry deploys this technique. For instance, the same piece of code can be compiled in different compilers, different optimization levels, and even different architectures. It is not that straightforward to apply embedding-centric binary analysis on practical use. In this article, we conducted a comparative study on the latest three embedding-based code similarity detection methods (ASM2Vec, Funsimsearch, Gemini). We would like to measure their training time, evaluation time, and whether they are resilient to different platforms, optimizations, architecture, and obfuscation. In the talk, we will show how we design the experiments, and present the evaluation results. By analyzing those results, we would like to present the insights we learned on how to make the embedding binary analysis practical for industry deployment.
2 Background & Related Work
2.1 Overview of Binary Code Search Techniques
In general, code search technique is composed of the following three steps: feature extraction, embedding, and matching.
Raw Features The debate on how to select features never ends. Some insist that carefully hand-crafted features, with the help of their domain knowledge, can help improve the performance, while others believe machine-learning algorithms are able to learn important features from raw data. However, some experiments show that deep learned features outperform hand-crafted features, and other experiments show the opposite.
An experienced reverse engineer usually utilizes control flow graphs (CFGs), call graphs, combinations of certain instructions, API calls, etc., to get a brief idea of the functionality of a function. Among these features, CFGs and call graphs provide structural information, and the rest give semantic information.
Embedding CFG gives a brief idea of how the function looks like, and if two functions look completely different according to their CFGs, it is not likely that they are similar in terms of functionality. Unfortunately, the graph is not so friendly to machine learning algorithms, the graph may be too large to feed into a machine, and there is not yet an algorithm that can do graph comparison fast enough. To solve this problem, graph embedding is proposed to project a graph into a fixed-size one-dimensional vector while trying to maintain the graph topology, edge relationship, and other relevant information. This method solves all the problems mentioned above, with the cost of losing certain information in the graph.
Matching Algorithm Given two vectors, there are tons of ways to compare the similarity between them. Manhattan distance, Hamming distance, Euclidean distance, cosine similarity and so on. Each measure has its own output range and application, so it is not easy to find a suitable measure of a specific graph embedding method.
2.2 Asm2Vec
Asm2Vec [3] is a representation learning model for assembly code syntax and control flow graph. It first extracts assembly functions, their basic blocks and CFGs using IDA Pro, and then generates multiple sequences for an assembly function by performing a random walk on top of the CFG, while guaranteeing edge coverage. These sequences are now sequentially laid out, thus fit better in the NLP model. Finally, the model generates embeddings and they are compared using cosine similarity.
2.3 FunctionSimSearch
The FunctionSimSearch [1] uses SimHash [2], a locality-sensitive hashing to generate embeddings of the inputs, and a neural network to learn the weights of each feature. This solution is still on its early stage, so for the moment, the inputs are subgraphs of the control-flow graph, n-grams of mnemonics of disassembled instructions, and constants from operands. Hashes are then compared using hamming distance.
2.4 Gemini
Gemini [4] is a deep neural network-based approach to generate embeddings for binary functions for similarity detection. This approach takes attributed control flow graph as input and generates embeddings using a pre-trained model. It combines graph embedding networks into a Siamese network to make the embeddings of two similar functions close to each other, and the pre-trained model can be retrained quickly to adapt to new application scenarios.
3 The Comparative Study
In the real-world scenarios, the same piece of code can be compiled in the different compiler, different optimization level, and even different architecture. Moreover, the code might be inlined in other code, making code search more difficult. We designed several experiments to test if these approaches fit into real-world scenarios. We would like to measure their training time, evaluation time, and whether they are resilient to a different platform, optimization, architecture, and obfuscation.
3.1 Efficiency
We first would like to measure efficiency. All three approaches are academic researches, and we want to find out whether they can be applied in industry.
As we mentioned above, there are usually three steps to compare binaries: feature extraction, graph embedding, and matching. We will measure the time these three approaches take in each step, find out which step is the most time-consuming part, and propose some possible improvements.
We picked 251 Windows 10 executable files whose code size varies from 10KB to 20MB, and there are 1,509,664 functions in total. We select code size instead of file size because binary files may contain resources of any size, and anything but the code itself is irrelevant in code search. The only exception is Asm2Vec where we were only able to put 63,302 functions in its dataset due to its long processing time. To measure the matching performance, we will compare each file in the dataset with the whole dataset. Asm2Vec has a really small dataset, so the matching time of Asm2Vec is for reference only. The experiment is done on a computer with Intel 4700MQ and 16GB memory. The result will show how much time each part takes as the code size increases.
This experiment is to measure the accuracy of these approaches in different scenarios. To make a fair comparison, we compiled the same source code, OpenSSL 1.1.0, under different compiling flags. In this way, functions with the same name are considered identical. We have compiled OpenSSL 1.1.0 in x64 and x86, both with optimization flag O0 to O3. In each comparison, the datset is split into 70% training set and 30% test set. The test set is then compared to itself, and do a function-level comparison. The exception is Asm2Vec, because its training set is also its codebase. We will compare its codebase with its codebase for Asm2Vec instead.
We count the number of true positives and false positives in top K results. For each function, if there exists at least one function in top K results that have the same function name, then this is a true positive. Likewise, for each function, the number of false positive is the number of functions in top K results that do not have the same function name with the queried function. The number of positive is the number of functions, and the number of negative is the number of function squared minus the number of matching pairs. The output of this experiment is ROC curves and recall rate. ROC curves are good enough to compare the performance, but we added recall rate as well because we were only able to retrieve top 100 results from Asm2Vec due to its excessively slow speed. Plotting partial ROC curves is weird, and the recall rate can give us a more straightforward comparison.
In our first experiment, we used OpenSSL 1.1.0 x64 O0 to O3 as our dataset. This experiment is to test whether these approaches can find functions even when they are compiled in different optimization level. This is one of the common problem reverse engineers are facing: functions compiled in different optimization levels can look totally different, and it is hard to tell whether two functions are identical with the naked eyes. In the second experiment, we used OpenSSL 1.1.0 O3 x86 and x64 as our dataset. This measures the performance when the code is compiled in a similar architecture. We also planned to compare the code in x64 with code in ARM, but FunctionSimSearch does not support ARM architecture, so we skipped that comparison.
Figure 2: Feature Extraction Time
4.1 Raw Feature Extraction
Figure 2 shows the linear growth of all three approaches. FunctionSimSearch uses DynInst, a high performance tool with the cost of limited architecture support, to disassemble and extract features from binaries, whereas Gemini and Asm2Vec use IDA Pro. If we look at the time they take to extract 1MB code, FunctionSimSearch is clearly the fastest, about 2 seconds, then Asm2Vec, about 40 seconds followed by Gemini, 100 seconds. FunctionSimSearch outperforms the other two because it does not use auto analysis as IDA Pro does by default, and it lazy evaluates the disassembled results, moving some time to embedding and matching part. On the other hand, both Asm2Vec and Gemini use IDA Pro and extract similar features. The difference in performance indicates that the extraction script of Gemini can be further improved.
Figure 3: Embedding Time
4.2 Embedding
Figure 3 indicates a linear growth, though it is hard to say whether the embedding time of Asm2Vec is a linear growth due to its small sample size. This time Gemini is the fastest as it takes only 2 seconds to embed 1MB code, FunctionSimSearch 30 seconds and Asm2Vec probably 10 minutes. Gemini is fast because it uses highly optimized and vectorized code to generate embedding, bulk input and output. Asm2Vec is slow probably because it has to do random walk on CFGs.
Figure 4: Matching Time
4.3 Matching
Figure 4 presents the matching time. Gemini, again, is fastest due to its highly vectorized code. The result of Asm2Vec is not shown on the figure because it has an extremely small dataset (about 2% of the complete dataset). Asm2Vec takes about 20 seconds to compare the 300KB code with 60,000functions, so it is not comparable to the other two.
Figure 5: Total Time
4.4 Overal comparison
Figure 5 shows that Gemini spends most of the time on feature extraction, whereas FunctionSimSearch on matching. In total, Gemini is about two times faster than FunctionSimSearch. Asm2Vecis excluded in this part because of its small database.
Figure 6: Cross Optimization Evaluation
4.5 Cross Optimization Level
Figure 6 presents ROC curve and recall rate for cross optimization evaluation. The first thing we immediately noticed was that when K = 1, none of these approaches had a good performance. We then looked into the OpenSSL binary code and found almost half of the OpenSSL functions were external functions, which means there is no single instruction in that function. This is probably the reason why the performance is bad at the beginning. The result shows that Gemini outperforms the other two. This is probably because it is better trained, and it uses a model that fits better incode search. Gemini is able to run 10,000 iterations in 1 minute whereas Asm2Vec takes days andFuncionSimSearch takes probably weeks to reach the same iteration number.
Figure 7: 32 and 64 bit Evaluation
4.6 X86 vs. X64
Figure 7 presents ROC curve and recall rate for x86 vs x64 evaluation. In this test, Gemini can better identify functions than in cross optimization scenario. This makes sense because x64 is an extension x86, not a completely different architecture. There are some new opcodes and operands, but the features Gemini extracts is not sensitive to that kind of change, so the performance is pretty good. FunctionSimSearch has mnemonics as its features, so it kind of explains the performance degradation. Likewise, Asm2Vec is sensitive to the changes of opcodes and operands, so its performance is also not good.
In our experiments, we found if we excluded functions that had less than 5 basic blocks, the accuracy increased a lot. This, we figure, is because about half of OpenSSL binaries are external functions, and they do not have a single instruction, so there is no way to tell differences among these external functions. The second reason would be small functions tend to have similar features, so one possible way to improve this is to extract different features for small functions and large functions.
Gemini is slow on feature extractions, we found some outliers on the figure. This indicates that the extraction script cannot well process some binaries on some circumstances, so it is a good idea to improve the extraction script. We can also infer that DynInst is much faster than IDA Pro. Though we do not know the accuracy of the disassembled results yet, it is worth to try different disassemblers.
In the accuracy tests, the results show that some features are sensitive to even small changes in binary code. This tells us we need to be careful when choosing features. Whether deep learned features are better than manually selected features requires more experiments.
The experiments show that Gemini outperforms the other two in both efficiency and accuracy. Gemini is able to extract features, embed and match 1MB code with about 270MB codebase in 100 seconds. FunctionSimSearch, on the other hand, takes about 300 seconds. As for accuracy, Gemini reaches 100% true positive rate while the false positive rate is about 10%. FunctionSimSearch reaches 90% true positive rate when the false positive rate is 20%. In our experiments, Gemini is the best of all three approaches.
[1] Searching statically-linked vulnerable library functions in executable code. https://googleprojectzero.blogspot.com/2018/12/searching-statically-linked-vulnerable.html .
[2] M. S. Charikar. Similarity estimation techniques from rounding algorithms. In Proceedings of the thiry-fourth annual ACM symposium on Theory of computing, pages 380–388. ACM, 2002.
[3] S. H. Ding, B. C. Fung, and P. Charland. Asm2vec: Boosting static representation robustness for binary clonesearch against code obfuscation and compiler optimization. In IEEE S&P, 2019.
[4] X. Xu, C. Liu, Q. Feng, H. Yin, L. Song, and D. Song. Neural network-based graph embedding for cross-platform binary code similarity detection. In Proceedings of the 24th ACM Conference on Computer and communications security (CCS'17), Oct. 2017.
Posted by DeepBits Technology at 3:04 PM
A Comparative Review of Embedding based Binary Cod...


Missouri is a modified no-fault divorce state. This means that the spouse seeking divorce does not have to prove misconduct on the part of the other spouse. Misconduct in the case of divorce is considered adultery or some sort of abandonment, such as financial. But in a no-fault divorce, the only thing that needs to be proven is that the marriage is broken and cannot be repaired. That is where the term "irreconcilable differences" comes from. Another way to phrase it is to state that the marriage is "irretrievably broken." If there is little to no chance that the marriage can be salvaged, it is likely a divorce will be granted.
If the two divorcing spouses cannot agree on how to divide their property in a settlement, the court will likely divide their property for them in a trial. Property will be divided fairly but not necessarily equally. Factors of property division include how much each spouse contributed to the marital property, the value of each spouse's non-marital property, the children of the marriage, and the marital home, which usually gets awarded to the custodial parent. Non-marital property is not part of the marital estate and stays with the respective owner during and after the divorce. Usually this includes gifts and inheritance provided it is kept separate from the marital property during the marriage.
Like with property, if the divorcing couple cannot agree on a custody agreement during settlement, it will go to trial. The best interest of the child or children is always the main factor for consideration in child custody. However, the wishes of the parents, the child's educational issues, the relationships the child has with the parents, the child's adjustment, and the overall wishes of the child are also taken into consideration. Another consideration is whether one parent wishes to relocate after the divorce.
Often times, the non-custodial parent is requested to pay child support. Generally it is to give the child the same standard of living they had while their parents were married. Child support usually continues until the child is 18, but can be extended until the child is 21 to assist the child in educational needs if certain requirements are met.


Thank you very much for the nice Christmas Present from Poland.
My wife and I are very much pleased with them. They are really beautiful especially in disign and in colour.
I cannot tell you how excited my wife is to have them.
Your mother must be a famous designer.
Chris, thank you very much again and I wish you a very merry Christmas and a happy new year!