text:
HOWTO: Rebuild Glibc on Slackware ARM 14.0 for the Raspberry Pi
I run Slackware ARM on my Raspberry Pi. I've been a longtime fan of Slackware, which caters to my inner control-freak. However, since Slackware ARM (formerly ARMedSlack) is designed to run on a variety of ARM-based systems, and an ARM-based system is typically a System-on-Chip, this means that Slackware ARM is built for maximum compatibility… and minimum optimization. For example, not all ARM CPU's have on-board floating-point capability. By assuming no floating-point capability, Slackware ARM can run on a wider range of ARM-based systems. However, this can reduce performance significantly.
This guide will explain how to rebuild core glibc libraries to use the greater capability of the Raspberry Pi's on-board ARM 1176JZF-S CPU. The process is not terribly involved, but using NFS for the build space took 8-1/2 hours, even with the CPU overclocked to 900 MHz.
N.B.: The following instructions are intended for a root user, with full privileges to do a lot of damage to the system.
Building glibc requires the following packages from Slackware ARM:
- From a/, aaa_base, gawk, and sed.
- From ap/, groff and texinfo.
- From d/, autoconf, automake, binutils-22.214.171.124.2, gcc-4.7, perl, and pkg-config.
- From l/, libtermcap.
All the packages except gcc are checked by the build script before unpacking the glibc source tarball. If you have installed all the packages under a/, ap/, d/, and l/, you should have no problems.
You might also wish to install ap/screen, so you do not have to stay logged in during the build, and n/rsync, which will simplify the download process considerably.
The Slackware ARM build process is a somewhat hybrid affair, drawing from both Slamd64 and core Slackware. Because of this, You will need to install slackkit. (Edit: but not because of any influence from Slamd64. Sorry about that, Mr. Winter.)
The Slackware ARM build files do not include the actual sources for most packages (including glibc), instead relying on the sources from Slackware64. The following will download the minimum files for the build process:
cd /root mkdir -p slackware{64,arm}-current/source/l/glibc/ mkdir -p tgzstash/{a,l} mkdir tmp rsync -aP rsync://ftp.slackware.com/slackware/slackware64-14.1/patches/source/glibc/ slackware64-current/source/glibc/ rsync -aP rsync://ftp.slackware.org.uk/slackwarearm/slackwarearm-14.1/patches/source/glibc/ slackwarearm-current/source/l/glibc/
(Note: the above originally omitted the a/ and l/ directories after tgzstash/, which results in an error. I had mistakenly left these sub-directories in place when I was developing these instructions. Thanks to frushiyama for the report, and Stuart Winter for recognizing the culprit.)
(NOTE 2019-09-12: I have adjusted the rsync source pathnames, to reflect the last released glibc security upgrades for Slackware ARM 14.1. This is the last Slackware ARM release to benefit from glibc built with soft-float.)
The primary configuration file for the slackkit packages is in /usr/share/slackdev/slackdev.config, which assumes the build directories are all under /root. If you move them somewhere else, be sure to adjust the slackdev.config file appropriately. The /root/tgzstash directory should contain subdirectories named a/ and l/, to receive the static object libraries and the regular system libraries, respectively.
On my setup, these working directories are NFS mounts, but they do not have to be. If you use NFS for these mount points, the NFS server needs to have appropriate "no_root_squash" options in the /etc/exports file. I don't suggest that you use the Raspberry Pi's SD card for these directories, because the build process will involve a lot of I/O and a lot of SD card wear. An external USB drive or network mount will probably be much easier on your equipment, and possibly faster as well.
As an extra safety step, you may wish to do the following:
mkdir /root/lib-backup cp /lib/lib* /root/lib-backup/ mkdir /root/pkgfile-backup cp /var/log/packages/glibc* /root/pkgfile-backup/
If something goes wrong while installing custom packages, you will be able to use another computer to move these files back into their original directories. (In the failure recovery phase, I assume you have already done this.)
The process
Once you have the minimum downloads in place, type the following:
echo "CFLAGS = -O2 -mfloat-abi=softfp -march=native -mtune=native" > /root/configparms
Be careful to include a space on each side of the first equals sign. The "configparms" file can modify certain aspects of the glibc build process, once it's in the build directory. Saving it to a file in /root is a time-saver, in case something goes wrong with the build process later.
Once you have these files in place, type (don't copy/paste) the following:
unset MAKE screen # w/ extra Enter to make splash screen disappear cd /root/slackwarearm-current/source/l/glibc arm/build
This begins the build process, but there's one more thing to do: put the "configparms" file in place. Watch for the message saying, "Unpacking main glibc source…" When you see this, type Ctrl-Z to suspend the unpacking, then type:
cp /root/configparms /root/tmp/build-glibc/glibc-2.15/ fg
The "cp" command is what will make this a customized build of glibc. The "configparms" file in the glibc source root directory is the official way to modify the Makefile variables. In this case, we're modifying the CFLAGS variable to detect the CPU model and submodel, and optimize the code for it. The ARM 1176JZF-S is detected automatically by GCC (I checked the source), so the machine code will use more capabilities of the on-board ARM, in a more efficient manner, than the generic code in Slackware ARM.
The wait…
It's a long process. Expect to wait at least 8 hours, unless you have an Raspberry Pi build farm on your network. It's the kind of thing you want to let run while you sleep, or work, or read random articles on Wikipedia. If you don't want to leave your login active, you may type Ctrl-A D to detach from the running "screen" session, then logout as usual. The build will continue running.
If you wish to check the build process occasionally, you can login as root on the Raspberry Pi, then check the build log with the following:
cd /root/slackwarearm-current/source/l/glibc tail -f glibc-2.15-arm-8.build.log
The output of the build session is logged to this file on-the-fly. When the long "gcc" commands scroll by regularly, you can terminate the "tail" command with Ctrl-C, then examine the compilation options in use. You should see the text "-march=native" somewhere in the command line (or look for "mtune" instead). This shows that the "configparms" file was found and put into effect, and the glibc build is producing optimized code for the Raspberry Pi.
If the "tail" command above fails, then the file doesn't exist, meaning the build has completed, and the build log is compressed into a .bz2 file.
An optional sanity check
If all goes well, you should end up with five new files under /root/tgzstash:
- a/glibc-solibs-2.15-arm-8.tgz
- a/glibc-zoneinfo-2012f_2012f-noarch-8.tgz
- l/glibc-2.15-arm-8.tgz
- l/glibc-i18n-2.15-arm-8.tgz
- l/glibc-profile-2.15-arm-8.tgz
If you would like to do a quick check that your files were built the same way mine were, you can do the following (NOTE 2019-09-12: the following checksums are no longer valid):
cd /root/tgzstash/a mkdir delme cd delme explodepkg ../glibc-solibs-2.15-arm-8.tgz objdump -d lib/incoming/libc-2.15.so | tail | md5sum - # output: "68d4fbc4059bc14a93efc4980a36bf33 -" objdump -d lib/incoming/libm-2.15.so | tail | md5sum - # output: "99dfd015c894c5d94c33e93353bf2c08 -" # and then "cd .. ; rm -rf delme" if you wish
I got these same checksums from two different builds, so if you see the same output, chances are good that you have built the same libraries. The checksums of the individual package files won't be the same, due to different timestamps of the library files.
If you did not get the same checksums, you may have a different version of GCC or binutils installed. It does not mean that your custom glibc will crash your system, but neither can you assume that a completed build means a usable library. If you got different checksums, proceed at your own risk!
If you are satisfied with the state of the packages you've built, then it's time to install them:
cd ~/tgzstash upgradepkg --install-new {a,l}/glibc-*.tgz
You won't see the normal package descriptions, as there are no corresponding glibc-*.txt files. However, you should see the list of files being removed for replacement. The list of files in i18n and zoneinfo is particularly long. If you get back to a command prompt without seeing any fatal errors from the upgradepkg sub-processes, then your custom glibc is in place and running. Congratulations!
If the upgrade crashes the system
However, if you suddenly begin seeing nothing but error messages, it means your build of glibc is defective. Once the upgradepkg program exits, you will still have a shell, and its internal capabilities, but external commands are no longer available, including "halt" and "shutdown". If you want to list files in a directory, you will need "echo *", since "ls" will also be out-of-reach. Very few external programs will be runnable, due to the defective or missing /lib/libc-2.15.so. The only available programs will be statically-linked binaries, and Bash scripts capable of being sourced, which also return no value.
To avoid write errors to the SD card, the best first thing to do is the following:
cd /proc echo r > sysrq-trigger echo s > sysrq-trigger echo e > sysrq-trigger echo i > sysrq-trigger echo u > sysrq-trigger
This is the famous Raising Skinny Elephants mnemonic, but omitting the last step of re-booting the system. Once the OK light stops flashing, I/O to the SD card has stopped, and it's safe to cut power to the RPi.
With the SD card in another system, "cd" to its mount point, then type the following:
cp root/lib-backup/* lib/ cp root/pkgfile-backup/* var/log/packages/
This will restore both the original libraries in /lib, and their Slackware package files. You should then have a system which is capable of booting. Unmount the SD card ("eject" in Gnome desktop parlance), return it to the RPi, and plug in the power. If Slackware ARM boots OK, you may wish to restore the original packages as an extra precaution before proceeding further, using "upgradepkg –reinstall" as the command.
Building an optimized glibc package on Slackware is not difficult; it's only a matter of timing the script interruptions. Even though the individual performance improvements may be small, the overall impact on system performance will add up. The libc library is used by nearly every Linux binary, so good optimization can yield both faster execution and less memory pressure.
I have been using optimized glibc packages for nearly 3 weeks, with no signs of problems with stock Slackware ARM programs.
9 CommentsLeave a Comment
Stuart Winter / Nov 21 2012 11:08 am
Nice article – I was thinking along the lines that rebuilding a few of the packages would suffice to help improve performance on the Pi.
The Slackware ARM build system predated Slamd64 by several years – not sure where you got that idea from!
Per Dalén / Feb 28 2013 4:37 am
What do you think about using hard floating points (-mfloat-abi=hard)? Will it work and is there an advantage to do so? I guess one will need to rebuild most packages to be able to boot.
br_Orion / Sep 29 2014 9:38 pm
After i the line arm/build i got this error:
mkdir: created directory '/root/tmp/package-glibc-incoming-tree/usr/man'
mkdir: created directory '/root/tmp/package-glibc-incoming-tree/usr/share'
mkdir: created directory '/root/tmp/build-glibc/kernelheaders/'
Extracting Linux Kernel headers into /root/tmp/build-glibc
tar: /root/slackwarearm-current/source/l/glibc/../../d/kernel-headers/sources/kernel-headers-3.16.3.tar.xz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
glibc-2.19-arm-3.txz.build.log: 3.336:1, 2.398 bits/byte, 70.02% saved, 2829 in, 848 out.
Maybe the kernel headers are not anymore on that location? Is there anyway to avoid it? because it seems to not be anymore on the slackware tree…
br_Orion / Sep 29 2014 10:05 pm
nevermind, i just added 2 rsync lines to grab the sources


text:
We're Jeff & Brittany, two wine-loving travelers (or travel-loving wine-Os depending on the day!) and here you'll find the ins and outs of our journey. We share our best travel tips and must see locations, under the radar wines, hidden restaurants, and hints to taste wine like a pro across the globe. So, fellow Vino Vagabond, grab a glass (or two) and lets hit the road! Cheers!
All tagged beaune

subset: commoncrawl


text:
By Mike Lehman, TTU Sports Information Coordinator
COOKEVILLE, Tenn. - In a game that featured its fair share of drama, the Tennessee Tech baseball team (30-10, 12-7) prevailed in come-from-behind fashion Thursday evening, defeating Jacksonville State (21-15, 11-5) in Bush Stadium, 8-7.
Playing the hero on the day for the Golden Eagles was senior Jordan Parris, whose career records for both hits and RBI in a game, propelled the Tech squad over the Gamecocks.
Jax State started the scoring in the contest, grabbing three runs in the top of the third inning thanks to a two-run home run by Griff Gordon and RBI single by Ryan Sebra.
Tech answered in the bottom half, as Parris took a 3-2 pitch deep over the left field wall, crushing his second home run of the season to cut the Gamecock lead to 3-1.
The Golden Eagles really got rolling in the fourth frame, striking four times, primarily thanks to Parris yet again. Shortstop Dylan Bosheers kicked off the inning, drilling a ball deep to left field for his seventh long ball of the year to trim down the Jacksonville State lead to 3-2.
Center fielder Jake Rowland and left fielder David Allen each singled over the next two at bats, bringing Parris back to the dish with runners on first and second and no outs. The catcher worked a full count after falling behind 0-2 early in the bat. After fouling off a 3-2 offering, Parris launched his second bomb of the contest to left field, driving in three runs and propelling Tech to a 5-3 lead.
In the fifth inning, the Golden Eagles extended their lead, using singles by Bosheers and Parris to set up senior Zach Zarzour for a two-out RBI single to third base. The run pushed the Tech advantage up to 6-3 as both sides headed to the top of the sixth.
Jacksonville State took its turn to rally, scoring three times in the top of the sixth off an RBI ground out by Joe McGuire and a two-run single by Michael Bishop. The Gamecocks then took the lead back in the seventh frame, thanks to an sacrifice fly by Stephen Bartlett.
Bosheers would get the Tech squad going for another comeback to start the seventh, reaching on a chopper to third base and advancing to second on a throwing error. A quick out for the Gamecocks brought pinch hitter Tyler Brazelton to the plate. The redshirt freshman drew a walk to put two men on and bring up Parris for another chance to wreak havoc on the Jacksonville State pitching.
He delivere, lacing an RBI double down the left field line to tie the game at 7-7 with just one out. Zarzour followed by driving in the go-ahead run off an infield single to propel Tech to an 8-7 lead.
Quick work from both bullpens in the eighth inning brought Golden Eagle closer Seth Lucio to the hill for the save attempt and the junior right-hander delivered. Lucio fanned all three batters he saw in the frame, collecting his ninth save of the season while giving the Tech squad its 30th victory of the year.
Reliever Cain Sloan collected his second victory of the year, tossing two innings of relief while allowing no hits and no runs.
Parris finished the day 4-for-4 at the dish, driving in five runs and accounting for two himself. Bosheers scored three runs in the contest while grabbing three hits in four trips to the plate. Zarzour drove in two runs on three hits and Rowland added two hits and run scored as well.
The second game of the series will take place Friday at 6 p.m. CT as junior Chris Chism will take the hill for the Golden Eagles.


text:
Vietnam Court Jails Music Teacher for 11 Years for Facebook Posts
Australia's Highest Court to Hear Cardinal's Appeal on Child Sex Charges
Cambodia Displays Wanted Posters on Sam Rainsy Along Border
Thailand Bars Cambodia's Top Opposition Leaders Entry into Kingdom
Americans, 3 Women, 6 Children Gunned Down By Drug Cartel in Mexico
Will You Get Dementia? Many Don't Understand the Risks
Youth in Thailand Suffering from "Trigger Finger" from Smartphone Use
How Yoga Can Help Your to Change Your Brain for the Better
How Far Will Thailand's Cannabis Green Gold Rush Go
Statistics Show Suicide Rates Skyrocketing in Thailand
Tour De France Comes to Khao Lak in Phang Nga
Chiang Rai United Crowned Thai League Title One Champions
Chiang Rai United Vows to Fight till the Last Day
Super Welterweight Boxer Patrick Day Dies After Knockout
NBA Bows to China, Banning Press Conferences at NBA China Games
Xayaburi Dam Opens in Laos Sparking Protests in Thailand
Convicted Human Traffickers Flout 99% of Court Orders
Dam-Building Race Threatening the Lower Mekong River Basin
Record Low Mekong River Levels Raise Suspicions About China
World Bank to Help Fund Thailand's Marine Debris Management Plan
Thailand's Navy Purchases Israeli Made Counter-Drone System
How is the New Twitch Store Going to Impact Gaming?
Top Business Devices to Keep an Employees from Leaving
Is The Razer Blade Laptop Worth The Splurge?
7 Trends Digital Marketers in Thailand Must Know in 2020
Thailand's Government Slowly Moving to Stifle Free Speech
Will a No-Deal Brexit Threaten the Global Economy?
Racist Asian's Bashing Unleashed Over New Zealand's Housing Crisis
If You Can't Beat Trump "Impeach Him" Pelosi Announces Impeachment Inquiry
Cambodia's Lifeline Threatened By Drought from Dams in China
Prime Minister Prayuth Chan-ocha omitted a sentence about upholding the constitution in the oath ceremony on July 16th.


text:
One of the many classic desserts that's appropriate in almost every situation is the eternal Coca Cola Dark Chocolate Cake. Itis simple and extremely popular - actually, almost everyone has, once in his/her life, tasted a piece of it. Who'dnot want a taste of tasty, heavenly candy? Research has stated that eating chocolate is linked to the brain delivering pleased chemicals, therefore increasing the happy experience we get when consuming candy. Making a cake today is not limited to the wealthy and ingenious anymore - with the candy cakeis high flexibility, it only takes a minimum amount of time and elements with a dash of creativity.
Candy have been about for about 200 and fifty years, with Dr. James Bakeris discovery - running cocoa beans to create candy. But candy cakes weren't created commercial until the 1930s; up until then, all-chocolate recipes were for chocolate drinks only. Since then, there's been a vast array of options for different kinds of candy cakes, some of that are Demonis food cake, Black Forest, Chocolate Souffle, Garasch, Sachertorte and the traditional split chocolate cake. You can also opt to include infused chocolates and unique flavors into your mix, such as wine, fruits, almonds, actually red-pepper! Cake-producing with candy has become a profitable fresh business in itself.
You might think cooking cakes is just a factor reserved only for licensed and experienced patisseries, but with the following simple steps, you might find oneself experiencing a hearty candy cake treat with your household. The elements are simple, although obviously using high quality elements is necessary for greater cakes, it's not always the best choice regarding the money you might spend. The elements for the simple candy cake include: 1/2 cup home-raising flour; 1/2 cup fine glucose; 2 Tbsp chocolate; a pinch of sodium; 1/4 cup melted butter; 1/2 glass dairy; an egg and a little dash of vanilla. These elements you can easily find in almost every store, so collecting them won't be a problem. Looking for reasonably-priced but good quality elements is just a challenge to all or any beginning bakers.
Coca Cola Dark Chocolate Cake was published at April 15, 2015. Hundreds of our reader has already save this stock stock photo to their computer.
This stock photo Labelled as: Chocolate Cake, chocolate candy subject, in conjunction with chocolate fondant discussion, . You can also download the stock photo under Coca Cola Dark Chocolate Cake post for free. Help us by share this stock photo to your family.
Download Image
Share this lovely cake pictures to your friends, click below:


text:
Propositions 11 and 20 promised to change the political landscape of California by redrawing district lines based on non-partisan, objective criteria.
But the data used to draw some of those lines may have been flawed, according to Dr. Michael Ward of the California Citizens Redistricting Commission.
A key basis for building the redistricting maps were what Ward called "main themed wrap-ups" where map makers compiled data from the communities they visited and then "boiled it down" to a main theme.
"There's no question that part of the data that the commission was presented," said Ward, "was incorrect, was just flat wrong."
Despite the errors in the wrap-ups, Ward said the commissioners used the data to draw district lines.
"When I tried to follow up on it, it took weeks later after several versions of the maps had been built and completed," Ward said, " to determine in fact there was no input that supported those main themes."


text:
Vermont Expert Witnesses testifying in Litigation
Expert Witnesses in Vermont and within the technical & scientific fields that cover a wide range of disciplines are available for record review of documents, written reports, opinion, deposition and trial testimony. If you can think it, we probably have it. Please review the standard list and select the closest specialty. You can refine or expand your Vermont search at the bottom of this page including search words, location by region, selectable states, and individual states.
Medical expert witnesses in Vermont also review records and provide opinion and expert testimony in all types medical related issues including those caused by Medical Devices, Surgery, Negligence, Medical Credentialing, Paramedics, Pharmacology, Medical Standards or Standard of Care (SOC) issues. Some of the SOC issues include Anesthesia, Medical Billing, Cosmetic Surgery, Endocrinology, Gastroenterology, Genetics, Geriatrics, Hematology and Immunology.
Consolidated Consultants has referred Expert Witnesses in Vermont and other states to both Plaintiff and Defense attorneys for many years. Please review the wide variety of Vermont Expert Witnesses and use the request this expert option to contact us.
Technical, Scientific & Medical Expert Witnesses for Attorneys
Search results for:
No results found.
Search took 0.168 seconds


text:
Rob Groover, General Manager of Dutchman RV's Komfort and Infinity division, announced the rollout of the new Infinity 3750FL Front Lounge floorplan with many new design innovations.
"The traditional front lounge models offered by our competition have come up short when it comes to what the customer wants," says Groover. "Most front lounge floorplans feel very confined and claustrophobic. Rather than just copying what has already been done, we took it to the next level. Dutchmen has successfully engineered the new 3750FL , taking the front lounge concept to new heights – resulting in an airy and open living area that is 3 feet longer while offering much taller slide outs. All front lounge models offered by our competitors are woefully deficient in head room due to compromised ceiling height. Infinity's exclusive design offers an industry first 6' 8" upper deck ceiling height, creating an open spacious living area. Additionally, we have added expansive window scalping in the living area to let in more natural light.


text:
Nutrition Facts
Ingredients and Preparation
- In a large saucepan, bring the broth and water to a boil.
- Meanwhile, heat oil in a Dutch oven or large pot over medium-high heat. Add onion and garlic, and cook for 2-3 minutes, until onion is tender. Add carrots, celery, and potatoes, and cook for 3-4 minutes, until carrots are tender.
- Add hot broth and water to vegetable mixture and stir. Season with thyme, parsley, salt, and pepper. Bring to a boil, then reduce heat and simmer for 10-12 minutes. Stir in tomatoes and beans, cover, and simmer for 10 minutes.
- Let stand a few minutes before serving.
- Top with Parmesan cheese.


text:
Pilobolus Maximus – Beyond The Limits of Dance
For 45 years, Pilobolus has tested the limits of human physicality to explore the beauty and the power of connected bodies. We bring this tradition to audiences across the globe through collaborations with influencers, thinkers, and creators in the world. Pilobolus Maximus takes the most diverse and impactful elements of Pilobolus - some old, and some brand new -- and assembles them in a series of continually changing worlds. From the irreverence of a wild circus to the physical filigree of our most classical physical work, Maximus is not only the best of Pilobolus but the most revealing of how diverse and surprising Pilobolus's work can be.
Dance for Kids – Sat July 28, 4:00 PM
More info here
Pilobolus Maximus – Sat July 28, 2018 8:00 PM
Tickets here


text: After about 10 days with family in Haikou, Tong & I flew to Beijing, where we stayed for 7 nights. I really enjoyed Beijing. There was a huge contrast with Haikou - the former being very tropical and lush, and maybe a bit chaotic. By comparison Beijing was very clean and orderly. And I no longer felt quite the same level uniqueness - when we were in Haikou, it seemed almost impossible for the locals to walk past me without staring at me. Beijing has many more foreigners so I didn't hold quite the same novelty value. Truth be told that was an element of Haikou I rather enjoyed!Read More


text:
This was a really nice malbec. Will need to get the reserva next.
More posts
- 10out of 10
- Full and round bodied. Cherries and cognac...yum NCURA traveling workshop, Shula's, Houston
- Washington DC - Bobby Vans Date night with Donald Uppity black couple Unhappy fat couple
- Single Vineyard Malbec Terrazas
- First time at new Peruvian place in d-town. Pretty earthy, we both loved this.


text:
More than 90 % of users recommend this product
The average rating includes all reviews since the product launch.
What this product does for you
Productivity Improve customer service management
Frequently bought together
Add "Knowband - Mobile Order Lookup - Track Order Status" to your cart along with:
With the help of this module, admin can have this awesome functionality through which buyers can easily view and track their order.
Allows customers to select a delivery date and time from a calendar during checkout. Store owners can setup multiple calendars + time slots for the various shipping methods / carriers in your store + block weekdays, single dates and date ranges.
What your customers will like
Support and updates
You automatically get 3 months of support for this product.
For 90 days after your purchase, you can enjoy technical and feature support, as well as access to updates available for this product.
Make sure this product runs well on your store for 12 months with Option Zen!
With Option Zen, you get access to ALL updates for the product for one year following purchase. Support from the product developer is available by email to answer all your technical and feature-related questions.
What is Option Zen?
Option Zen includes two services:
Option Zen is available at a discount when purchasing this product, but, if you miss out, you can also buy it via your customer account later. It is valid up to one year following the date of purchase of your product. The earlier you buy it, the longer you can enjoy it!
What does it include?
The following are included in Option Zen:
The following services are not included in Option Zen:
Customer reviews
I would recommend all of their products, Good communication, Quick to fix any issues. Awesome support, Cheers.
Tracy D. - 08/11/2017
This is really a problem-solving module! Now our customers can easily find their order status and the tracking number from the top of our website. The support is extremely helpful when I want some small changes. Highly recommended!
Ruben m. - 12/19/2018
The reviews were selected by the developer of this product according to the satisfaction expressed by the customers.
What's New in Version 1.0.7(06/27/2019)
About the developer, Knowband
Our team of skilled and experienced developers has been working on Prestashop for more than 8 years. Velocity has been developing plugins under the brand name of Knowband for over 3 years and has more than 50 Plugins for Prestashop.
Need help?
Other items from the same developer
One Page Checkout, Social Login & Mailchimp
Mobile responsive One Page Checkout with Facebook/Google+, MailChimp and Ship2Pay feature. It can be used with any theme & any payment method. Compatibility with 30+ Payment & Shipping Methods.This One Page Checkout Module is GDPR compliant.
Knowband - Abandoned Cart Serial Reminders (Smart)
Prestashop Abandoned cart(Email Follow up) addon helps Prestashop owners to track the abandoned carts on the store and send automatic/manual email reminders(with or without a discount coupon) and a link for direct checkout from the email.


text:
Sonic the Hedgehog 4: Episode I is a sequel 16 years in the making. Pitched as the direct descendant of 1994's Sonic the Hedgehog 3, Sega's taking the series back to a simpler time. Does Sonic 4 deliver?
Sonic The Hedgehog 4 is a simple, straightforward 2D side-scrolling platformer, the kind Sega and Sonic Team used to make. In classic Sonic fashion, the hedgehog with attitude collects rings and battles the evil Dr. Eggman. Stages will be familiar to seasoned Sonic fans, but the game has a few twists in addition to its new coat of hi-def paint.
Ideal Player
Grown-ups whose parents bought them a Sega Genesis (Mega Drive) instead of a Super Nintendo. Anyone who favored a blue hedgehog over a plumber. Those who want a Sonic game without swords, guns or sports cars.
Why You Should Care
This is the Sonic the Hedgehog game fans have been begging for: no 3D gameplay, no new animal friends and no bizarre hedgehog-human romance. It's all blue skies from here! Or is it?
Is Sonic 4 truly a worthy sequel? Parts of Sonic 4 are homage to the earlier titles. Stages and even many boss battles have a familiar been-there, done-that vibe. For example, "Splash Hill Zone" is actually a HD rework of Sonic the Hedgehog's "Green Hill Zone". Likewise, the other zones are tweaked versions from Sonic to Sonic 3. Sonic 4 doesn't wipe the slate clean. Then again, it doesn't have to.
The difficulty curve for the final Dr. Eggman fight is rather steep.
So how is Sonic 4 different from previous classic Sonic games? Early Sonic games were primarily about speed. Sonic 4 adds to that with elements like puzzle solving. In the Lost Labyrinth Zone, for example, Sonic carries around a torch, illuminating rooms and igniting dynamite. It's not exactly "classic Sonic", but it does mix up the action. One gripe is that Sonic feels much more "floaty" at slower speeds than he did in the Genesis era. This can can make the game's slower platforming sequences tougher than they should be. However, once he gets running, this isn't an issue.
Do the new elements work? The puzzle solving is well done, but the most welcome addition is the homing spin attack. When enemies or springs are close enough, a red target appears. By pressing "jump", Sonic locks on and spin-attacks towards the target. This mechanic—seen in a few Sonic the Hedgehog games that play in three dimensions—opens up platforming, making it possible to spin attack a number of enemies to traverse an area. There isn't a hand-holding tutorial that introduces this mechanic, either. It's there be discovered naturally during play.
But what about the Sonic Cycle? This game certainly aims to please. Maybe too hard. At times, it seems like Sega (and developer Dimps) read every complaint and every forum post ragging on Sonic and delivered a title to negate that criticism. The game does have a design-by-committee, give-them-what-they-want feel to it. The goal is simple, but noble: provide a satisfying Sonic experience.
Sonic the Hedgehog 4 In Action
The Bottom Line
This isn't the brand new Sonic 4 sequel you have been waiting over 16 years for. The game feels like a remastered greatest hits collection. You've heard the tunes, you remember the words, and you find yourself singing along. It's a competent, current gen revisiting of Genesis-era Sonic. But dubbing this game "Sonic The Hedgehog 4" seems like a bill of false goods. When I played Sonic 2, I didn't want a rehashed version of Sonic 1. Ditto for Sonic 3. Sega stuck too closely to layout and design of those original three games and not close enough to the spirit of them. Sonic 4? More like Sonic 3.5 in HD.
Sonic the Hedgehog 4: Episode I was developed by Dimps and Sonic Team and published by SEGA for the Xbox 360, PlayStation 3, WiiWare and iOS. The HD home console version was released on October 13. Retails for 1200 MS Points or USD $14.99. A copy of the game was given to us by the publisher for reviewing purposes. Played through all zones and defeated Doctor Eggman.


text:
Secret Symbols
Secret Symbols
3D super easy STICk ONz are amazing. You can do any design you desire. So easy to apply, super quick. Just paint your nails with normal polish, gel polish, it doesn't matter. Any colour you like, and create your design. Have nails that get noticed, look like a PRO easily in minutes. Even if you cannot get stamping right, or stencils, anyone can use MITTY 3D STICk ONz. Look amazing, feel amazing.
With one sheet of 3D Stickers you can create dozens of looks. Tag us @mitty_burns so we can share your amazing designs, maybe even feature your design on our website and Insta.
Handy tip: If you want the design to last for like ages, simply apply a top coat.
Each 3D STICk Onz pack contains x1 sheet of 3D MITTY designer stickers that last.
All Mitty Goodies are 100% Cruelty FREE, & 100% Vegan
We pack and ship your order within 1 business day in Melbourne Australia using Australia Post. Australia Post is open from Mon-Fri excluding public holidays.
How long does shipping take?
Below are estimated delivery times for normal postage:
Australia: 5-7 days to all states and 10 days to WA
USA: 2-4 weeks
Canada: 3-6 weeks
United Kingdom: 2-5 weeks
Europe: 2-5 weeks
Rest of the world: 2-6 weeks
Other Options:
We send any order over $100AUD express. This means it will only take 6-11 business days to get to you all the way from Australia! How amazing is that!
You can also purchase express shipping for orders over $30 at checkout.
Alternatively we have stockist's around the world that have the same amazing Mitty products.This means even quicker delivery for you! Find your closest stockist HERE
You can purchase selected Mitty Goodies from the following business partners:
Located in South Australia. thenailshop.com.au has everything you could possibly desire for amazing nails. thenailshop now ranges the following Mitty goodies:
- Mitty Detail Brush Pack
- Mitty Rainbow of Brushes Pack
- Mitty Salon Series Kit - Black
- Mitty Salon Series Kit - Pink
- Mitty Salon Series Brushes
- Mitty Detail Brushes
- Mitty Flawless Finish Mani Tapes
Located in the US @lanternandwren now stock a selected range of Mitty:
- Mitty Salon Series Brushes 5mm, 9mm, & 11mm
- Mitty Stretchies, Blue, Gold, Red, Silver, & White
- Mitty Unicorn POO Mega Holo Powder
Located in Russia, we are super excited that the team at @lakodom.ru is ranging Mitty products.
You can now get these amazing products if you live in Russia and Ukraine, Belarus, Kazakhstan.
You can purchase below products:
- Flawless Finish by Mitty Mani Tapes
- Polish off Soakies
- Clean Up Brushes
- Colour Shifting Shattered Collection (Coming Soon)
- Mitty Chrome Powders (Coming Soon)
Super excited to partner with the amazing team at @nail-it-shop to make sure all our Mitty amazing lovers in Europe and Germany can get their loved Mitty goodies even quicker.
You can purchase below products:
We are so over the moon excited to have Girly Bits Cosmetics in Canada range Mitty. Such an amazing brand and amazing website. If you live in Canada or close by, its now super duper easy and much quicker to get your Mitty fix......whoooohoooooo
You can purchase the below products:
- Mitty Design Pro Fan-cy Brush
- Mitty Flawless Finish Mani Tapes
- Mitty Shattered Flake Powders
- Mitty Chrome Powders
- Mitty Magical Fairy Dust Holo Powder
The Pretty Lil Nails team in Hong Kong have joined the Mitty family. It's awesome for the Mitty family based in Hong Kong. You can now get your Mitty stuff so easy :)
You can purchase the below products:
Hola to the team at Divas Club based in Brazil. Divas Club is just starting out. So if you live close by to beautiful Brazil help an awesome website grow and prosper.
You can purchase the below products:
- Mitty Chrome Powders
- Mitty Shattered Flake Powders
- Mitty Magical Fairy Dust Holo Powder
The amazing team at Justnails range lots of awesome Mitty goodies. So if you live in Denmark and need you Mitty fix super quick, head over to justnails.dk
- Mitty Rainbow of Brushes Pack
- Mitty Flawless Finish
- Mitty Shimmer Powders
- Mitty Magical Fairy Dust Holo Powder
- Mitty Chrome Powders
- Mitty Clean Pro Flat Brush
- Mitty Clean Pro Angular Brush
- Mitty Design Pro Sculpt-Me Brush
- Mitty Detail Brushes
- Mitty Design Pro Fan-cy Brush
- Mitty Polish Off Soakies
If you live in the mighty USA, you can get your Mitty goodies from Color4Nails. Super service and super quick delivery. We are delighted to have Color4Nails as part of the Mitty family.
- Mitty Rainbow of Brushes Pack
- Mitty Clean Pro Angular Brush
- Mitty Clean Pro Flat Brush
- Mitty Detail Brushes
- Mitty Design Pro Fan-cy Brush
- Mitty Design Pro Sculpt-Me Brush
- Mitty Lots Of Dots Dotting Tool
bycindysocietal.com.au has partnered with Mitty and believes in the importance of being Cruelty FREE & Vegan with an amazing collection of Nail Polishes. If you are in Perth Western Australia it's a must check out. BYCS also ship Australia wide. You can find:
- Mitty Rainbow of Brushes Kits
- Mitty Detailed Cleaning Kit
- Mitty Detailed Brush Kit
- Mitty Detail Brushes
- Mitty Clean up Brushes
onlinesalonsupplies.com.au Now ranges Mitty brushes and Mitty brush kits. Located in beautiful sunny Queensland Australia. They have their very own training academy. If you need professional advice or training this is the place to go. You can find the following amazing Mitty brushes here:
- Mitty Detail Brushes
- Mitty Clean Up Brushes
- Mitty Salon Series Brushes
- Mitty Salon Series Kits
- Mitty Rainbow of Brushes Kits
- Mitty Detailed Clean Brush Kits
- Mitty Detail Brush Kits
Mitty Retail Stores in Australia:
- Maconii located in Chapel Street Prahran Victoria
Mitty Qualified Nail Tech Salons:
@koula_white Located in Craigieburn. Koula is a National award winning Nail artist, Nail Tech. The most talented tech ever. Koula can do anything with nails. So talented and knowledge beyond belief. You must book always booked out. Highly recommended by Mitty
- DM on Insta @koula_white
- Facebook: Nuts About Nails
@luxenails.byliv located close to Melbourne CBD, Liv's designs are out of this world amazing. Super talented, awesome atmosphere. If you live in Melbourne and want your nails done, professionally, that look unique you must see Liv. Highly recommended by Mitty.
- Email for bookings: firstname.lastname@example.com
@yougot_clawed Located in beautiful green Ferntree Gully Victoria. Maddie is crazy talented, super professional. If you want your nails to look amazing, it's a must you visit Maddie. Highly recommended by Mitty
- Contact via facebook: Nails by Mads
@dorsclaurianails Located near Springvale in Victoria. You must check out the creative designs. If you desire something different, a design that stands out. You must book an appointment. Highly Recommended by Mitty.
- Contact DM @dorsclaurianails
@missvanitynailsmelbourne, @staceydnails Located in Reservoir Victoria. This salon is amazing. Total beauty spot. Everything beauty, its the place to go. The most beautiful amazing salon ever. You have to go here. Highly Recommended by Mitty.
- Call (ph) 03 9478 5232 for appointments.
PS: Recommend you book in advance, appointment's are limited
@nailsandlashesbylina Located in Mooroolbark Victoria. Beautiful setting, nails done by the very knowledgeable and extremely talented Lina. You must book Lina is super super busy. When you do amazing nails you are always busy :). Highly recommended by Mitty.
- DM on Insta: @nailsandlashesbylina
- Facebook: at your fingertips
@luxebeautyroom Located in Mulgrave Victoria. Amazing talented Marina's list of clients continues to grow. You must book. Creative designs, professional service, and super funny and friendly. Highly recommended by Mitty
- DM on Insta: @luxebeautyroom
- Facebook: luxebeautyroom
@claw_queen Located in Eltham North. Madi's Salon is pure heaven, beautiful setting. Nail art designs out of this world. Latest trends and looks. Highly recommended by Mitty
- DM on Insta @claw_queen
- Facebook: ClawqueenMELB
@be.beautiful.with.becky Located in Lilydale Victoria. Beautiful Salon, Classy feel, with an amazingly talent Nail tech, Becky. You are guaranteed to leave with amazing looking nails. Highly recommended by Mitty.
- DM on Insta @be.beautiful.with.becky
- Facebook: be.beautiful.with.becky
If you would also like to stock Mitty products, please email: email@example.com
We are very serious about online security and have invested significant time and money to protect you. To do that, we use PCI DSS Compliance security. The Payment Card Industry Data Security Standard (PCI DSS) is an information security standard for organizations that handle credit card and debit card information. Defined by the Payment Card Industry Security Standards Council, the standard was created to increase controls around credit card data to reduce credit card fraud via its exposure. Mitty does not hold any card details, all card details would have to be re-entered each time you would like to buy goods from Mitty.
Once you have entered your card details, our payment system will securely send these details to the bank to be authorised. This is a completely secure process and we ensure that your details cannot be accessed by a third party.
Mitty uses Secure Socket Layer (SSL) technology. This means your data is encrypted and protected when you send information to Mitty over the Internet. You can tell a site uses and has SSL enabled when you see a padlock at the top of your browser. You will also notice at the location field at the top of the browser it will begin with 'https' instead of the normal 'http' This means you are in secure mode.
Method of Payment
We accept Paypal, Apple-pay, Google-pay, After-pay, Visa and MasterCard.
We pack and ship your order within 1 business day. We deliver to Australia Post. Australia Post is open from Mon-Fri excluding public holidays.How long does shipping take?
Below are estimated delivery times for:
Australia: 5-7 days to all states and 10 days to WA
USA: 2-4 weeks
Canada: 3-6 weeks
United Kingdom: 2-5 weeks
Europe: 2-5 weeks
Rest of the world: 2-6 weeks
Which other stores stock Mitty?
You can now purchase Mitty products from our amazing stockist's around the world. Find the closest stockist to you HERE.
Can I track my order?
To allow us offer free shipping, we use Australia Post without a tracking number.
Express shipping is provided for Free on orders over $100 and there are options to purchase express delivery with a tracking number . Please email us if you would like to know more about these options. We will get back to you within 1 business day.What if I haven't received my order?
Please email us at email@example.com and include your order number. We will follow up and get back to you within 1 business day.


text:
Nihil Obstat
Blog de/by José María Gómez Hidalgo
Mis reflexiones sobre tecnología e Internet, seguridad e inteligencia artificial
My opinions about technology, Internet, security and Artificial Intelligence
Carlos Laorden nominado para "Born To Be Discovery" por Negobot
WEKA Text Mining Trick: Copying Options from the Explorer to the Command Line
From previous posts (specially from Command Line Functions for Text Mining in WEKA), you may know that writing command-line calls to WEKA can be far from trivial, mostly because you may need to nest FilteredClassifier , MultiFilter , StringToWordVector , AttributeSelection and a classifier into a single command with plenty of options -- and nested strings with escaped characters.
For instance, consider the following need: I want to test the classifier J48 over the smsspam.small.arff file, which contains couples of {class,text} lines. However, I want to:
- Apply StringToWordVector with specific options: lowercased tokens, specific string delimiters, etc.
- Get only those words with Information Gain over zero, which implies using the filter AttributeSelection with InfoGainAttributeEval and Ranker with threhold 0.0.
- Make use of 10-fold cross validation, which implies using FilteredClassifier; and as long as I have two filters (StringToWordVector and AttributeSelection), I need to make use of MultiFilter as well.
With some experience, this is not too hard to be done by hand. However, it is much easier to configure your test at the WEKA Explorer, make a quick test with a very small subset of your dataset, then copy the configuration to a text file and editi it to fully fit your needs. For this specific example, I start with loading the dataset at the Preprocess tab, and then I configure the classifier by:
- Choosing FilteredClassifier, and J48 as the classifier.
- Choosing MultiFilter as the filter, then deleting the default AllFilter and adding StringToWordVector and AttributeSelection filters to it.
- Editing the StringToWordVector filter to specify lowercased tokens, do not operate per class, and my list of delimietrs.
- Editing the AttributeSelection filter to choose InfoGainAttributeEval as the evaluator, and Ranker with threshold 0.0 as the search method.
I show a picture in the middle of the process, just when editing the StringToWordVector filter:
Then you can specify spamclass as the class and run it to get something like:
=== Run information ===
Scheme: weka.classifiers.meta.FilteredClassifier -F "weka.filters.MultiFilter -F \"weka.filters.unsupervised.attribute.StringToWordVector -R first-last -W 100000 -prune-rate -1.0 -N 0 -L -stemmer weka.core.stemmers.NullStemmer -M 1 -O -tokenizer \\\"weka.core.tokenizers.WordTokenizer -delimiters \\\\\\\" \\\\\\\\r \\\\\\\\t.,;:\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\"()?!\\\\\\\\\\\\\\\%-/<>#@+*£&\\\\\\\"\\\"\" -F \"weka.filters.supervised.attribute.AttributeSelection -E \\\"weka.attributeSelection.InfoGainAttributeEval \\\" -S \\\"weka.attributeSelection.Ranker -T 0.0 -N -1\\\"\"" -W weka.classifiers.trees.J48 -- -C 0.25 -M 2
Relation: sms_test
Instances: 200
Attributes: 2 spamclass text
Test mode: 10-fold cross-validation
=== Confusion Matrix ===
a b <-- classified as
16 17 | a = spam
6 161 | b = ham
As you can see, the Scheme line gives us the exact command options we need to get that result! You can just copy and edit it (after saving the result buffer) to get what you want. Alternatively, you can right click on the command at the Explorer, like in the following picture:
In any case, you get the following messy thing:
weka.classifiers.meta.FilteredClassifier -F "weka.filters.MultiFilter -F \"weka.filters.unsupervised.attribute.StringToWordVector -R first-last -W 100000 -prune-rate -1.0 -N 0 -L -stemmer weka.core.stemmers.NullStemmer -M 1 -O -tokenizer \\\"weka.core.tokenizers.WordTokenizer -delimiters \\\\\\\" \\\\\\\\r \\\\\\\\t.,;:\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\"()?!\\\\\\\\\\\\\\\%-/<>#@+*£&\\\\\\\"\\\"\" -F \"weka.filters.supervised.attribute.AttributeSelection -E \\\"weka.attributeSelection.InfoGainAttributeEval \\\" -S \\\"weka.attributeSelection.Ranker -T 0.0 -N -1\\\"\"" -W weka.classifiers.trees.J48 -- -C 0.25 -M 2
Then you can strip the options you do not need. For instance, some default options in StringToWordVector are -R first-last, prune-rate -1.0, -N 0, the stemmer, etc. You can guess the default options by issuing the help command:
$>java weka.filters.unsupervised.attribute.StringToWordVector -h
Help requested.
Filter options:
Output word counts rather than boolean word presence.
-R <index1,index2-index4,...>
Specify list of string attributes to convert to words (as weka Range).
(default: select all string attributes)
So after cleaning the default options (in all filters and the classifier), adding the dataset file and the class index (-t spamsms.small.arff -c 1), and with some pretty printing for clarification, you can easily build the following command:
java weka.classifiers.meta.FilteredClassifier
-c 1
-t smsspam.small.arff
-F "weka.filters.MultiFilter
-F \"weka.filters.unsupervised.attribute.StringToWordVector
-tokenizer \\\"weka.core.tokenizers.WordTokenizer
-delimiters \\\\\\\" \\\\\\\\r \\\\\\\\t.,;:\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\"()?!\\\\\\\\\\\\\\\%-/<>#@+*£&\\\\\\\"\\\"\"
-F \"weka.filters.supervised.attribute.AttributeSelection
-E \\\"weka.attributeSelection.InfoGainAttributeEval \\\"
-S \\\"weka.attributeSelection.Ranker -T 0.0 \\\"\""
-W weka.classifiers.trees.J48
So now you can change other parameters if you want, in order to test other text representations, classifiers, etc., without dealing with escaping the options, delimiters, etc.
CFP: Sixth International Conference on Social Informatics
The Sixth International Conference on Social Informatics (SocInfo 2014) will be taking place at Barcelona, Spain, from November 10th to November 13th. The ultimate goal of Social Informatics is to create better understanding of socially-centric platforms not just as a technology, but also as a set of social phenomena. To that end, the organizers are inviting interdisciplinary papers, on applying information technology in the study of social phenomena, on applying social concepts in the design of information systems, on applying methods from the social sciences in the study of social computing and information systems, on applying computational algorithms to facilitate the study of social systems and human social dynamics, and on designing information and communication technologies that consider social context.
Important dates
Full paper submission: August 8, 2014 (23:59 Hawaii Standard Time)
Notification of acceptance: October 3, 2014
Submission of final version: October 10, 2014
Conference dates: November 10-13, 2014
New theories, methods and objectives in computational social science
Computational models of social phenomena and social simulation
Social behavior modeling
Social communities: discovery, evolution, analysis, and applications
Dynamics of social collaborative systems
Social network analysis and mining
Mining social big data
Social Influence and social contagion
Web mining and its social interpretations
Quantifying offline phenomena through online data
Rich representations of social ties
Security, privacy, trust, reputation, and incentive issues
Opinion mining and social media analytics
Credibility of online content
Algorithms and protocols inspired by human societies
Mechanisms for providing fairness in information systems
Social choice mechanisms in the e-society
Social applications of the semantic Web
Social system design and architectures
Virtual communities (e.g., open-source, multiplayer gaming, etc.)
Impact of technology on socio-economic, security, defense aspects
Real-time analysis or visualization of social phenomena and social graphs
Socio-economic systems and applications
Collective intelligence and social cognition
My friend Paolo Boldi is in the organizing committee.
Data Mining for Political Elections, and Isaac Asimov
Using Data Mining, Data Science and Big Data is cool in political elections, and in political decision-making. Well, not sure if cool, but it is a trending topic in Data Science in the latest years.
Here are some examples:
From the research point of view, you can check for instance how Twitter information is used in political campaigns in this Twitter and the Real World CIKM'13 Tutorial by Ingmar Weber and by Yelena Mejova. There is an interesting list of references on several ways of using Twitter to predict user political orientation, general public trends, and other. On the opposite side, you can find an interesting paper which provides sound criticism on some of the research performed on Twitter and politics: "I Wanted to Predict Elections with Twitter and all I got was this Lousy Paper": A Balanced Survey on Election Prediction using Twitter Data, by Daniel Gayo-Avello.
Anyway, it should be clear from multiple points of view that governments (e.g. the NSA PRISM case) and politicians are collecting and using citizen data in order to predict their tastes and to guide their decisions and actions in political campaigns.
I will avoid the privacy discussion here, as I want the case for something different. My case is: Hey, if they can predict elections results, then why voting?
But my blog is not a political one; it should be a technical one - or at least, a technically-focused blogger one. And as many computer geeks, I am a scifi fan. And as one of the biggest authors is Isaac Asimov, I have read a lot by him.
What has to do Asimov with data mining in politics? Well, he predicted it .
More precisely, he predicted how elections may evolve in the Era of Big Data . And he answered my question. You will not vote .
Asimov used to publish short stories in scifi magazines (as many others, I know). In August 1955, he published a short story titled " Franchise " in the magazine "If: Worlds of Science Fiction". I read that story many years later, re-printed in one of his short stores collection books. I was young, and I liked the story, but not too much - there were others more appealing to my taste in the volume. However, I have revisited it recently, and under the light of my technical background, things have changed.
That is real scifi. He technically predicted the future. And it is happening.
The plot is simple; just let me quote the Wikipedia article:
In the future, the United States has converted to an "electronic democracy" where the computer Multivac selects a single person to answer a number of questions. Multivac will then use the answers and other data to determine what the results of an election would be, avoiding the need for an actual election to be held.
As the Big Data platform (the computer Multivac in the story) gets to know more and more about the citizens, it will need less and less to accurately predict election results. The problem is reduced to just making a list of (quite Sentiment Analysis related) questions to a single citizen selected as being representative for answering those questions, in order to refine some details, and that's it.
Do not blame him, nor me. It is just happening.
As always, thanks for reading, and please feel free to leave a comment if you think I can improve this article, or you have questions or suggestions for further articles on these topics!
Update 1: Yet another example: Twitter hashtags predict rising tension in Egypt.
More Clever Tokenization of Spanish Text in Social Networks
Text written by users in Social Networks is noisy: emoticons, chat codes, typos, grammar mistakes, and moreover, explicit noise created by users as a style, trend or fashion. Consider the next utterance, taken from a post in the social network Tuenti:
"felicidadees!! k t lo pases muy bien!! =)Feeeliiciidaaadeeess !! (:Felicidadesss!!pasatelo genialll :DFeliicCiidaDesS! :D Q tte Lo0 paseS bN! ;) (heart)"
This is a real text. Its approximate translation to English would be something like:
"happybirthdaay!! njy it lot!! =)Haaapyyybirthdaaayyy !! (:Happybirthdayyy!!have a great timeee :DHappyyBiirtHdayY :D Enjy! ;) (heart)"
The latest word between parenthesis is a Tuenti code that is shown as a heart.
If you want to find more text like this out there, just point your browser to Fotolog.
As you can imagine, just tokenizing this kind of text for further analysis is quite a headache. During our experiments for the project WENDY (link in Spanish), we have designed a relatively simple tokenization algorithm in order to deal with this kind of text for age prediction. Although the method is designed for the Spanish language, it is quite language-independent and it may well be applied to other languages - not yet tested. The algorithm is the following one:
- Separate the initial string into candidate tokens using white spaces.
- A candidate token can be:
- A proper sequence of alphabetic characters (a potential word), or proper sequence of punctuation symbols (a potential emoticon). In this case, the candidate token is considered already a token.
- A mixed sequences of alphabetic characters and punctuation symbols. In this case, the character sequence is divided into sequences of alphabetic characters and sequences of punctuation symbols. For instance, "Hola:-)ketal" is further divided into "Hola", ":-)", and "ketal".
For instance, consider the next (real) text utterance:
"Felicidades LauraHey, felicidades! ^^felicidiadeees;DFelicidades!Un beso! FELIZIDADESS LAURIIIIIIIIIIIIII (LL)felicidadeeeeeees! :D jajaja mira mi tablonme meo jajajajajjajate quiero(:,"
The output of our algorithm is the list of tokens in the next table:
We have evaluate this algorithm directly and indirectly. Direct evaluation consists of comparing how many hits we get with an space-only tokenizer and with out tokenizer, in a Spanish and in a SMS-language dictionary. The more hits you get, the best recognized are words. We find about 9.5 more words in average in the Spanish dictionary with our tokenizer, and an average of 1.13 words more in the SMS-language dictionary, per text utterance (comment).
The indirect evaluation is performed by pipelining the algorithm in the full process of the WENDY age recognition system. The new tokenizer increases the accuracy of the age recognition system from 0.768 to 0.770, which may seem marginal except for the fact that it accounts for 206 new hits in our text collection of Tuenti comments. The new tokenizer provides relatively important increments in recall and precision for the most under-represented but most critical class, that is that of under 14 users.
This is the reference of the paper which details the tokenizer, the experiments, and the context of the WENDY project, in Spanish:
José María Gómez Hidalgo, Andrés Alfonso Caurcel Díaz, Yovan Iñiguez del Rio. Un método de análisis de lenguaje tipo SMS para el castellano. Linguamatica, Vol. 5, No. 1, pp. 31-39, July 2013.
If you are interested in the first steps of text analysis (tokenization, text normalization, POS Tagging), then these two recent news may be useful for you:
- The results of the Tweet Normalization Workshop/Task at SEPLN 2013 have been just published, interesting data & dataset.
- Leon Derczynski et al. have released a GATE-based POS-Tagger for Twitter with very good levels of accuracy.
And you may want to take a look at my previous post on text normalization.
As always, thanks for reading, and please feel free to leave a comment if you think I can improve this article, or you have questions or suggestions for further articles on these topics!
Negobot is in the news!
... And I must say, it is quite popular out there.
Negobot is a conversational agent posing as a 14 year old girl, intended to detecting paedophilic intentions and adapting to them. Negobot is based on Game Theory, and it is the result of a R&D project performed by the Deustotech Laboratory for Smartness, Semantics and Security (S3Lab) and Optenet. The members of the team are:
And myself. Its scientific approach is explained in the following paper:
Laorden, C., Galán-García. P., Santos, I., Sanz, B., Gómez Hidalgo, J.M., García Bringas, P., 2012. Negobot: A Conversational Agent Based on Game Theory for the Detection of Paedophile Behaviour . International Joint Conference CISIS12-ICEUTEA12-SOCOA 12 Special Sessions, Advances in Intelligent Systems and Computing, Vol. 189, Springer Berlin Heidelberg, pp. 261-270. (preprint)
My friend and colleague Carlos Laorden was interviewed by the SINC Agency about the project some days ago, and the agency released a news story that quickly jumped on a wide range of online and offline agencies, newspapers, radio stations, news aggregators, blogs, etc. Here is the original news story in Spanish:
Una 'Lolita' virtual a la caza de pederastas
SINC | 10 julio 2013 10:40
The news story featured a video with the interview to Carlos.
And in English, published by SINC at Alpha Galileo:
A virtual 'Lolita' on the hunt for paedophiles
10 de julio de 2013 Plataforma SINC
From there, to major English-language media:
Major international blogs and news aggregators have also featured Negobot:
- Engadget: Negobot: a virtual chat agent engineered to trap pedophiles
- Ubergizmo: Negobot Chatbot To Trap Pedophiles
- IO9: Sophisticated chatbot poses as teenage girl to lure pedophiles
- GigaOm: Catching pedophiles with text mining and game theory
- Gizmag: Chatbot hunts for pedophiles
- BetaBeat: Virtual Teen Can Lure Sexual Predators With the Blink of an Emoticon
- Slashdot: Spanish Chatbot Hunts For Pedophiles
As of today, Negobot has got:
Negobot has obtained a world-wide coverage in the news:
Carlos Laorden has been also interviewed for Spanish newspapers and in radio stations:
- Interview in El Mundo (Spanish, PDF).
- Interview in La Noche de La Cope (Spanish, MP3).
- Interview in La Mañana de La Cope (Spanish, MP3).
And last but not least, Negobot has got some criticism in the form of a (quite funny) video.
You can keep on tracking with Google Search in Web Pages and in the news.
Finally, sorry for the SSF, and thanks for reading.
Performance Analysis of N-Gram Tokenizer in WEKA
The goal of this post is to analyze the WEKA class
NGramTokenizer in terms of performance, as it depends on the complexity of the regular expression used during the tokenization step. There is a potential trade-off between more simple regex (which lead to more tokens) and more complex regexes (which take more time to be evaluated). This post intends to provide experimental insights on this trade-off, in order to save your time when using this extremely useful class with the WEKA indexer
The WEKA
weka.core.tokenizers.NGramTokenizer class is responsible for tokenizing a text into pieces, which depending on the configuration of its size, they can be token unigrams, bigrams and so on. This class relies on the method
String[] split(String regex) for splitting a text string into tokens, which are further combined into ngrams.
This method, in turn, depends on the complexity of the regular expression used to split the text. For instance, let us examine this simple example:
public class TextSplitTest {
public static void main(String[] args) {
String delimiters = "\\W";
String s = "This is a text &$% string";
String[] tokens = s.split(delimiters);
for (int i = 0; i < tokens.length; ++i)
In this call to the
split() method, we are using the regex "
\\W", which matches any non-alphanumeric character as a delimiter. The output of this class execution is:
$> java TextSplitTest
This is a text &$% string
This is due that every individual non-alphanumeric character is a match, and we have five delimiters between "
text" and "
string". In consequence, we find four empty (but not null) strings among these five matches. If we use the regex "
\\W+" as the delimiters string, which matches sequences of one or more non-alphanumeric characters, we get the following output:
$> java TextSplitTest
This is a text &$% string
Which is closer to what we expected at the beginning.
When tokenizing a text, it seems wise to avoid computing empty strings as potential tokens, because we have to invest some time to discard them -- and we can have thousands of instances!. On the other side, it is clear that a more complex regular expression leads to more computation time. So there is a trade-off between using a one-character delimiter versus using a more sophisticated regex to avoid empty strings. To which extent does this trade-off impacts on the
NGramTokenizer classes?
Experiment Setup
I run these experiments on my laptop, with: CPU - Intel Core2 Duo, P8700 @ 2.53GHz; RAM: 2.90GB (1.59 GHz). For some of the tests, specially those involving a big number of ngrams, I need to make use of the
-Xmx option in order to increase the heap space.
I am using the class
IndexText.java available at my GITHub repository. I have commented all the output to retain only the computation time for the method
index(), which creates the tokenizer and the filter objects and performs the filtering process. This process actually indexes the documents, that is, it transforms the text strings in each instance into a dictionary-based representation -- each instance is an sparse list of pairs (token_number,weight) where the weight is binary-numeric. I have also modified the class to set lowercasing to false, in order to accumulate as many tokens as possible.
I have perfomed experiments using the two next collections:
- The SMS Spam Collection, which is a dataset of 5,568 short messages classified as spam/ham (not spam).
- The classical Reuters-21578 text collection (ModApte split), which is a dataset of 21,578 relatively short news stories, classified according a number of economic classes (acquisitions, earning reports, products like rubber, tin or sugar, etc.). I have downloaded it from the NLTK data directory.
I am comparing using the strings "
\\W" and "
\\W+" as delimiters in the
NGramTokenizer instance of the
index() method, for unigrams, uni-to-bigrams, and uni-to-trigrams. In the case of the SMS Spam Collection, I have divided the dataset into pieces of 20%, 40%, 60%, 80% and 100% in order to evaluate the effect of the collection size.
Finally, I have run the program 10 times per experiment, in order to average and get more stable results. All numbers are expressed in milliseconds.
Results and Analysis
We will examine the results on the SMS Spam Collection. The results obtained for unigrams are the next ones:
It is a bar diagram which shows the time in milliseconds for each collection size (20%, 40%, etc.). The results for the bigrams are:
And the results for trigrams on the SMS Spam Collection are the next ones:
So the times for unigrams, uni-to-bigrams and uni-to-trigrams are exponetially higher (as it can be expected). While on unigrams, using the simple regex "
\\W" is more efficient, the more sophisticated regex "
\\W+" is more efficient for bigrams and trigrams. There is one anomaly point (at 60% on trigrams), but I believe it is an outlier. So it seems that the cost of using a more sophiticated regex does not pay for unigrams, in which the cost of matching this regex is higher than discarding empty strings. However it is the opposite in the case of uni-to-bigrams and uni-to-trigrams, where the empty strings seem to hurt the algorithm for building the bi- and trigrams.
The results on the Reuters-21578 collection are the next ones:
These results are fully aligned with the results obtained on the SMS Spam Collection, with the advantage of increasing the difference in the case of uni-to-trigrams, as the number of different tokens on the Reuters-21578 test collection is much bigger (as there are more texts, and they are longer).
But all in all, the biggest increment in performance we get are 4.59% in the SMS Spam Collection (uni-to-trigrams, 40% sub-collection) and 4.15% on the Reuters-21578 collection, which I consider marginal. So all in all, there is not a big difference between using these two regexes after all.
In the potential trade-off between using simple regular expressions to recognize text tokens, and using a more sophisticated regular expression in the WEKA indexer classes for avoiding spurius tokens, my simple experiment shows that both approaches are more or less equivalent in terms of performance.
However, when using only unigrams, it is better to use simple regular expressions because the time to match tokens in a more sophisticated regex does not pay.
On the other side, the algorithm for building bi- and trigrams seems to be sensitive to the empty strings generated by a simple regex, and you can get around a 4% increase of performance when using more sophisticated regular expressions and avoiding those empty strings.
As always, thanks for reading, and please feel free to leave a comment if you think I can improve this article, or you have questions or suggestions for further articles on these topics!


text:
The Falkland Islands, AKA The Malvinas issue takes another turn
(VIDEO: `CrossTalk: Falklands-Malvinas'/RT)
The Malvinas AKA as The Falklands issue has taken another turn, which could heighten diplomatic tension regarding sovereignty between Argentina and Britain after one of the drilling platforms hired by a Malvinas company was found exploring in Argentine waters on Thursday.
The LeivEiriksson platform bears the Bahamas flag and was contracted by Borders & Southern Plc and Falkland Oil and Gas Ltd and can be added to the same list as the Ocean Guardian, the oil rig hired by Rockhopper Exploration Plc which has been exploring to the north of the islands since 2010.
The LeivEiriksson, which is 120 metres long and 86 metres high, moves with the support of two ships: the Toisa Intrepid and the multipurpose ToisaSonat.
At the end of last month, the LeivEiriksson was located very close to 200 miles from the Argentine continental shelf, which caused alarm among local authorities.
However, in recent days both the LeivEiriksson and its accompanying vessels have violated the borders of what Argentina denominates the nation's Economic Exclusion Zone.
Its mission, according to the oil company, is to drill two deep wells to the south and southeast of the archipelago, at the edge of Argentina's national territory.
According to what Ambito.com could learn, the platform advanced between 8-10 nautical miles beyond the pre-determined limits, to 190 miles off the Argentine coast.
The oil rig and companion ships spent over 90 hours in that location exploring or carrying out exploratory tasks, which led to speculation that the company is considering a third well, located within Argentine territorial waters. Irrefutable satellite images show that on Wednesday the platform was located at the coordinates -53°59'54'7 south -58°76'51'1 west. However, by midday yesterday it had retreated and briefly sailed toward the Islands before dropping anchor at 53°35'44'63 south and 58°45'55'13 west. According to sources with access to the Mompesat satellite monitoring system, the positioning of the platform was brought to the attention of the authorities.
"In recent months we detected that they were on the point of violating our economic exclusion zone and for this reason we have been constantly monitoring," said the source.
Meanwhile, sources linked to the Foreign Ministry confirmed that this is not the first time that an oil rig violates the zone limits, although it is the first time that this has happened since the diplomatic conflict bubbled to the surface in January. According to those sources, the Ocean Guardian, exploring to the north of the archipelago since 2010 is also positioned within Argentina's continental shelf.
The same sources also stressed that Argentina has often protested to the United Kingdom and that organizations like the UNASUR, CELAC and the UN Convention on Rights to the Sea (CONVEMAR) have often been notified of these infractions.
"This exploration is illegal. The coastal state which should be providing exploration licences for this area is Argentina and not the United Kingdom," revealed a source. Argentina also sent notes of discouragement to the companies involved — both the oil companies as well as the accompanying ships and support vessels.
The real conflict between Great Britain and Argentina is that they do not agree on the limitations of the continental shelf. For the Argentine state, according to the presentation by COPLA (National Committee for the Limit of the Continental Shelf) to the United Nations, "the continental shelf of a bordering state includes the sea bed and sub-marine layers which extend beyond its territorial sea and across the length of the natural extension of its territory to the outer border of the continental margin, or to a distance of 200 miles counted from the base lines from which the borders of the territorial sea are measured, when the outer border of the continental margin does not reach the same distance."
However, this position conflicts with the United Kingdom, who, taking the "bordering state" to be the Malvinas Islands, consider a large part of the waters around the islands to be their exclusion zone.
-- Originally appeared in the Buenoes Aires Herald
The Malvinas AKA The Falkland Islands inhabitants face food shortage
Egg shortage came as the first sign of difficulties faced by the inhabitants of the Falklands AKA the Malvinas islands after South American countries unanimously decided to help Argentina move ahead with its peaceful efforts to resolve the issue of sovereignty over the archipelago as Britain compounds the situation by ruling out the possibility of negotiations.
On Saturday 11 February, the state-run BBC reported that the inhabitants of the islands are facing shortage of eggs and fresh vegetables, blaming the South American countries for the shortage and saying that they are "working hard to cut the islands off."
Nevertheless, the state-funded BBC made no mention of the fact that the South American countries' support for Buenos Aires over the issue came after Britain "militarized" the South Atlantic by sending a nuclear-armed destroyer to the area.
In response to Britain's intimidating acts, Mercosur members, including Argentina, Brazil, and Uruguay, decided to turn vessels carrying the Falklands' flag away from their ports.
Furthermore, the Chilean government that had announced plans in early January to join the South American countries in denying entry to its ports to Falklands-flagged vessels expressed its solidarity with Mercosur members.
The Chilean government also operated the only air link between the islands and the South American countries. There is one flight a week from Punto Arenas in southern Chile to the islands.
However, in response to Britain "militarizing" the area, Argentina raised the possibility of closing the only air route to the islands which passes through Argentina's airspace.
In line with Argentina's peaceful efforts to resolve the issue through diplomacy and negotiations, Argentinean Foreign Minister Hector Timerman submitted an official complaint to the United Nations Security Council against Britain's militarizing the islands.
Nevertheless, Britain's UN envoy Mark Lyall Grant said the militarization issue was "rubbish" claims made by Buenos Aires while he refused to make any comments on whether Britain has sent a nuclear-armed destroyer to the South Atlantic.
Grant also insisted that Britain would not take part in any negotiations over the sovereignty of the islands as it would only take the interests of the inhabitants into consideration.
However, Britain's determination to dodge negotiations, despite UN secretary general Ban Ki-moon's call for negotiation, and the shortage faced by the islands' inhabitants, shows that the country is not concerned about the inhabitants' wellbeing as it claims to be.
-- Originally published on PressTV


text:
(919) 382-8700
Many people who think about cruising in Europe automatically think of the Mediterranean. That's understandable, given the wonderful ports that line the Mediterranean Sea, from the Greek Isles in the east to Barcelona, Spain, in the west. However, much of Europe lies beyond (specifically, to the north) of the Mediterranean. The British Isles, the North and Baltic Seas, and the coast of Norway all present appealing alternatives to a Mediterranean cruise. Cunard Line offers a uniquely British experience on its 10-night "Around the British Isles" cruise. Embarking from Southampton, England, the ship calls on South Queensferry (Edinburgh), Invergordon and Kirkwall, Scotland; Liverpool, England; Dublin, Ireland; and Saint Peter Port on the English Channel island of Guernsey before returning to Southampton. To explore the great capitals on the Baltic Sea, consider Holland America Line's 14-day "Jewels of the Baltic" cruise. After departing from Dover, England, the ship stops in Copenhagen, Denmark, and Warnemunde, a Baltic Sea resort and port for Berlin, Germany. From there, the ship sails to Tallin, Estonia; St. Petersburg, Russia; Helsinki, Finland; Stockholm Sweden; and the Swedish island of Gotland before returning to Dover. To take you to the far northern reaches of Europe – perhaps even above the Arctic Circle – Holland America Line offers a variety of cruises that take in the gorgeous coast of Norway. A seven-night cruise from Amsterdam, The Netherlands, includes stops in Bergen, Flam and Stavanger, Norway, with scenic cruising through no less than three stunning fjords. Some of Holland America Line's longer itineraries combine coastal Norway and the Baltic Sea, Iceland and the Faroe Islands in one cruise. Another alternative to the Mediterranean is a cruise to the Canary Islands, located off the northwest coast of Africa. The islands are part of Spain and are one of the outermost regions of the European Union. Royal Caribbean offers an 11-night "Canaries Cruise" roundtrip from Southampton, England, which calls on Vigo, Spain, and Lisbon, Portugal, before visiting the largest of the Canary Islands, Tenerife. On the return trip, the ship calls on the Portuguese island of Madeira and La Coruna, Spain. Tenerife is also a stop on some of Royal Caribbean's transatlantic repositioning cruises, which move ships between the Caribbean or South American and Europe in the spring and fall. To find an itinerary that will have you discovering Europe beyond the Mediterranean, talk with your Cruise Holidays personal cruise expert.


text:
Below is the 2019 Kellogg's Nutri-Grain IRONMAN New Zealand Athlete List.
(Correct as at: 11/02/2019)
If your TriClub affiliation is listed incorrectly, please create your IRONMAN Athlete Profile and update your TriClub membership. (This is the ONLY way to ensure your TriClub Ranking points are correctly credited to your club.)


text:
The weather was chilly and it rained but I wore my long-johns underneath my jeans so I was set for the four hours at the Hubbards Farmers Market :) It was busy market this morning, people were dancing to the folk music and enjoying coffee! I am looking forward to when the weather starts warming up thats for sure.
Ocean joined me this morning and took this picture of me at my table. I am up early 5 am, baking muffins, making wraps and cinnamon buns so excuse the morning face :P This is the first week that I had an official banner sign!
This is an early morning photo of the inside of the barn, before it gets busy. Come down and check it out, its on every Saturday at 8-noon.
Hope everyone is having a great weekend!


text: Chicago Illinois This compact urban high school prototype, intended to fit on a single Chicago city block measuring 266' x 600,' is organized into three thematic components: body, mind and spirit, that relate to the various programs and activities within the school that comprise the curriculum: classrooms (mind), athletics (body) and library/arts (spirit). The kit of parts strategy can be adapted to specific sites. Inside, the space planning stresses adaptability and flexibility that we had previously explored in other projects, with main public spaces serving multiple functions. The gymnasium, with deployable seating for sporting events, converts to an auditorium via separate deployable theater seating. An adjacent multi-purpose space can be adapted to changing needs (music recitals, art exhibitions, dance studios and lectures). The architect proposed space sharing with the community when school is out of session to promote community engagement and maximize public investment; thus, the library can be entered directly through the reading garden; likewise, the pool and gymnasium can be entered directly from the adjacent park.


text:
The real difference involving slots and several other game titles in the casino is the fact one privileged whirl from the reels can transform your lifestyle. Slot machine games prize jackpots that can be many, thousands and thousands, and even huge amounts of money. The slots using the most significant jackpots are almost always the Intensifying Slot Machine Games. major millions slotmachine
- Internet casinos offer progressive port online games. Among the more preferred may be.
- major millions slot.
- Should you be taking part in.
- One phrase of information on playing progressive slot machines. On.
Inside a modern port game, a compact part of the money used on every spin is put into a jackpot account. So, every time someone requires a " spin " in the unit, the jackpot expands. And it is growing until finally a person reaches the big acquire.
Expands And it is
To make the jackpot grow even speedier, models of the identical type (for example, the popular Wheel of Fortune port) are linked jointly, adding to a similar jackpot swimming pool area. So, athletes taking part in some of the Tire of Fortune games inside the gambling establishment are all leading to the same jackpot. If many participants are taking part in, the jackpot can develop really easily. major millions jackpot
Online casinos also offer progressive slot video games. Among the most well-liked may be the Major Millions on-line port. Any rewrite in the rims about the Major Hundreds of thousands video game, at any casino on-line, improves the jackpot. So, gamers do not even need to be enjoying on the very same gambling establishment for your jackpot to cultivate.
On-line improves the jackpot So gamers
1 phrase of tips on playing accelerating slot machines. On almost all the accelerating slots, athletes are only awarded the jackpot when actively playing max coins. So, in the event the device requires five coins to try out, enjoy all 5 various coins each rewrite. There is no perception enjoying a few coins and having those jackpot symbols align. You might overlook becoming a big victor. major millions casino
Jackpot when
Should you be actively playing a modern port as well as your bankroll is way too simple to play max coins, transfer straight down a coin dimension. As opposed to enjoying the $ intensifying game titles, have fun playing the quarter intensifying video games. So long as you can enjoy maximum coins, you are able to property the jackpot on that game.
A coin
Progressive slots are available in all different variations. Some have three reels plus a single payline all over the middle. Some have five reels, and a lot of various paylines. Some have additional features like reward display screens and scatter symbols. If you find a certain design of port game that you most enjoy, chances are excellent that you could get a accelerating jackpot port in that design. In fact, when you're waiting around for that jackpot hitting, you may too have as exciting as you can. major millions jackpot
- Internet casinos provide accelerating slot game titles. One of the most preferred is definitely the Significant Thousands on-line slot..
- major millions slot.
- major millions slotmachine.


text:
University Park Apartments is a gem in the heart of North Berkeley's Gourmet Ghetto. Recently receiving nearly a million dollar face-lift, it maintains its charm while offering tenants the qualities of a modern building. Many of our tenants here are Graduate students at UC Berkeley in fields such as Engineering, Business, and Law. This is NOT a party building—our tenants are professional-minded and quiet. There is a strong group of employed individuals here as well, and University Park Apartments supports a vast array of age groups. Many of our students are International—from all over the world—Japan, Taiwan, Indonesia, China, South America, Thailand, India, and more. There is a great diversity of people here.
Management is very service oriented and we strive to take care of your needs. This is a small family business and we take pride in the quality of our building. Explore our website to learn more about our North Berkeley apartments.


text:
New genome editing tool offers strategy to manage insect-borne disease
A cross-disciplinary team is calling for public discussion about a potential new way to solve longstanding global ecological problems by using an emerging technology called "gene drives." The advance could potentially lead to powerful new ways of combating malaria and other insect-borne diseases, controlling invasive species and promoting sustainable agriculture.
Representing Harvard Medical School, the Wyss Institute for Biologically Inspired Engineering at Harvard University, Harvard School of Public Health, the Massachusetts Institute of Technology (MIT), Boston University, the Wilson Center, and Arizona State University, the team includes scientists working in disciplines ranging from genome engineering to public health and ecology, as well as risk and policy analysis.
Engineered gene drives are genetic systems that circumvent traditional rules of sexual reproduction and greatly increase the odds that the drive will be passed on to offspring. This enables the spread of specified genetic alterations through targeted wild populations over many generations. They represent a potentially powerful tool to confront regional or global challenges, including control of invasive species and eradication of insect-borne diseases such as malaria and dengue.
The idea is not new, but the Harvard-based researchers have now outlined a technically feasible way to build gene drives that potentially could spread almost any genomic change through populations of sexually reproducing species.
"We all rely on healthy ecosystems and share a responsibility to keep them intact for future generations," said Kevin Esvelt, Wyss Institute Technology Development Fellow and lead author of two papers published this week. "Given the broad potential of gene drives to address ecological problems, we hope to initiate a transparent, inclusive and informed public discussion—well in advance of any testing—to collectively decide how we might use this technology for the betterment of humanity and the environment."
Following discussion of the technology's widespread implications at an NSF-sponsored workshop organized by the Woodrow Wilson Center and MIT in January 2014, the team wrote two related papers. The first, published in eLife, describes the proposed technical methods of building gene drives in different species, defines their theoretical capabilities and limitations, and outlines possible applications. The second, featured in Science, provides an initial assessment of potential environmental and security effects, an analysis of regulatory coverage and recommendations to ensure responsible development and testing prior to use. The authors also described key features of gene drives in a Scientific American blog post.
The new technical work in eLife builds upon research by Austin Burt of Imperial College London, who, more than a decade ago, first proposed using a type of gene drive based on cutting DNA to alter populations. The authors note that the versatile gene editing tool called CRISPR, which was recently co-developed by some of the same researchers at Harvard and the Wyss Institute and makes it possible to precisely insert, replace and regulate genes, now makes it feasible to create gene drives that work in many different species.
"Our proposal represents a potentially powerful ecosystem management tool for global sustainability, but one that carries with it new concerns, as with any emerging technology," said George Church, professor of genetics at Harvard Medical School, Wyss Core Faculty member, and coauthor on both publications.
Esvelt noted that the genomic changes made by gene drives should be reversible. The team has outlined in the eLife publication numerous precautionary measures intended to guide the safe and responsible development of gene drives, many of which were not possible with earlier technologies.
"If the public ever considers making use of a gene drive, we will need to develop appropriate safeguards. Ensuring that we have a working reversal drive on hand to quickly undo the proposed genomic change would be one such precaution," he said.
Because the drives can spread traits only over generations, they will be most effective in species that reproduce quickly or can be released in large numbers. For insects, it could take only a couple of years to see a desired change in the population at large, while slower-reproducing organisms would require much longer. Altering human populations is not feasible because it would require many centuries.
Gene drives could strike a powerful blow against malaria by altering mosquito populations so that they can no longer spread the disease, which kills 650,000 people every year and sickens hundreds of millions. They might also be used to rid local environments of invasive species or to pave the way toward more sustainable agriculture by reversing mutations that allow particular weed species, such as horseweed, to resist herbicides that are important for no-till farming.
The innovative nature of gene drives poses regulatory challenges. "Simply put, gene drives do not fit comfortably within existing U.S. regulations and international conventions," said political scientist Kenneth Oye, author of the Science paper and director of the MIT Program on Emerging Technologies. "For example, animal applications of gene drives would be regulated by the FDA as veterinary medicines. Potential implications of gene drives fall beyond the purview of the lists of bacteriological and viral agents that now define security regimes. We'll need both regulatory reform and public engagement before we can consider beneficial uses. That is why we are excited about getting the conversation on gene drives going early."
"Many different groups and the interested public will need to come together to ensure that gene drives are developed and used responsibly," said James P. Collins, an evolutionary ecologist at Arizona State University and senior author of the Science paper. Collins was formerly the assistant director for biological sciences at the National Science Foundation.
"Understanding how populations and ecosystems will respond to different alterations and addressing potential security concerns will require sustained multidisciplinary work by teams of biological engineers, ecologists, instrumentation specialists, social scientists and the public," Collins said. "The eLife and Science articles provide a model for the next steps that need to be taken."
Source: HMS