Items tagged with: Scheme
Going back over code from two weeks ago, showed me how useful Racket's path utilities are. With path utilities you can filter files without regular expressions and string manipulations. It seems to simplify the code, or make it easier to read. This faceted visualization ended up being a step away from means(averages) and deceptive scales (fn:1) and toward a Synoptic, over-all one-page, view, (fn:2)
Time with Racket, exploring the possibilities, starts to give you the confidence to do whatever you envision. You just need the time for exploratory learning. The learning feels accumulative, the language is simple and coherent enough, the documents are extensive and consistent enough, that re-discoveries of partially learned techniques are quick.
- Today's code:
- (fn:1) Starting Ideas:
- (fn:2) One-page Synoptic View:
Even #python code is #tmp. I will switch back to #scheme which is much better ecosystem, much more #ecology friendly and with less all around #FAANG crap .
Follow me if you can.
Batch Re-size image files with Racket
I've been hoping to cut out the "Image Canvas Resize" step from my photo edit-and-post flow. Now, this little Racket Script will save me a trip to the menu bar (or the memory burden of keyboard shortcuts) for every photo post from now on...
\#! /usr/bin/env racket \#lang racket (define dir (vector-ref (current-command-line-arguments) 0)) (define resize-to-n (if (< 1 (vector-length (current-command-line-arguments))) (vector-ref (current-command-line-arguments) 1) 1400)) \#; (define working-directory (build-path (find-system-path 'home-dir) "Racket" "BatchConvert" "pics" )) (define working-directory (build-path (current-directory-for-user) dir)) ;; Pictures from Shotwell's date-based directory, saved to "edited" ;; file from Gimp (define edited-dir-path (build-path working-directory "edited")) (define sized-dir-path (build-path working-directory "sized")) (make-directory* sized-dir-path) (define to-resize-files (filter (lambda (p) (path-has-extension? p #".jpg")) (directory-list edited-dir-path))) (define to-resize-paths (map (lambda (p) (path->complete-path p edited-dir-path)) to-resize-files)) (define sized-paths (map (lambda (p) (path->complete-path p sized-dir-path)) to-resize-paths)) (define identify (find-executable-path "identify")) ;; ImageMagick identify keys (define im-id-keys '("name" "type" "geometry" "offset" "bit" "color" "size" "u" "time")) ;; for associative list, reference the value from the key (define als-ref (lambda (key als) (if (assoc key als) (second (assoc key als)) #f))) (define im-resize-img (lambda (img-pth lmt) (let* ((identify (find-executable-path "identify")) ;ImageMagick utilities (idfy-alst (map list im-id-keys (string-split (with-output-to-string (lambda () (system* identify img-pth)))))) (fname (als-ref "name" idfy-alst)) (geom-strn (als-ref "geometry" idfy-alst)) (geom-numb-list (map string->number (string-split geom-strn "x"))) (width (car geom-numb-list)) (height (cadr geom-numb-list)) (convert (find-executable-path "convert")) (szd-pth (path->complete-path (file-name-from-path img-pth) sized-dir-path)) (lmt-str (number->string lmt))) (cond ; conditional statement ((and (< width lmt) (< height lmt))(copy-file img-pth szd-pth #t)) ((> width height) (system* convert "-geometry" (string-append lmt-str "x") img-pth szd-pth)) (#t (system* convert "-geometry" (string-append "x" lmt-str) img-pth szd-pth)) )))) (for-each (lambda (pth) (im-resize-img pth resize-to-n)) to-resize-paths)
Batch Convert Images with Racket
Racket is helping me flow well with little jobs I used to do in more involved ways. Maye the DrRacket versions of the code will work on a Windows box with ImageMagick (and potrace?) installed....
If there is enough time to clean up the code, to tighten it up a bit, I might be happy with this script. If it prints out well, this view, and the page for the visualization might be useful for discussions about Questionnaire results. Instead of averages/means for responses that are numbered from one to five, ("ordered factors"? was the term used in the R/ggplot2 documentation) , comparisons of positive and negative responses among different bodies (individual, department, and university) . With this data, question number two about speaking or questioning in class is interesting the way the order of the most positive responses matches the order of the most negative responses. I imagine something like that would not be noticed while considering mean figures. I suspect the pattern seen for question number three about studying/preparing for class is more common. Where the fewer number of positive responses occur along with greater number of negative responses.
This has been a great exercise. It would nice to get data about something interesting like a forest, or a "swamp fly" (mentioned by Hadley Wickham in an interview). Rackets has a math/statistics module too, A Statistics For Biology course might provide an opportunity to hone skill with Racket's
plotwhile also exploring
scribblefor learning journals.
There won't be much more time for playing with Racket plot. But generating a page of Questionnaire results from frequency data let me learn a lot. Working with directories still leaves me puzzled a bit, but it was good to see how Racket's
defineprovides the options that Guile's
define*provides. The idea to stack lines to show summed positive and negative response levels prompted me to learn plots
hrule. Years ago It took me a long time to figure out how to draw a vertical line with gnuplot. Racket feels very consistent, not just the coding, but the documentation too. I don't have to search and go to stackoverflow was much with Racket: I ended up overwhelmed with stackoverflow sometimes while working with gnuplot and R/ggplot2...
A scheme to stealthily run video ads behind banner images drained users' batteries and data while they used popular Android apps.
Article word count: 2353
HN Discussion: https://news.ycombinator.com/item?id=19459604
Posted by occamschainsaw (karma: 552)
Post stats: Points: 117 - Comments: 71 - 2019-03-22T04:28:01Z
#HackerNews #ads #android #batteries #drained #fraud #hidden #running #scheme #users #video
Julien is an independent developer who built and maintains one of the most popular audio apps in the Google Play store. With millions of downloads and hundreds of thousands of positive reviews, he’s obsessive about responding to user complaints and concerns.
He often receives emails from users complaining that his app is draining their battery and using more data than expected. Usually, it’s because they set the app to download files when they’re not on Wi-Fi. But sometimes it’s due to ad fraudsters taking advantage of his app to run hidden, data-hungry video ads behind the legitimate banners he sells to earn his living.
Julienʼs app is one of several, including many using Twitterʼs MoPub ad platform, that saw its in-app ads hijacked in an ad fraud scheme uncovered by fraud detection firm Protected Media. The company’s findings, along with additional reporting and interviews by BuzzFeed News, and independent verification from an outside ad fraud lab, show that one of the players implicated in this scheme is Aniview, an Israeli company with offices in New York that runs a video ad technology platform.
Aniview denies any involvement and instead says the platform and banner ads and code, which were created by one of its subsidiaries, were exploited by a malicious, unnamed third party.
“BuzzFeed brought to our attention that there is an abuse activity, as an immediate action, we stopped this activity and started and continue an internal incident review,” said Aniview CEO Alon Carmel in an emailed statement. “We notified and emphasized our clients that the use of our platform must be according to our policy and the IAB and TAG guidelines.”
It’s just one of the many ways ad fraudsters siphon money out of the global digital advertising industry, which will see more than $20 billion stolen this year. This scheme in particular highlights once again how ad tech companies exploit insider access and technical knowledge to participate in ad fraud.
“I don’t even think about me being ripped off,” Julien told BuzzFeed News. “All I think about is them damaging the app’s reputation. It can cost money to [a user] and drain his battery. This is the thing that makes me really mad.” (BuzzFeed News agreed to withhold his full name and the name of his app due to concerns about people wrongly thinking it was knowingly part of the scheme.)
Here’s how the scheme works. Julien sells a banner ad, which appears in the app and is visible to his users. Then, hidden from view behind that banner, fraudsters conceal autoplaying video ads that no human being actually sees, but which register as having been served and viewed. In this scenario, Julien gets paid for the small banner ad in his app that users see, but the fraudsters earn many times that amount by stuffing far more lucrative video ads behind the banner. Ultimately, it’s the brands whose ads were shown in hidden video players that lose money to those running the scheme.
“Fraudsters are purchasing cheap in-app display inventory and are filling it with multiple video players behind innocuous fake branded display ads,” said Asaf Greiner, the CEO of Protected Media.
This type of ad fraud is known in the industry as in-banner video ads, and has been documented in the past. Greiner’s team identified a new version of it last fall and said in total they’ve seen tens of millions of dollarsʼ worth of fraudulent video ads running per month as a result.
The ad fraud lab run by DoubleVerify, a digital measurement company, identified the same in-banner video ad fraud scheme at the end of last year, according to Roy Rosenfeld, the company’s VP of product management.
He told BuzzFeed News the fraudsters “did a very good job at hiding and obfuscating what they were doing” and were “quite sophisticated in the thinking behind how they can monetize that [video]inventory.”
DoubleVerify saw at least 60 million ad calls being made for fraudulent video ads per month, though Rosenfeld noted that not all of those ad slots were filled.
Aniview and its subsidiary, OutStream Media, were identified by Protected Media as being part of the scheme after the fraud detection firm gathered and analyzed video evidence, code, and other information during an investigation.
Rosenfeld said DoubleVerify’s investigation identified that “the Aniview player was heavily driving” the fraudulent video ad activity. He said his team identified the same code and other materials as Protected Media had.
Carmel, of Aniview, told BuzzFeed News that his company “does not knowingly engage in any fraudulent activity” and said his team has been trying to stop this activity on their platform since they were first contact by Protected Media last month. He acknowledged that OutStream Media, the company identified by Protected Media, is a subsidiary of Aniview. But he said it had ceased operations last summer and that Aniview is in the process of legally shutting it down. He said the ad fraud documented by Protected Media and DoubleVerify was done by bad actors using the Aniview video ad platform, as well as images and code created by OutStream Media, in an unauthorized way.
“To be crystal clear, another customer on Aniview’s [self-serve] platform used this [video ad] player and is responsible for this activity and we took actions immediately to stop this activity,” he said.
“We are fighting against bad activities, pushing and focus on clean and legit activities and should not be blamed or framed for bad use of our platform."
Carmel could not say who this bad actor was or how they managed to gain access to content that was uploaded to an OutStream Media account on Aniview’s platform. He declined to identify the malicious actors, or to share any details about them. He also acknowledged removing the photos and names of people, including his cofounder, Tal Melenboim, from Aniview’s website after being contacted by BuzzFeed News.
Two of the removed employees had leadership roles with OutStream Media in addition to their work at Aniview. Carmel, who previously cofounded the popular Jewish dating site Jdate, said they left the company to pursue other interests at the end of last year, and he neglected to remove them from the Aniview team page.
Carmel was provided with a copy of the malicious code used to place the banner ads and hidden video players. In addition to using the Aniview platform and banner ads from OutStream Media’s account on it, this code included the URL shoval.tv as a tracking pixel to gather data on ad performance. Shoval.tv is a domain name owned by Aniview cofounder Tal Melenboim. In an email to BuzzFeed News, Melenboim denied any involvement.
Carmel said the fraudsters must have copied the part of the code that included Shoval.tv from an earlier OutStream demo, and said Shoval.tv is commonly used as a tracking URL by Aniview. The inclusion of this code means that only a person with access to shoval.tv would be able to track the performance of the fraudulent ads carrying this pixel.
Protected Media also found that a significant portion of the banner ads purchased for this scheme were bought using MoPub, the mobile ad network owned by Twitter. This does not mean MoPub was engaged in the scheme. But it does mean Twitter’s ad platform was exploited for months by fraudsters, and it earned commission on the ads bought using its tools. (Julien uses MoPub to help place ads in his app and says the company is responsive when he reports bad ads.)
“At this time, we can confirm that the suspicious activity in question is not being initiated by MoPub,” a company spokesperson told BuzzFeed News. “The activity observed by Protected Media stems from an ad that is initiating other non-viewable video ads to run in the background. We are currently investigating what the potential sources of the issue could be.”
This scheme illustrates one of the central challenges in reducing the massive, multibillion-dollar fraud problem in digital advertising: Nearly every player in the supply chain, except for the brands who spend money on ads, profits from fraudulent ad delivery. Even if they’re not involved in ad fraud, platforms such as ad networks and other intermediaries earn a share of the money spent on invalid ads. This creates a disincentive to stop fraud from taking place, according to Greiner.
“It’s an unfair kind of situation because anybody who behaves well and doesn’t allow this on their platform is being left out of the profit,” he said, adding that “there’s very little penalty and there’s a lot to gain — the numbers are just enormous.”
Protected Media first detected the use of hidden video ads in October. Though not a new ad fraud technique, the company saw this iteration grow large enough that it warranted a closer look. After seeing which video players were being used to run the hidden ads, and which ad networks the fraudsters were buying the display ad from, Protected Media reached out to the relevant parties, including Aniview, last month. (Rosenfeld of DoubleVerify said it also identified the scheme late last year and began blocking it.)
Protected Media provided BuzzFeed News with video documentation of invalid video ads running behind banners that were created by OutStream Media, Aniview’s subsidiary. These video ads were served using Aniview’s platform and the banner ads were hosted on Aniview’s website with an account in OutStream Media’s name. This demonstrates a direct link between OutStream Media and the banners that were placed in apps such as Julien’s.
Protected Media also identified that the shoval.tv domain name owned by Aniview cofounder Tal Melenboim was used to track the performance of the fraudulent ads, adding yet another link to Aniview.
Given that information, Greiner believes “Aniview is the group who left no room for deniability — the others can claim ignorance.”
After BuzzFeed News first contacted Aniview, the company removed the LinkedIn page for OutStream Media, and deleted people from the Aniview team page on its website. Two of the removed people were Melenboim, who had previously listed himself as the founder and CEO of OutStream Media on his LinkedIn, and his wife Mazal Melenboim, whose LinkedIn lists her as the head of media operations for Aniview and the head of operations for OutStream Media.
Carmel said the couple left Aniview at the end of last year and praised Tal Melenboim as a “reputable professional” who was “an asset to Aniview during his many years of employment.”
Tal Melenboim told BuzzFeed News in an email that he and his wife are not involved in any illegal activity. “It is important for me to point out to you, that if you got the impression that Aniview/Outstream Media or someone from our team, including me or my wife, is involved in an act of not legit activity, it is simply far away from the true.” (Melenboim said that Carmel’s English is better than his, and that as a result specific questions should be directed to him.)
Carmel said the Melenboims were removed from the company website at his direction after being contacted by BuzzFeed News, and said it was an oversight that they were still on the site. He offered to provide a letter from the company’s legal counsel to testify to the fact that the Melenboims had not worked at Aniview since the end of last year. He also said other employees were removed from the company’s team page at the same time.
After BuzzFeed News emailed Carmel two links that showed the scheme was still active on his platform, the activity was quickly shut off. He said that was a result of his company being given the information necessary to shut it down.
One of the links BuzzFeed News provided to Carmel went to a page at play.aniview.com/outstreammedia/ that hosted the banner ads used in the scheme. These banners were generic images for companies and products such as Coca-Cola, M&Mʼs, McDonald’s, and Disney. If a user clicked on them they were taken to the homepage of the Google Play Store, showing that they were not real ads.
Carmel said these images belonged to OutStream Media and were created as test images when the company was operational last year. He said someone used these images without permission to execute the fraud.
“The banners were ONLY used for reach media demos of outstream units,” he said in an email. “After seeing in your email that someone used our banner without our permission we removed it from our server. Thank you for pointing it out.”
Ultimately what Carmel claims is that an unknown bad actor created an account on his platform, and then used banner ad images created by his subsidiary to execute the fraud scheme. He declined to share information about the bad actor’s account, citing legal concerns. He also couldn’t say exactly how this actor knew about banner ads uploaded to the account of OutStream Media — a company Carmel says was only briefly operational last year. He suggested one of the organizations OutStream had previously tried to pitch its services to was involved.
“The demo page of Outstream units was public and as well have been sent to many potential customers (BTW, one of them was Buzzfeed),” he said in an email. Carmel did not provide contact information for the person at BuzzFeed he says received the OutStream pitch. He did provide screenshots of email templates that were sent to prospective clients in May of last year that included a link to a demo.
Carmel says the same bad actor must have copied the OutStream tracking code that included shoval.tv, the domain owned by Melenboim. This means the fraudsters were sophisticated enough to set up and manage the scheme, but would have left in a tracking pixel that prevents them from receiving performance data on their ads.
Greiner of Protected Media said several ad tech companies engaged in or facilitated this form of fraud. Aniview was the one they gathered the most convincing evidence about. Others continue to run the scheme after being contacted by Protected Media, and in at least one case an executive from an involved company even complained about being called out.
“One of them spoke to my VP of sales and said everybody does it, why are we picking on them,” Greiner said. “It’s something we hear too often, unfortunately.” ●
HackerNewsBot debug: Calculated post rank: 101 - Loop: 82 - Rank min: 100 - Author rank: 43
El verano pasado hice pruebas de funcionamiento entre racket y chicken:
Posteriormente y aunque no las publiqué, probé también con Guile 2.2.4, que quedó entre ambos en velocidad. También probé el mit-scheme, pero es el #scheme más raro, tuve que cambiar código para que funcionara, mientras que los otros me servían los mismos ficheros, con la sola excepción del «ajuste de lenguaje» de racket.
It's taking a while, but with time and patience, getting confident with Data Visualization in Racket might be possible. It was a relief to be able to use the
rows-to-colsprocedure from a Guile script here with Racket (even though the resulting associative lists isn't used here yet). With Scheme I get the feeling it would be possible to build up the capabilities of ggplot2 (my limited uses of ggplot2 anyway) while maintaining solid contact with the data and a strong comprehension of the process...
Now I have to work out some details, how to re-name the x-axis and y-axis, how to label points... It should go relatively smoothly now after having done it with gnuplot and ggplot2 a few times.
It would be nice to put the labels (like "5 特に") inside their colored boxes somewhere instead of in a separate legend.
(define dat-lns (file->lines "KY-2018_1.csv")) (define data-lsts (map (lambda (s) (string-split s ",")) dat-lns)) (define info-lsts (list (car data-lsts)(cadr data-lsts))) ;; transpose the data lists ;; into associative list structure (define (rows-to-cols lols) ;; list of lists (define (rows-to-cols-aux lols keep) (cond ((null? (car lols)) (reverse keep)) (#t (rows-to-cols-aux (map cdr lols) (cons (map car lols) keep))))) (rows-to-cols-aux lols '())) (define info-alst (rows-to-cols info-lsts)) '(("体" "教養") ("年" "2018") ("期" "1") ("員" "7") ("枚" "269")) ;; use data to name file or data 教養-alst ;;; get a-list of points for Racket Plot (define Quest-Kanji '(出席 発言 取組 聴取 資料 時刻 反応 熱意 理解 役立 満足)) ;; need strings of not?? (define data-nums (map (lambda (lst) (map (lambda (s) (string->number s)) lst)) (cddr data-lsts))) (define (vect-Qsym-nums Qsyms Nums) (map vector Qsyms Nums)) ;; plot (require plot) (plot-new-window? #t) (define (plot-1t5 ys) (plot (discrete-histogram (map vector '(5 4 3 2 1) ys) #:color 'gray #:invert? #t #:gap .5 #:y-max 269 ;; use assoc 枚 later ))) (define (plot-stacked-histogram Qsyms Dnums) (plot (stacked-histogram (reverse (vect-Qsym-nums Qsyms Dnums)) #:invert? #t #:add-ticks? #t #:labels '("5 特に" "4 多少" "3 どちも" "2 あまり" "1 全く")) #:legend-anchor 'top-right)) (define (plotfile-stacked-histogram Qsyms Dnums) (plot-file (stacked-histogram (reverse (vect-Qsym-nums Qsyms Dnums)) #:invert? #t #:add-ticks? #t #:labels '("5 特に" "4 多少" "3 どちも" "2 あまり" "1 全く")) #:legend-anchor 'top-right #:kind 'png #:output "test1.png")) ;; not working yet (define (plot-1t5-labeled ys) (plot (list (discrete-histogram (map vector '(5 4 3 2 1) ys) #:color 'gray #:invert? #t #:gap .5 #:y-max 269 ;; use info a-list later ) (point-label (vector 202 5)) ;; not working can't invert )))
体,年,期,員,枚 教養,2018,1,7,269 202,41,26,0,0 62,68,99,22,17 72,74,98,14,11 144,67,41,9,8 111,78,55,13,10 171,60,28,5,4 140,65,46,10,8 165,62,27,9,6 96,98,51,14,8 119,76,56,8,8 109,79,60,9,10
#Scheme #Racket #FS4FT #FS4FD #facdev #FacultyDevelopment #DataVisualizatoin #アンケート #データ視覚化
HN Discussion: https://news.ycombinator.com/item?id=19368815
Posted by patrickxb (karma: 367)
Post stats: Points: 192 - Comments: 165 - 2019-03-12T15:05:11Z
#HackerNews #accuses #bribery #college-entrance #fbi #parents #scheme #wealthy
HackerNewsBot debug: Calculated post rank: 183 - Loop: 317 - Rank min: 100 - Author rank: 37
D.R.Y. Guile for Teachers
Some parts are still clunky, but some parts made me feel good. After a lot of exploration, I have a script that will take a subdirectory of .csv files (encoded in Japanese SJIS) and generate some useful files (encoded in UTF8). With one more little script to let me change the number of columns in the seating chart, some irritating start-of-semester administrative work will be automated.
If I can get more competent with this, and take the time to write clearly: D.R.Y. Guile Free Teachers, to be pronounced like "Dry Guy'll Free Teachers."
It is enjoyable to work with Guile Scheme. It feels like the work helps with "the development of good patterns of thought and the techniques of problem solving."(Daniel P. Friedman in the introduction to *The Schemer's Guide".
Emacs and org-mode give me the same feeling, but Guile makes it seem natural to output simple, almost elegant?, pages. The presentation is consistent with the charts I see in the classic Japanese writing books (for scientists and students) by Koreo Kinoshita:
木下是雄 レポートの組み立て方 , 理科系の作文技術
Guile Scripting, Learning
I've been hoping to learn Guile Scheme and SXML for some time now, and think I'm finally making some progress. It takes a lot of exploratory time to learn a language, maybe immersion is needed too. It was important to make the time necessary to discover how Guile Scheme could do the work I was doing with org-mode. I wish I could do what R and ggplot2 do with Scheme. For now it's too hard for me to get "Guile Charting" to work, and I would need hours and hours to learn Cairo, probably. Before attempting that, I have to solidify the scripts and constructs that let me generate roll sheets, bureaucratic print outs, image conversions, and ESL worksheets. Other Faculty Development will have to wait.
It had kernel threads! Among the contemporary Schemes, I think only Gerbil and Chibi do (and I'm not exactly sure about Gerbil, somebody please enlighten me!).
Multiple misleading identities, more than 100 host accounts and 18 corporations were created to run an illegal hotel business in Manhattan, according to a lawsuit filed by the city.
Article word count: 2758
HN Discussion: https://news.ycombinator.com/item?id=19235297
Posted by ryan_j_naughton (karma: 12075)
Post stats: Points: 76 - Comments: 90 - 2019-02-23T20:30:00Z
\#HackerNews #airbnb #and #fall #multimillion-dollar #rise #scheme #the
Two apartments at 385 Greenwich Street in TriBeCa, Manhattan, were illegally offered through Airbnb, city officials said. According to a lawsuit, they were part of an enterprise that made more than $20 million in revenue.CreditCreditChang W. Lee/The New York Times
Multiple misleading identities, more than 100 host accounts and 18 corporations were created to run an illegal hotel business in Manhattan, according to a lawsuit filed by the city.
Two apartments at 385 Greenwich Street in TriBeCa, Manhattan, were illegally offered through Airbnb, city officials said. According to a lawsuit, they were part of an enterprise that made more than $20 million in revenue.CreditCreditChang W. Lee/The New York Times
[What you need to know to start the day: Get New York Today in your inbox.]
From the outside, there was nothing especially notable about the small white building on the corner of a cobblestone street in TriBeCa. But until recently, it was a crucial location in a sprawling empire.
“Beautiful Loft Prime Tribeca 4BR/2BA Sleep 10,” read the listing on Airbnb for one apartment there.
Two of the three apartments in the building were popular with tourists looking to stay in one of Manhattan’s most desirable neighborhoods — at $600 a night each, they were a bargain for a large group.
But they were also illegal — part of an elaborate real estate scheme to make millions by circumventing state and local laws and Airbnb’s own rules.
The building, on Greenwich Street, was part of a larger enterprise that made more than $20 million in revenue by unlawfully renting 130 Manhattan apartments to almost 76,000 guests through Airbnb, city officials said.
The plot was geared toward getting around city regulations that are intended to keep blocks of apartments from being turned into makeshift hotels that avoid lodging taxes and oversight.
The crackdown on the empire last month was a milestone in the escalating battle between Airbnb and New York City — the company’s largest market in the country. Airbnb condemned the exploitation of its platform, but the scheme showed how the home-sharing site has given opportunists a new kind of hustle.
Airbnb has clashed with other cities. Los Angeles, Amsterdam, Paris and Vancouver, British Columbia, have all passed laws restricting Airbnb rentals. In July, Palma de Mallorca became the first city in Spain to ban Airbnb.
Interviews and documents offer a glimpse at how the New York scheme worked. According to the suit, the ring used multiple misleading identities to dodge Airbnb’s rules, text tourists and book apartments to budget-minded travelers. Addresses were fudged to avoid scrutiny. A cadre of cleaners was apparently recruited through Facebook.
In all, more than 100 Airbnb host accounts and 18 corporations were created to run an illegal hotel business that stretched north from TriBeCa to SoHo, Gramercy, the Upper East Side and Harlem, according to a lawsuit brought by the city.
One apartment on Greenwich Street was advertised on Airbnb as “Beautiful Loft Prime Tribeca 4BR/2BA Sleep 10” for $600 a night.CreditChang W. Lee/The New York Times
New York regulations are supposed to keep apartments from being pulled out of an already-tight rental market to cater to the tourist trade. They specify that it is illegal to rent an entire apartment in most buildings for fewer than 30 days unless the permanent tenant is present while the renter is there.
Posting a unit that should not be listed on Airbnb is a civil offense, not a criminal one, and the city typically issues violations that can result in fines of thousands of dollars; lawsuits are filed in the most egregious of cases. In this lawsuit, the city is seeking more than $20 million from the defendants.
At the center of the scheme was Max Beckman, 35, a former real estate broker, according to the lawsuit. Mr. Beckman, who moved to the United States 18 years ago from Israel, was one of five people accused. There has not been a verdict, and the case is continuing.
Mr. Beckman agreed to be interviewed, making clear that he believed that he did nothing wrong.
“We’re not criminals,” he said at his lawyer’s office, while puffing from a Juul he kept in a black leather pouch fastened to a chain around his neck. He shrugged: “I don’t own a yacht or a big penthouse.”
What he did have was an ambitious, though risky, idea.
It was 2012 and Mr. Beckman, in his own telling, was struggling to make it as a real estate broker. He said he had a dismal credit score and $100 to his name when he used that money to pay the application fee for a one-bedroom on the Upper East Side.
He began renting it out, short term, to tourists through Airbnb and pocketed the difference after paying rent. It was a simple business model he would go on to replicate.
“It took off, and I made more money, and then I got another one,” Mr. Beckman said. “I couldn’t stop.”
Source: Mayorʼs Office of Special Enforcement | By Sarah Almukhtar
In 2015, Mr. Beckman quit his job as a real estate broker for Metropolitan Property Group, a brokerage firm in Manhattan, to devote himself full time to his Airbnb venture.
He persuaded two friends who were also brokers at the firm to become his partners, he said. The men, Alon Karasenty and Simon Itah, were also sued by the city. They did not respond to multiple requests for comment.
By the end of the year, the trio was managing dozens of listings on Airbnb, including large spaces in some of the city’s most sought-after neighborhoods — a penthouse overlooking Central Park, a loft in Chelsea — according to court documents.
“We made money, we lost money, we learned,” said Mr. Beckman, a self-described disruptive entrepreneur.
The lawsuit alleged that Mr. Beckman’s former employer, Metropolitan Property Group, and its chief executive officer, Sami Katri, along with his wife, Shely Katri, were also involved.
Some of the 18 corporations that received payouts from Airbnb had been registered using Metropolitan Property Group’s office addresses. The suit also claimed the Katris’ names were linked to two Airbnb accounts and the utility bills for two apartments at 200 East 116th Street in East Harlem, where all seven units were on Airbnb.
The listing on Airbnb for a four-bedroom unit at 200 East 116th Street in East Harlem.
But Mr. Beckman said that the addresses were used without the company’s knowledge and that the Katris were not involved.
Douglas Pick, a lawyer for the Katris and the brokerage firm, also denied that his clients were involved and said the city has not provided any evidence that Airbnb had disbursed payments to them. He said the three men had stopped working for the firm by 2015 and had “began operating for themselves.”
Mr. Katri, through his lawyer, said he had partnered with Mr. Karasenty and Mr. Itah to legally lease apartments at the East Harlem building, but was unaware they were rented out through Airbnb.
Yoram Nachimovsky, the lawyer representing the three men and their corporations, said the lawsuit was “a political move by the mayor.”
“Basically, the mayor is being sponsored by these hotel operators and he’s doing what’s in their best interest,” he said.
Christian Klossner, the executive director of the Mayor’s Office of Special Enforcement, which led the investigation, said his office was “here to preserve housing for New Yorkers and to make sure both New Yorkers and visitors are kept safe and treated fairly.”
The scheme required leasing scores of apartments.
Some landlords claimed they were deceived, renting apartments to Mr. Beckman and his partners without knowing the units would be used as hotel rooms.
For example, Mr. Beckman signed leases for two apartments in another East Harlem building in late 2017, according to a separate lawsuit filed by the building’s owner last year.
A day after signing the lease, the apartments were on Airbnb under the host names “Cedric” and “Tom & Lisa,” the lawsuit said.
The rent for one apartment was $3,225, but it was on Airbnb for $250 a night. Hypothetically, Mr. Beckman could cover a month’s rent by filling it with tourists for about two weeks.
The owner of 78 East 119th Street in East Harlem sued Max Beckman after Mr. Beckman leased two apartments in the building and rented them to tourists through Airbnb.CreditChang W. Lee/The New York Times
In just a few months, Mr. Beckman had booked more than 500 guests and generated about $84,000 from the building at 78 East 119th Street, according to the city’s lawsuit.
Some residents in the 10-unit building grew annoyed by strangers constantly showing up with luggage.
“It’s been 3 a.m. and I’ve had people ringing my buzzer to get in,” said Ziograin Correa, 40, who lives in the building with his wife and six children. “They don’t have a key, so they ring my buzzer.”
The listing for an apartment in East Harlem. The city has argued that Airbnb has diminished the supply of housing available to full-time renters.
The city learned that the units were on Airbnb and slapped the landlord with violations last year, meaning daily fines that could have cost about $60,000, according to Gary Wachtel, a lawyer for Orsipel, the company that owns the building.
“I think it’s a terrible burden to expect that a landlord knows what every tenant in a building is doing on a daily basis,” Mr. Wachtel said. He said the landlord was unaware of the Airbnb operation; Mr. Beckman claimed he “never went behind the landlord’s back.”
Mr. Beckman forfeited the apartments after the landlord filed the lawsuit. “We just vacated the apartment,” he said. “I said I’m sorry and moved on.”
Airbnb has long said the majority of its hosts are everyday New Yorkers who rent out a spare bedroom or list their apartment while on a long vacation.
Still, the company has voluntarily taken down more than 5,000 commercial listings since late 2015. The city estimates that about one-third of listings on home-sharing websites are run by commercial operators; Airbnb disputes those numbers.
Under Airbnb’s “One Host, One Home” policy, New Yorkers can list only one apartment, with few exceptions.
But Mr. Beckman and his partners appear to have bypassed that policy by creating host accounts using different email addresses and multiple identities, including those of relatives and some with variations of the same name (“Jacob Itah” vs. “Jacob Itach”).
They also provided Airbnb with incorrect or incomplete addresses for apartments to avoid scrutiny, according to the city’s lawsuit.
Josh Meltzer, the head of public policy for Airbnb in the Northeast, condemned the behavior and acknowledged the limitations of the company’s rules, which he said were intended as a short-term remedy.
“We’re talking about a very narrow set of actors that are working very creatively and very diligently,” he said. “That’s why we’ve supported what I would say is a very restrictive, comprehensive piece of legislation at the state level that would essentially require platform and government to work together to target this type of behavior.”
Airbnb has drawn opposition from the hotel industry. Recently, a federal judge blocked the implementation of a city law that would have required home-sharing services to disclose information about its listings, and the identities and addresses of hosts.
But the legal battle drags on, and Mayor Bill de Blasio announced this week that the city had issued a subpoena for information on 20,000 home-sharing listings in New York.
The mayor and other politicians have argued that Airbnb listings diminish the supply of apartments available to full-time renters, making the city’s affordable housing crisis even worse.
But Mr. Beckman said that he never rented out rent-stabilized units and that his listings did not take apartments away from low-income New Yorkers. The majority of the units were high-end apartments in expensive neighborhoods, he said.
Ultimately, Mr. Beckman believes the city’s tourism industry could benefit if lawmakers allow apartments to be offered on Airbnb and taxed like hotels.
For him, the proof is that he and his associates made it work.
At its peak, the city claimed, the business run by Mr. Beckman and his partners booked tens of thousands of guests for 55,331 nights over three years across 35 different buildings.
Six buildings each generated more than $1 million in revenue; the top-earner was a residential building in Kips Bay that brought in about $1.8 million, according to the city.
At the beginning, Mr. Beckman said, he decorated the apartments with used furniture, but later was able to afford an interior designer.
He was also able to employ 15 housekeepers who roamed Manhattan tidying up the apartments, he said.
“Responsible and thorough cleaning lady needed!” read one post, along with Mr. Beckman’s phone number, from 2018 on a Facebook group that caters to Russians looking for jobs in New York. Cleaners would earn $500 to $800 per week and get a MetroCard, according to the post.
“They made sure we got five stars,” Mr. Beckman said.
Indeed, most tourists left positive ratings in listings reviewed by The New York Times, although a few lobbed complaints.
“I became suspicious as soon as we entered the building that we had been taken for a bit of a ride,” said Kelly Swift, 31, a teacher from Australia who booked a three-bedroom in TriBeCa. “It was definitely not someone’s home.”
The Airbnb listing for an apartment at 385 Greenwich Street. Mr. Beckman said his listings did not take units away from low-income New Yorkers.CreditAirbnb
Ms. Swift said she felt unsafe when someone entered the apartment to replace a couch without notice while she was away. She realized the apartment above hers was also a faux hotel after she saw three different groups cycle in and out during her 10-day stay.
“The third group partied every night, and once I had to go up at midnight and ask them to please stop yelling,” Ms. Swift said.
The lease for one of the apartments in the TriBeCa building was signed by Mr. Beckman and his two partners, and the monthly rent checks of $25,000 for both units were mostly paid by different corporations connected to the men, according to court documents.
The landlord, a company presided over by Charles Cohen, terminated the lease in March as a result of the short-term rentals, the lawsuit said. But, according to court documents, Mr. Cohen continued to receive monthly checks until the end of 2018, and the apartments were on Airbnb’s website as late as a few weeks ago.
It was unclear whether landlords were typically aware of the Airbnb operations in their buildings, and Mr. Beckman refused to comment on the matter.
Pressed during an interview, he said, “The landlords themselves were not involved.”
Mr. Cohen, who appeared to have leased apartments in other buildings where the partners listed Airbnbs, did not respond to multiple requests for comment.
All seven apartments in a building at 200 East 116th Street in East Harlem were offered on Airbnb.CreditChang W. Lee/The New York Times
One night in early January, a police sergeant showed up outside Mr. Beckman’s apartment to serve him with a notice that the city was going to sue him.
Mr. Beckman was not home, so the sergeant left the notice with his wife.
“That day was crazy,” he said.
Since then, Mr. Beckman, who has two children, has been huddling with his lawyers and shuttering his Airbnb operations, terminating dozens of apartment leases.
The city also sued five buildings for not cracking down on Airbnbs managed by Mr. Beckman and his partners despite violations issued by the city.
Abington Properties, the owner of three of the buildings, did not reply to multiple requests for comment. A secretary for Helm Management, which runs the East Harlem building that became a de facto hotel, said the company did not comment on pending litigation.
Mr. Beckman said he intended to reach a settlement with the city, even if that meant paying a hefty fine. He said that, despite the lawsuit, he spoke to The Times because he thought the city had unfairly portrayed him as a criminal.
“There is nothing bad about us,” he said. “That’s why I’m happy to do this interview with you.”
Now, he said, his sights were on “legal new ventures.” Asked to elaborate, he said he was starting a business to sell electric scooters, which are illegal to ride on New York City streets, but could be legalized by the City Council soon.
“The land of opportunities, right?”
Derek M. Norman contributed reporting. Doris Burke contributed research.
A version of this article appears in print on , on Page A1 of the New York edition with the headline: Rise and Fall of a New York Airbnb Empire. Order Reprints | Today’s Paper | Subscribe
HackerNewsBot debug: Calculated post rank: 80 - Loop: 200 - Rank min: 80 - Author rank: 80
Batch Convert Image Files with Guile
It is taking a while, but Guile is becoming a comfortable tool for me. With Scheme's consistency maybe Guile really can become "ubiquitous". It would be interesting to get my old copy of Learning Perl and see what it is like to do the exercises with Guile. My feeling is that Scheme could be a notation that makes computer languages accessible to everyone, the way new number notations made math more useful for everyone after Roman numerals. Lancelot Hogben in Mathematics for the Millions shows how hard math can be without a good notation: try doing complex calculations with Roman Numerals...
Learning Guile: Named Let
With a few more details needed to get command-line scripts working properly I might have some useful code to share.
The secret to making progress with a language is being able to focus on manageable parts while losing the directions of your flow. And having open-ended time to explore is crucial. The inspiration that comes from feeling that the hours are dedicated to ethical work is important too. There is also the somewhat selfish calculation that all these hours spent acclimating to a problem-solving approach may save time and frustration in the future. With enough time to attain competence the learning time could end up saving other people's time and frustration too..
Another Lesson with Guile Scheme
Uploading gdm(fn:1) lesson plans to WriteFreely has been motivating me to learn Guile Scheme. The language will become a natural tool for me. It's taking a lot of hours, but tools that become natural to your use require a lot of time.
- The part about batch converting image files needs its own blog post. Emacs, geiser, and guile will keep me from getting lost in Bash scripting.
- (fn:1) Graded Direct Method
My first working attempt used eval with quasiquoting and it looked very messy. Second attempt:
(let ((args (cdr (program-arguments))))
(apply execlp (car args) args))
It works, but is it idiomatic? Is this how you'd write that? Can it be shorter or clearer?
Scheme Humanities Avogadro
Reading the Artanis website's Learn Scheme in 15 minutes reminded me of Herb Gross's example of Avogadro to support his argument as math for the humanities. Avogadro's name came to my attention while searching for ways to visualize methionine and methyl mercury. The Free Software called Avogadro met my needs.
6.02e+23 — (1)
We may not realize, however, that if there were a successful
“humanistic revolution” and it was decreed that the liberal arts
curriculum should rid itself of all courses pertaining to science
and technology and, instead, to emphasize only those courses
that enhanced the humanities, mathematics would still be a
leading course in this new curriculum.
For example, Amedeo Avogadro (1776-1856) the Italian
chemist and physicist advanced a hypothesis that has come to
be called Avogadro's Law.
Avogadro's law states that equal volumes of all gases under
identical conditions of pressure and temperature contain the same
number of molecules. From this hypothesis other physicists were able
to calculate that there were approximately 6 x1023 atoms in a mole of
Certainly, we have no trouble understanding that this concept
clearly belongs to the world of science and mathematics. Yet to
grasp the size of 6 x1023 requires the mindset of a poet! Indeed,
if you could count at the rate of one billion atoms per second, it
would still take over 18 million years to count that many atoms.
Can you name any humanist who had a more vivid
imagination? Yet much of our modern theory of the molecular
structure of gases rests on the “vivid imagination” of Avogadro!
- (2) Herb Gross's Essay on Math
Installing Guile Scheme
Guile 2.2's installation took me a few hours. But now Skribilo is ready for the next block of free time I have to learn something new with computers. Having two computers going at the same time is only for special occasions. Usually it's too distracting for me to be helpful. But, this time comparing the results for
> whereis guilelet me see that a working installation of Guile 2.2.4 requires the shared libraries of Guile 2.2
With the hours of installation behind me I'll be ready to work on some projects that need full attention and can't be distracted by the details of installations and software dependencies. Working through this installation process twice should have given me the techniques and patience to work through a variety of difficulties: and the exploratory attitude needed to get Skribilo installed is probably the attitude I'll need to generate worksheets and I.A. Richard's special quotes in Skribilo.
It was good to write up the process with WriteFreely too. I don't think I've every written so long before about a process I hope to learn from. I have learned and re-learned complex installation processes while getting R and ggplot to work. Hopefully taking the time to write up the details will make the next complex installation feel quicker and smoother...
#Guile #Scheme #GuileScheme #Guile2-0 #Guile2-4 #InstallingGuile #Skribilo #WriteFreely
This week, I find myself lucky enough to be at the International Lisp Conferenceat MIT in Cambridge, MA. I won’t get into why I’m here right now, for those of you who might be surprised. The purp…
Article word count: 826
HN Discussion: https://news.ycombinator.com/item?id=18782101
Posted by bb88 (karma: 2116)
Post stats: Points: 96 - Comments: 88 - 2018-12-29T05:42:23Z
\#HackerNews #2009 #for #instead #its #mit #program #python #scheme #undergraduate #uses #why
This week, I find myself lucky enough to be at the International Lisp Conferenceat MIT in Cambridge, MA. I won’t get into why I’m here right now, for those of you who might be surprised. The purpose of this post is simply to paraphrase what Gerald Jay Sussman, one of the original creators of Scheme, said yesterday in an a brief impromptu talk about why the computer science department at MIT had recently switched to using python in its undergraduate program. This change is something that was widely panned when it was announced by many people all across the programming and computing world from various disciplines, so it seems worthwhile to try to document what Prof. Sussman said.
(The impromptu talk happened much after Monday’s formal talks and presentations, and I don’t think that anyone was recording Prof. Sussman’s remarks. If anyone does have a recording, by all means, post it, and I’ll link to it here — and probably just drop my paraphrasing.)
This is all from memory, so I’ll just apologize ahead of time for any errors or misinterpretations I propagate. If anyone has any corrections, by all means, leave a comment (try to keep your debate reflex in check, though). In a couple of places, I’ve added notes in italics. Just to keep things simple and concise, the following is written in first-person perspective:
When we conceived of scheme in the 1970’s, programming was a very different exercise than it is now. Then, what generaly happened was a programmer would think for a really long time, and then write just a little bit of code, and in practical terms, programming involved assembling many very small pieces into a larger whole that had aggregate (did he say ‘emergent’?) behaviour. It was a much simpler time. Critically, this is the world for which scheme was originally designed. Building larger programs out of a group of very small, understandable pieces is what things like recursion and functional programming are built for. The world isn’t like that anymore. At some point along the way (he may have referred to the 1990’s specifically), the systems that were being built and the libraries and components that one had available to build systems were so large, that it was impossible for any one programmer to be aware of all of the individual pieces, never mind understand them. For example, the engineer that designs a chip, which now have hundreds of pins generally doesn’t talk to the fellow who’s building a mobile phone user interface. The fundamental difference is that programming today is all about doing science on the parts you have to work with. That means looking at reams and reams of man pages and determining that POSIX does this thing, but Windows does this other thing, and patching together the disparate parts to make a usable whole. Beyond that, the world is messier in general. There’s massive amounts of data floating around, and the kinds of problems that we’re trying to solve are much sloppier, and the solutions a lot less discrete than they used to be. Robotics is a primary example of the combination of these two factors. Robots are magnificently complicated and messy, with physical parts in the physical world. It doesn’t just move forward along the ground linearly and without interruption: the wheels will slip on the ground, the thing will get knocked over, etc. This is a very different world, and we decided that we should adjust our curriculum to account for that. So, a committee (here, Prof. Sussman peaked his hands over his head, which I interpreted to indicated pointy-headedness) got together and decided that python was the most appropriate choice for future undergraduate education. Why did they choose python? Who knows, it’s probably because python has a good standard library for interacting with the robot.
That is my best paraphrasing of Prof. Sussman’s remarks. I spoke with him briefly earlier today, primarily to ask his permission for me to post this sort of first-person paraphrasing; he replied: “Sure, as long as you paraphrase me accurately.” Hopefully I succeeded; I’ll mention again my solicitation for corrections in the comments.
As a short addendum, while I had Prof. Sussman’s ear, I asked him whether he thought that the shift in the nature of a typical programmer’s world minimizes the relevancy of the themes and principles embodied in scheme. His response was an emphatic ‘no’; in the general case, those core ideas and principles that scheme and SICP have helped to spread for so many years are just as important as they ever were. However, he did say that starting off with python makes an undergraduate’s initial experiences maximally productive in the current environment. To that, I suggested that that dynamic makes it far easier to “hook” undergrads on “computer science” and programming, and retaining people’s interest and attracting people to the field(s) is a good thing in general; Prof. Sussman agreed with that tangential point.
HackerNewsBot debug: Calculated post rank: 93 - Loop: 93 - Rank min: 80 - Author rank: 28
CHICKEN is a compiler for the Scheme programming language. It produces portable and efficient C and supports the R5RS and R7RS (work in progress) standards, and many extensions. More info at https://www.call-cc.org/
A new major version has just been released. See the announcement message here: http://lists.nongnu.org/archive/html/chicken-users/2018-11/msg00006.html
HN Discussion: https://news.ycombinator.com/item?id=18402567
Posted by mario-goulart (karma: 58)
Post stats: Points: 150 - Comments: 23 - 2018-11-07T21:28:01Z
\#HackerNews #been #chicken #has #released #scheme
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
From: Peter Bex
Subject: [Chicken-users] [ANN]CHICKEN 5.0.0 has been released
Date: Wed, 7 Nov 2018 19:53:30 +0100
User-agent: NeoMutt/20170113 (1.7.2)
Dear CHICKEN users, We are proud to announce the immediate availability of
CHICKEN 5.0.0 at the following URL:
https://code.call-cc.org/releases/5.0.0/chicken-5.0.0.tar.gz This tarball has the following SHA256 checksum:
a8b94bb94c5d6a4348cedd75dc334ac80924bcd9a7a7a3d6af5121e57ef66595 It has been a long stretch, but we finally made it! This release contains the largest number of big-impact changes
weʼve made since the CHICKEN 4.0.0 release. Most importantly, we have completely overhauled the module layout so
that it should make more sense where each identifier is located.
For a quick overview of where things are, see the page we used for
discussion of these changes:
https://wiki.call-cc.org/core-libraries-reorganization The manual has of course also been updated to reflect these new modules:
https://wiki.call-cc.org/man/5/Included%20modules Other notable features are:
- Full numeric tower
- A new declarative egg description format for chicken-install
- Improved support for static linking (eggs are now also compiled statically)
- "Deployment" mode has been dropped as it was less portable and reliable than static linking.
- Builds are fully bit-for-bit reproducible (for core, but user code too)
- Random numbers now use a better PRNG than libc rand() (namely, WELL512)
- Core has gone on a diet: several libraries have been moved to eggs, like srfi-1, srfi-13, srfi-14, srfi-18, srfi-69, and several other things. The (very long!) complete list of changes since version 4.13.0 is
available here: https://code.call-cc.org/dev-snapshots/2018/08/11/NEWS Because the testing period has been quite long, weʼve managed to port
many of the most important eggs to CHICKEN 5 already. You can view them
at the new subdomain, see https://eggs.call-cc.org/5 Of course for the time being, not everyone can immediately switch to
CHICKEN 5 for everything, so https://eggs.call-cc.org/4 also works. If you have code you want to port, weʼve created a porting guide that
covers the most important pitfalls:
https://wiki.call-cc.org/porting-c4-to-c5 Many thanks to everyone in the community for their enthusiasm, mental
support and help with testing all this new code and enthusiastically
porting stuff to CHICKEN 5 even back when it was barely ready! Regards,
The CHICKEN Team
Description: PGP signature
[Prev in Thread] Current Thread [Next in Thread]
\* [Chicken-users] [ANN] CHICKEN 5.0.0 has been released, Peter Bex <=
HackerNewsBot debug: Calculated post rank: 107 - Loop: 381 - Rank min: 100 - Author rank: 145
A BuzzFeed News investigation uncovered a sophisticated ad fraud scheme involving more than 125 Android apps and websites, some of which were targeted at kids.
Article word count: 5772
HN Discussion: https://news.ycombinator.com/item?id=18285275
Posted by minimaxir (karma: 30392)
Post stats: Points: 115 - Comments: 46 - 2018-10-23T17:12:16Z
\#HackerNews #android #exploited #fraud #how #massive #millions #phones #scheme #steal
Last April, Steven Schoen received an email from someone named Natalie Andrea who said she worked for a company called We Purchase Apps. She wanted to buy his Android app, Emoji Switcher. But right away, something seemed off.
“I did a little bit of digging because I was a little sketched out because I couldn’t really find even that the company existed,” Schoen told BuzzFeed News.
The We Purchase Apps website listed a location in New York, but the address appeared to be a residence. “And their phone number was British. It was just all over the place,” Schoen said.
It was all a bit weird, but nothing indicated he was about to see his app end up in the hands of an organization responsible for potentially hundreds of millions of dollars in ad fraud, and which has funneled money to a cabal of shell companies and people scattered across Israel, Serbia, Germany, Bulgaria, Malta, and elsewhere.
Schoen had a Skype call with Andrea and her colleague, who said his name was Zac Ezra, but whose full name is Tzachi Ezrati. They agreed on a price and to pay Schoen up front in bitcoin.
“I would say it was more than I had expected,” Schoen said of the price. That helped convince him to sell.
A similar scenario played out for five other app developers who told BuzzFeed News they sold their apps to We Purchase Apps or directly to Ezrati. (Ezrati told BuzzFeed News he was only hired to buy apps and had no idea what happened to them after they were acquired.)
The Google Play store pages for these apps were soon changed to list four different companies as their developers, with addresses in Bulgaria, Cyprus, and Russia, giving the appearance that the apps now had different owners.
But an investigation by BuzzFeed News reveals that these seemingly separate apps and companies are today part of a massive, sophisticated digital advertising fraud scheme involving more than 125 Android apps and websites connected to a network of front and shell companies in Cyprus, Malta, British Virgin Islands, Croatia, Bulgaria, and elsewhere. More than a dozen of the affected apps are targeted at kids or teens, and a person involved in the scheme estimates it has stolen hundreds of millions of dollars from brands whose ads were shown to bots instead of actual humans. (A full list of the apps, the websites, and their associated companies connected to the scheme can be found in this spreadsheet.)
One way the fraudsters find apps for their scheme is to acquire legitimate apps through We Purchase Apps and transfer them to shell companies. They then capture the behavior of the app’s human users and program a vast network of bots to mimic it, according to analysis from Protected Media, a cybersecurity and fraud detection firm that analyzed the apps and websites at BuzzFeed Newsʼ request.
This means a significant portion of the millions of Android phone owners who downloaded these apps were secretly tracked as they scrolled and clicked inside the application. By copying actual user behavior in the apps, the fraudsters were able to generate fake traffic that bypassed major fraud detection systems.
“This is not your run-of-the-mill fraud scheme,” said Asaf Greiner, the CEO of Protected Media. “We are impressed with the complex methods that were used to build this fraud scheme and what’s equally as impressive is the ability of criminals to remain under the radar.”
Another fraud detection firm, Pixalate, first exposed one element of the scheme in June. At the time, it estimated that the fraud being committed by a single mobile app could generate $75 million a year in stolen ad revenue. After publishing its findings, Pixalate received an email from an anonymous person connected to the scheme who said the amount that’s been stolen was closer to 10 times that amount. The person also said the operation was so effective because it works “with the biggest partners [in digital advertising] to ensure the ongoing flow of advertisers and money.”
In total, the apps identified by BuzzFeed News have been installed on Android phones more than 115 million times, according to data from analytics service AppBrain. Most are games, but others include a flashlight app, a selfie app, and a healthy eating app. One app connected to the scheme, EverythingMe, has been installed more than 20 million times.
Once acquired, the apps continue to be maintained in order to keep real users happy and create the appearance of a thriving audience that serves as a cover for the cloned fake traffic. The apps are also spread among multiple shell companies to distribute earnings and conceal the size of the operation.
The revelation of this scheme shows just how deeply fraud is embedded in the digital advertising ecosystem, the vast sums being stolen from brands, and the overall failure of the industry to stop it.
App metrics firm AppsFlyer estimated that between $700 million and $800 million was stolen from mobile apps alone in the first quarter of this year, a 30% increase over the previous year. Pixalate’s latest analysis of in-app fraud found that 23% of all ad impressions in mobile apps are in some way fraudulent. Overall, Juniper Research estimates $19 billion will be stolen this year by digital ad fraudsters, but others believe the actual figure could be three times that.
This scheme’s focus on Android apps also exposes the presence of fraud, malware, and other risks affecting Google’s mobile ecosystem and the users who rely on it. Experts say a scheme like this targets Android in part because of its huge user base, and because the Google Play store has a less rigorous app review process than Apple’s App Store. Android apps are bought and sold, injected with malicious code, repurposed without users’ or Google’s knowledge, or, as in this case, turned into engines of fraud. (Apple’s App Store is by no means immune to malicious attacks: A security researcher recently revealed that a top paid app is secretly transmitting user browsing data to a server in China.)
Google told BuzzFeed News it quickly removes any apps that violate Play store policies and that last year it took down more than 700,000 apps that were in violation. It also emphasized its commitment to fighting ad fraud by implementing standards such as ads.txt.
“We take seriously our responsibility to protect users and provide a great experience on Google Play. Our developer policies prohibit ad fraud and service abuse on our platform, and if an app violates our policies, we take action,” said an emailed statement from a Google spokesperson.
The ad networks and ad exchanges used by the scheme include major players, such as those operated by Google, which means these companies earned commission if ads shown to bots went undetected. There is no evidence Google or any of the other companies knew the inventory was fraudulent.
After being provided with a list of the apps and websites connected to the scheme, Google investigated and found that dozens of the apps used its mobile advertising network. Its independent analysis confirmed the presence of a botnet driving traffic to websites and apps in the scheme. Google has removed more than 30 apps from the Play store, and terminated multiple publisher accounts with its ad networks. Google said that prior to being contacted by BuzzFeed News it had previously removed 10 apps in the scheme and blocked many of the websites. It continues to investigate, and published a blog post to detail its findings.
The company estimates this operation stole close to $10 million from advertisers who used Googleʼs ad network to place ads in the affected websites and apps. It said the vast majority of ads being placed in these apps and websites came via other major ad networks.
Asked whether it reviews apps in the Play store on an ongoing basis, a company spokesperson pointed to a blog post from earlier this year that said, “Sometimes developers change the content or behavior of their app and associated app listing and marketing materials after initially approved, requiring ongoing reviews as new information becomes available that can alter the original policy judgment.”
The company would not say whether any apps in this scheme received a subsequent review after they changed ownership, or for any other reason.
Amin Bandeali, the chief technology officer of Pixalate, told BuzzFeed News that app stores provide minimal ongoing review of apps and their developers, which makes them an easy target for fraudsters and other bad actors.
“App stores, perhaps unwittingly, are providing a gateway to connecting fraudsters with [advertising]inventory buyers and sellers,” he said. “While the stores present customer reviews, download numbers and other ‘quality’ metrics, they offer minimal services that vet the business practices, technology and relationships of the app companies.”
To identify key beneficiaries of this scheme, BuzzFeed News analyzed corporate registration records, domain ownership and Domain Name System data, Play store listings, and other publicly available information. It revealed that the network of apps and websites is linked to Fly Apps, a Maltese company with multiple connections to the scheme.
Corporate records obtained by BuzzFeed News show that Fly Apps is owned by two Israelis, Omer Anatot and Michael Arie Iron, and two Germans, Thomas Porzelt and Felix Reinel.
Anatotʼs LinkedIn profile lists him as the CEO of EverythingMe, a popular app owned by Fly Apps. In messages sent on WhatsApp, Anatot said he only manages EverythingMe and blamed the initial fraud identified by Pixalate on a firm he says they worked with, AdNet Express. He said his company paid AdNet Express to generate installations of its apps to help grow its user base, and that any fraud was the fault of their partner.
“They were buying installs for us for a short time,” he said. “Very soon it turns out these guys were 100% fraudulent traffic of bots pushing installs.”
It’s unclear if AdNet Express is a real company. It has virtually no online profile or reputation other than a very basic website, which does not list an address or phone number or cite any clients or projects. The domain ownership information for the site listed a fake US mailing address, as well as the email address “MatthewBStrack@teleworm.us.” That email address was generated using a service called Fake Mail Generator. The company’s two employees listed on LinkedIn cite no additional work experience or educational background on their profiles, and appear to have no other online presence.
BuzzFeed News sent an email citing Anatot’s claims to the address listed on the company’s website. “This is very interesting,” someone wrote back. “Today, i cannot speak but Friday.” They did not reply to subsequent emails.
Also, at some point after Anatot began communicating with BuzzFeed News, many of the websites in the scheme were taken offline. Several websites for shell companies were unpublished at the same time.
“You try to tie me into something Iʼve no relationship to,” Anatot said in a message. “And if you go and publish that, you and the publisher will carry the legal liability. You really have no grounds for the things you tie me to.”
After receiving a detailed email with information connecting Fly Apps to apps and companies involved in the scheme, the company responded with a letter from its attorney that denied any involvement in, or knowledge of, the fraud identified by Pixalate. Fly Apps also denied it has any connections to the apps, websites, and companies identified in the overall fake traffic scheme.
“Please be advised that my client categorically denies these very serious and false allegations, which if published, would cause tremendous harm to it,” the letter, from Harder LLP, said. “Fly Apps’ applications are loved by many, and have a significant amount of users. Fly Apps is a reputable application developer, which has long been supported by advertising partners and advertising verification companies.”
The letter, which can be read in full here, omitted any reference to AdNet Express and instead blamed the fraud revealed by Pixalate on an unnamed third party that provided a "corrupted" software development kit. It did not address the fact that Protected Media detected fake traffic in many of these apps and websites beginning more than a year ago.
A subsequent set of questions from BuzzFeed News asked Fly Apps to comment on the fact that Google removed advertising accounts associated with websites and apps it found had received high levels of fraudulent traffic. The company, speaking through its lawyer, acknowledged that Google was recently in touch with Fly Apps about its account(s).
"A few days ago, Fly Apps received a Google notification concerning an issue with Adsense and is in the process of trying to obtain further information. Fly Apps is confident that it will resolve this issue in due time and notes that the Google notification did not mention any issues regarding bad traffic," said an emailed statement.
BuzzFeed also asked the company to comment on the fact many websites connected to the scheme went offline after Fly Apps learned of BuzzFeed Newsʼ interest, and many apps in the scheme have since been removed from the Play store by Google.
"Fly Apps cannot comment on applications and websites, online or offline, that are not related to Fly Apps," it said.
Here’s a breakdown of how a group of partners leveraged technical knowledge and connections within the advertising ecosystem, a network of shell companies with fake employee profiles, an army of bots, and more than 100 apps and websites to operate a scheme that an insider says stole hundreds of millions of dollars.
The first step to creating convincing fake traffic for this scheme is to acquire Android apps used by actual human users. The fraudsters study the behavior of the users and then create bots — automated computer programs — that mimic the same actions. The bots are loaded onto servers that contain specialized software that enables the bots to generate traffic within the specific apps.
In the case of websites in the scheme, the bots visit them using virtual web browsers that help present this traffic as human. In both cases, the fake traffic generates ad views, which in turn earns revenue.
The blending of real humans with bots helps defeat systems built to detect fake traffic, because the real traffic and fake traffic look almost exactly the same.
“These bots are unique to this operation, mimicking real user behavior. The traffic is therefore a mix of real users inside a real app, and fake traffic,” said Greiner of Protected Media. (Googleʼs investigation also found that some of the fake traffic directed to properties in the scheme came from a botnet called "TechSnab.")
“It’s clear to us that the people orchestrating this scheme are both familiar with the ad tech industry and with the mainstream data science approach to detecting ad fraud,” he said.
Anatot previously ran a company, Install Labs LTD, that distributed adware and other software classified as “potentially unwanted programs” (PUP) by security and anti-virus firms due to them causing frustration for users, and often installing other programs without permission. He’s also an investor in Montiera, another company that distributed software classified as PUP. Like the Android apps and websites in this scheme, these PUP offerings relied on digital advertising to generate revenue.
Reinel and Porzelt previously ran a German hosting and server administration company called hostimpact.de. Between those three, they possess the background in advertising and server management necessary for this scheme.
It’s unclear what Iron did prior to Fly Apps, though as detailed below he is part owner of a Serbian company that develops mobile apps for Android, as well as other web products.
The scheme began to unravel this summer when data scientists at Pixalate detected something alarming in an Android app called MegaCast. The app’s pitch was that it enabled a user to play any video, regardless of format, on a streaming device. But behind the scenes, MegaCast was pretending to be something it wasn’t.
Pixalate found that MegaCast was at times displaying the unique ID of other apps in order to attract bids for ads. This meant ad buyers thought they were, for example, buying ads in the far more popular EverythingMe app when in reality they were showing up in MegaCast. (This is called “spoofing,” because MegaCast was pretending to be other apps.)
Pixalate identified roughly 60 apps being spoofed by MegaCast and estimated this one scheme could generate $75 million per year in fraudulent ad revenue. It documented ads from major brands such as Disney, L’Oréal, Facebook, Volvo, and Lyft being fraudulently displayed.
Pixalate revealed its findings in a June blog post, and MegaCast was soon removed from the Google Play store.
Fly Apps told BuzzFeed News that MegaCast was a victim of the spoofing scheme, and that it removed the app from the Play store because "its reputation has unfortunately been tarnished by recent events. Fly Apps will be creating a new and improved casting application."
Soon after Pixalate went public with its findings, an email arrived in its inbox from an email address at Mobilytics.org, an analytics company that helped facilitate the MegaCast fraud. (It was used to track how much money was being earned from ads placed with each spoofed app ID.)
“This email is directed to the top management team of Pixalate. For the obvious reasons, my name is not relevant now,” read the email.
The person offered to share their inside knowledge to fully expose the scheme and reveal how big it really is.
“I will explain you the technologies to create traffic on android, how to distribute it, how to sell the created traffic, the business structures needed, but most of all how to partner with the biggest partners to ensure the ongoing flow of advertisers and money,” the email said. (Contrary to what Anatot and Fly Apps claimed, this inside source said nothing about fraudulent app installs or a corrupted software development kit.)
“And by the way,” the message said, “your estimation of $75 [million]accumulated damage is probably 10% of the real numbers. But that just explains how unaware or just cooperative the industry is with this growing ‘business.’”
Pixalate replied to ask for more information, but never heard back. Soon, all replies to the email bounced back as a result of Mobilytics’s website being taken offline.
By then, BuzzFeed News had begun its own investigation of the ownership information and other details related to the spoofed apps. This dive into corporate records, domain registration information, DNS data, and other publicly available sources led to a startling conclusion: Rather than being victims of the MegaCast spoofing, the apps were all connected and therefore part of the same scheme. This aligned with what the anonymous Mobilytics employee hinted at. Protected Media’s subsequent discovery of the fake traffic generated by bots also confirmed what the source said.
Ultimately, this information led to the group of four men operating Fly Apps, which owns MegaCast, EverythingMe, and other applications.
Back in 2015, EverythingMe was one of the most promising Android apps in the Play store. It won a Webby Award, was featured by Google, amassed more than 10 million downloads, and raised more than $35 million in venture capital. EverythingMe is a “launcher” that helps organize apps and contacts, and surfaces relevant information based on when you’re using your phone.
In spite of its success, at the end of 2015, the company that created it announced it was shutting down and soon removed EverythingMe from availability. Without a hot startup behind it, the app was largely forgotten.
In 2016, the app was quietly sold to a new owner, according to a former EverythingMe executive who asked not to be named or quoted. They declined to say who bought it, citing a nondisclosure agreement. In early 2017 the EverythingMe Twitter account briefly sprung to life to tweet that “EverythingMe is back!” and promote a download link.
As of today, EverythingMe is the property of Fly Apps. On LinkedIn, Anatot, an Israeli, lists himself as CEO of EverythingMe. Corporate ownership records confirm that Anatot owns 25% of Fly Apps, along with three other men who each own the same share: Thomas Porzelt and Felix Reinel, two Germans; and Michael Arie Iron, an Israeli.
After hearing that a BuzzFeed News reporter was looking into his company, Anatot reached out by email: “I understand that you are looking into mobile apps advertising and assumed very wrong conclusions about me, my company and my partners.”
In a subsequent WhatsApp chat Anatot blamed the fraud detected by Pixalate on AdNet Express, a company that may not exist. He also downplayed his role and ownership stake in Fly Apps.
“My holiding [sic]in fly apps is private matter, but I can tell you that Iʼm a far minority holder,” he said, omitting the fact that he owns the same share as his three partners.
Anatot said that after he acquired EverythingMe, “Fly apps teamed up with me to supply the tech team and financing.” He said he does not have oversight of other Fly Apps products.
But additional details connect Anatot in other ways to at least one of his Fly Apps partners. Anatot runs a company called TinTin Consulting that serves as his vehicle for investing in companies. His list of portfolio companies was removed from TinTin’s website after Anatot learned of BuzzFeed News’ interest in him. But before it was scrubbed, the site listed the Serbian-based mobile apps and software development company Kudos as one of his investments. Maltese corporate records show Anatot’s partner Iron owns 49% of that company.
Milos Kovacki, the founder and COO of Kudos, told BuzzFeed News the company never worked with Fly Apps or any of the shell companies involved in the scheme. But the LinkedIn profiles of two Kudos employees detail their work on MegaCast, the Fly Apps Android app that Pixalate found to be at the center of the spoofing scheme. Kovacki did not respond to subsequent questions.
BuzzFeed News also found multiple connections linking Fly Apps to other companies, websites, and apps in the ad fraud operation.
The Play store pages for EverythingMe, Restaurant Finder, and MegaCast all list the Malta address used by Fly Apps. That same address was also listed on the website of Mobilytics, the company that was central to the initial fraud discovered by Pixalate.
The letter from Fly Apps’ lawyer noted that this address is for a corporate registration agent in Malta, not an actual business office. However, a Google search for the address the exact way it’s written on these pages almost exclusively brings up results connected to apps owned by Fly Apps. That initial connection is not conclusive on its own, but quickly combines with others.
A key connector between Fly Apps and properties in the scheme is the email address firstname.lastname@example.org. It was used to register the domain names for the websites of Fly Apps properties EverythingMe and Restaurant Finder. And it’s also the email address used to register the websites for 15 other apps implicated in the scheme, which in turn connect to eight shell companies.
A third connection between Anatot/FlyApps and companies or properties in the scheme is the MegaCast app. Anatot acknowledged to BuzzFeed News that MegaCast is owned by Fly Apps. But the since-removed MegaCast website listed a Bulgarian company called Messamta Project as its developer. Messamta’s corporate records list a Bulgarian address used by more than a dozen other apps in the scheme. It’s also the corporate registration address used by three additional Bulgarian shell companies that were publicly listed as the owners of these apps and websites: Osipo/Osypo, Ventus Trading, and Rasolant. As with the Malta address, it appears to be almost exclusively associated with companies and apps involved in the scheme.
Fly Apps’ lawyer argued this was simply another case of their client using the same service providers as other companies. However, the websites for Osypo and Rasolant were both taken offline after BuzzFeed News began communicating with Anatot. And as detailed below, there is overwhelming evidence that these and other related companies are nothing more than shells created to help execute the fraud scheme.
The Fly Apps website itself also provides a fourth connection. Its design and some of its text is a carbon copy of the website Loocrum.com, which describes itself as a mobile apps monetization platform. The code for the Fly Apps site even includes a reference to Loocrum, showing that at least some of its code was literally copied from that site.
The Loocrum website was registered last year by a person named Petar Popovich with the email address email@example.com. That email address was also used to register the domain names of two shell companies involved in the scheme, Quaret and Visont. Petar Popovich is also the name of the Serbian citizen who registered Bulgarian shell companies in the scheme. (An email sent to that address went unanswered.)
A final connection of note is that the Restaurant Finder app, which belongs to Fly Apps, was removed from the Play store after Google began taking action against apps it determined had received fraudulent traffic as part of this scheme.
After Steven Schoen sold his app, Emoji Switcher, to We Purchase Apps, the new owner created a website for it, emojiswitcher.com. And just like the websites for EverythingMe and Restaurant Finder, that domain was originally registered to a “Jacob Lorentsen” of London using the email address firstname.lastname@example.org. (An email sent to that address did not receive a reply.)
That same registration information appears in the whois records for 19 other domain names associated with Android apps in this scheme. These apps list at least eight different companies as their owner or developer: Lyrman, Osypo, Fly Apps, Morrum, Visont, Imoderatus, AEY Solutions, and Rasolant. And these companies in turn list addresses in Serbia, Cyprus, Latvia, Bulgaria, and Russia.
That single domain registration email address connects a web of apps and shell companies to one another, as well as directly to Fly Apps:
Another key connection between multiple apps and companies is the address in Bulgaria linked to Messamta Project. It appears in the Play store pages for 21 apps spread out among four companies.
Along with being the corporate address of Messamta, it shows up in records for Rasolant, which is publicly listed as the owner of 12 other apps involved in the spoofing attack first identified by Pixalate, as well as seven related websites identified by BuzzFeed News.
Osypo, which also uses the same Bulgaria address, is listed as the developer of four apps in the Play store that are part of the scheme. The company’s website, which like several others was deleted after BuzzFeed News began making inquiries, lists an additional seven apps in the scheme.
This single address connects multiple companies, apps, and websites, which again connect back to Fly Apps:
Other connections abound. For example, the Android game Surprise Eggs - Kids Game has a listing in the Play store that says it’s developed by a company called Visont, and the app’s website says the same. However, the domain registration information for the appʼs site lists its owner as Quaret Digital, a separate company that itself is the owner of 10 websites participating in the scheme. Its website was taken offline after BuzzFeed News began inquiries, but can be viewed here. (Visont’s website was also removed late last week. It was registered last year using the email address email@example.com.)
On LinkedIn, at least one of Quaret’s purported employees uses a profile stolen from actor and Instagram influencer Sarah Ellen.
The domain registration and other technical details of the website for Surprise Eggs offer additional connections. The site uses an SSL certificate registered to the website TrackMyShows.tv. Track My Shows is an Android app in the scheme that has a website registered to firstname.lastname@example.org. (An SSL certificate is used to certify the identity of a website being loaded in a web browser, and it also helps ensure a secure connection for the user. Websites typically to use a certificate connected to their specific domain, but sometimes site owners reuse a certificate across multiple properties.)
More than 15 additional websites involved in the scheme reused the same TrackMyShows.tv SSL certificate. Those apps claim to be owned by companies named Imoderatus, Morrum, Mout, AEY Solutions, Quaret Digital, Visont, and Rasolant, respectively. All of these seemingly separate apps/websites, belonging to different companies, are also hosted on the same server. As of this writing, 13 of the apps were recently removed from the Play store, likely as a result of Googleʼs ongoing investigation.
In its legal letter, Fly Apps explained all of these connections by saying they “are the practical result from application developers using the same pool of common service providers within a specific industry.”
“They are not the result of any illicit conduct by Fly Apps in developing and setting up an intricate web of malicious applications to create fake traffic and steal hundreds of millions of dollar in advertising revenue,” it added.
The technical elements of the apps provide more connections and evidence that they’re developed and managed centrally.
BuzzFeed News provided a list of apps to Armando Orozco, a senior malware intelligence analyst at Malwarebytes. He examined a sample of 13 belonging to different shell companies and found they “seem to be built in the same manner and mostly have the same ad sdk’s bundled in them — likely from the same developers/gang just submitting under different names.” (Ad SDKs, or software development kits, are programming libraries that enable an app to run specific types of ads in order to earn revenue. This means these apps were all using the same types of ads and ad providers to make money.)
He also examined EverythingMe, the Fly Apps application, and found it had the same unique ad identification code as other apps, and said it contained “very similar code chunks and strings.”
An additional connection between Fly Apps applications and the apps operated by shell companies can be found on their Play store pages. These supposedly separate developers repeatedly used the exact same phrase in response to user complaints about intrusive or overloaded ads: “we are trying to find the balance between clean user experience and funding our project!”
It’s used by Fly Apps to respond to complaints about EverythingMe and MegaCast. And it’s used to respond to complaints about apps in the scheme including Track My Shows, Cat Rescue Puzzles, Surprise Eggs - Kids Game, Pix UI Icon Pack 2 - Free Pixel Icon Pack, Surprise Eggs Vending Machine, and Twist Your Fingers, among others.
In some cases, the websites of shell companies used in the scheme list the names and photos of employees, and link to LinkedIn profiles for them. But BuzzFeed News found multiple cases where stock photos were used for employees’ pictures. In other cases, searches for employee names only turn up results related to the companies, suggesting they are made-up names. Multiple shell company websites also reuse the same marketing text, word for word.
One Bulgarian company called Atoses Digital says on its website that it’s the developer of sites in the scheme including scandalcity.tv, webarena.tv, healthtube.info, and dailydally.tv. (It also claims to have worked on Glam, a once-hot fashion website that was sold last summer.)
The Atoses site lists eight employees, but BuzzFeed News found that at least half of the headshots are taken from stock image websites. The LinkedIn profiles of those employees list no employment or education experience other than their work at Atoses.
Many shell company sites also feature fake customer testimonials. The website for a company called TapTapVideo claims it helps monetize MegaCast, Twist Your Fingers, and Smart Voice Assistant, three apps found in the scheme. Its site includes customer testimonials, one of which is from a woman named “Gabriella Byrd.” The photo used for her is, in fact, a picture of a UX designer named Kristi Grassi.
“Yes, Iʼm aware this photo seems to be used all over,” Grassi told BuzzFeed News in an email after being alerted to its presence on the site. Grassi said her photo was uploaded to a site that allowed designers to use it in mock-ups. Since then it has been misused by others.
Similarly, Osypo’s since-removed website had three customer testimonials, but BuzzFeed News could not locate any information about the people and companies cited. (The site also uses a stock photo to represent its office.)
Along with fake employees and customers, the companies recycle the same text on their homepages. Kheus, Immoderatus, and Visont all say, “Before we start development process, we need to research subjects of the project, your competitors, the target audience of the project. Our research results in technical requirements and wireframes, determined together with the customer.”
The websites for Visont, Ellut, and Morrum say, “To meet your campaign objectives, our technology suite includes all forms of targeting including re-marketing, contextual, behavioral, geographic and dayparting.”
Osypo and Morrum also have identical text, including the statement that they provide “website development services that meet all your needs and are tailored according to the peculiarities of your business field.”
Along with Android apps, BuzzFeed News identified more than 35 websites connected to the shell companies. Protected Media and Pixalate both found evidence of fraudulent traffic on a selection of the sites.
The vast majority of these websites present themselves as video content providers in lucrative verticals such as fashion, sports, or celebrity news. Many use the .tv domain suffix to reinforce their focus on video.
But the websites themselves rarely update their content and some displayed the same videos. Another sign that they’re empty vessels for fake traffic is the fact that the same sentence — “We deliver our services to to over 4 million households with set top boxes, and providing mobile video services that reach over 10 million subscribers” — is found on the About page of more than 20 sites in the scheme.
Two other sites in the scheme, 24gossip.net and topstories.fun, copied their About page text from the website Gossip Cop, a celebrity fact-checking website. (Both of those URLs were registered using an email address connected to Rasolant, while their websites publicly list the owner as Quaret Digital, further demonstrating how the shell companies are intertwined.)
Almost all of the websites listed in BuzzFeed News’ email to Anatot have since been taken offline.
A final sign that they’re fraudulent properties was noticed by Ian Trider, the director of real-time bidding operations for Centro, a platform used by brands and agencies to buy digital ads.
He told BuzzFeed News he banned several Quaret properties last year after noticing they included instructions in their website code that would stop Google from indexing the sites. This would have prevented the sites from attracting traffic from search. Less traffic means less revenue, so no legitimate ad-supported website would want that.
“Asking search engines to avoid indexing your site is not something you normally do as a for-profit publisher. You want the public to visit so you can make money through advertising," Trider said.
But search traffic seems less important when you can simply fabricate an audience. ●
1. http://wepurchaseapps.com/" target="_blank">https://web.archive.org/web/20181016170654/http://wepurchaseapps.com/
11. http://adnetexpress.net/?utm_source=Thalamus.co&utm_medium=AdVendorPage&utm_content=https://www.thalamus.co/ad_partners/adnetexpress" target="_blank">https://web.archive.org/web/20181011181907/http://adnetexpress.net/?utm_source=Thalamus.co&utm_medium=AdVendorPage&utm_content=https://www.thalamus.co/ad_partners/adnetexpress
19. https://tintininvest.com/" target="_blank">https://web.archive.org/web/20180830020443/https://tintininvest.com/
20. https://tintininvest.com/" target="_blank">https://web.archive.org/web/20180830020443/https://tintininvest.com/
22. http://megacastplayer.com/" target="_blank">https://web.archive.org/web/20180805140503/http://megacastplayer.com/
24. http://loocrum.com/" target="_blank">https://web.archive.org/web/20181022122327/http://loocrum.com/
29. https://osypo.com/" target="_blank">https://web.archive.org/web/20180825124953/https://osypo.com/
30. http://morrumcorp.com/" target="_blank">https://web.archive.org/web/20181022122915/http://morrumcorp.com/
32. https://imoderatus.com/" target="_blank">https://web.archive.org/web/20181015224306/https://imoderatus.com/
34. https://osypo.com/" target="_blank">https://web.archive.org/web/20180919171128/https://osypo.com/
37. https://quaret-digital.com/" target="_blank">https://web.archive.org/web/20180829175452/https://quaret-digital.com/
43. http://taptapvideo.com/index.html" target="_blank">https://web.archive.org/web/20181015205442/http://taptapvideo.com/index.html
44. https://osypo.com/" target="_blank">https://web.archive.org/web/20180825124953/https://osypo.com/
46. https://kheus.com/" target="_blank">https://web.archive.org/web/20180816064534/https://kheus.com/
HackerNewsBot debug: Calculated post rank: 92 - Loop: 310 - Rank min: 80 - Author rank: 53
I wonder if the publishing industry has been more diverse in Japan that it has been in the USA.
Anyway, over the years I have collected a number of books for learning Emacs. There might be a way to pull together insights from these books for a book like The Schemer's Guide or How To Design Programs book…
- Thinking with Emacs:
- Why Emacs-as-a-second-language book?: