Recommendations for auto formatting block of text from TLDR API? - api

I'm using an API (TLDR) to use AI to provide a Human-like written summary of articles. The API pushes out unformatted text with no line breaks or paragraphs.
I'm looking for an online service (API) that can prettify / beautify the text and add meaningful paragraphs and line breaks.
Does anything like this exist or should I create my own service? Example text output below.
Six years after Yahoo purchased Tumblr for north of $1 billion, its
parent corporation is selling the once-dominant blogging platform.
WordPress owner Automattic Inc. has agreed to take the service off of
Verizon’s hands. Terms of the deal are undisclosed, but the number is
“nominal,” compared to its original asking price, per an article in
The Wall Street Journal.Axios is reporting that the asking price for
the platform is “well below $20 million,” a fraction of a fraction of
its 2013 price tag.Once the hottest game in town, the intervening
half-decade has been tough on Tumblr, as sites like Facebook,
Instagram, Reddit and the like have since left the platform in the
dust. More recently, a decision to ban porn from the platform has had
a marked negative impact on the service’s traffic. According to Sensor
Tower, first-time users for Tumblr’s mobile app declined 33%
year-over-year last quarter.“Tumblr is one of the Web’s most iconic
brands,” Automattic CEO Matt Mullenweg said of the news. “It is an
essential venue to share new ideas, cultures and experiences, helping
millions create and build communities around their shared interests.
We are excited to add it to our lineup, which already includes
WordPress.com, WooCommerce, Jetpack, Simplenote, Longreads, and
more.”The news certainly isn’t surprising. In May, it was reported
that Verizon was looking for a new owner for the site it inherited
through its acquisition of Yahoo. Tumblr was Yahoo’s largest
acquisition at the time, as then-CEO Marissa Mayer “promise[d] not to
screw it up” in a statement made at the time.Tumblr proved not to be a
great fit for Yahoo — and even less so Verizon, which rolled the
platform into its short-lived Oath business and later the Verizon
Media Group (also TechCrunch’s umbrella company). On the face of it,
at least, Automattic seems a much better match. The company runs
WordPress.com, one of the internet’s most popular publishing tools,
along with Jetpack and Simplenote. As part of the deal, the company
will take on 200 Tumblr staffers.“We couldn’t be more excited to be
joining a team that has a similar mission. Many of you know
WordPress.com, Automattic’s flagship product. WordPress.com and Tumblr
were both early pioneers among blogging platforms,” Tumblr fittingly
wrote in a blog post. “Automattic shares our vision to build
passionate communities around shared interests and to democratize
publishing so that anyone with a story can tell it, especially when
they come from under-heard voices and marginalized
communities.”.“Today’s announcement is the culmination of a
thoughtful, thorough and strategic process,” Verizon Media CEO Guru
Gowrappan said in a statement. “Tumblr is a marquee brand that has
started movements, allowed for true identities to blossom and become
home to many creative communities and fandoms. We are proud of what
the team has accomplished and are happy to have found the perfect
partner in Automattic, whose expertise and track record will unlock
new and exciting possibilities for Tumblr and its users.
Thanks
Jonathan

Related

How to test communicator (video, sound, microphone) implemented by using WebRTC

On my current job, we are developing an application that uses WebRTC technology.
And we want to test the work of our application with 30 users in real time -- a conference call with video, sound, and microphone (and everything must work). We know that we can do it by real users (real users connected to our application).
Question is: How to test our requirement if we don't have such a number of real persons? Maybe exists some tool for that.
Thanks.
You'll need a Selenium Grid.
And you'll need to build the automation part on your own on top of it.
Alternatively, you can check out https://testrtc.com -- it enables automating 100's of browsers and more with a focus on WebRTC based services.
I am the co-founder, so take this with a grain of salt
That said, I am not aware of any other commercial tool or otherwise that makes this as simple and straightforward
You have two peer-reviewed IEEE scientific articles that were written on WebRTC testing state of the art this year. They both list and compare several solutions including but not limited to testRTC cited in the other answer.
On July 2017, "WebRTC Testing: Challenges and Practical Solutions" was published in an IEEE venue by the Kurento / Twilio team, and lead by the Spanish researchers that did not join Twilio but went on to start ElasTest, a millions-Euros, EU-funded project that looks very promising but is still in alpha stage.
http://ieeexplore.ieee.org/document/7992926/.
On September 2017, "Real-time communication testing evolution with WebRTC 1.0" was published in Principles, systems and Applications of IP Telecommunication by the CoSMo team behind the original Temasys infrastructure, the symphony solution, and the new Google Testing Engine (KITE). It is a full paper about the state of the art Before google decided to go for KITE, and include a thorough review of all possible testing layers, and existing solutions. There are many solutions to do what you want today. If you need an on-premise solution, and/or test mobile browser, and/or test native apps, IoT, ... AFAIK testRTC.com will not help you, however good for other aspects.
http://ieeexplore.ieee.org/document/8169751/.
You might want to read both articles, and citation therein before you make your choice.
Disclaimer: I am the original author of that last publication.

Transfer mobile phone credits API

I am planning on using Twilio to conduct surveys over SMS and IVR. The surveys will assess food security risk, and will be primarily conducted in African countries.
In order to reimburse the cost of airtime, and to incentivize respondents, I would like to transfer a small amount of credit ($0.50) upon completion of the survey.
I've found a couple of websites that support this sort of transfer, http://www.digicallingcards.com/, and http://www.transfertpays.com/en/, but (as far as I can tell) they don't offer programmatic access.
Does Twilio support this? Or is there another API that supports this kind of transaction?
I work for Twilio and this is not something we currently provide.
When working with this kind of thing (mainly with charities etc) I see people use the concept of 'flashing'.
This is a well known concept in Africa, so it is worth considering. The idea is that you publish a number that people can ring. They then hang up when the phone rings but before it is answered - almost immediately. Your service or operators can then call that person back so they don't have to pay anything for the call!
May be worth looking at. Hope this helps!

How does a site like kayak.com aggregate content? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
Greetings,
I've been toying with an idea for a new project and was wondering if anyone has any idea on how a service like Kayak.com is able to aggregate data from so many sources so quickly and accurately. More specifically, do you think Kayak.com is interacting with APIs or are they crawling/scraping airline and hotel websites in order to fulfill user requests? I know there isn't one right answer for this sort of thing but I'm curious to know what others think would be a good way to go about this. If it helps, pretend you are going to create kayak.com tomorrow ... where is your data coming from?
I'm working in travel industry as a software architect / project lead on the precisely kind of project you describe - in our region we work with suppliers directly, but for outgoing we connect to several aggregators.
To answer your question... some data you have, some you get in various ways, and some you have to torture and twist until it confesses.
What's your angle?
The questions you have to ask are... Do you want to sell advertising like Kayak or do you take a cut like Expedia? Are you into search or into selling travel services? Do you target niche (for example, just air travel) or everything (accommodation, airlines, rent-a-car, additional services like transport/sightseeing/conferences etc)? Do you target region (US or part of US) or the world? How deep do you go - do you just show several sites on a single screen, or do you bundle different services together and package them dynamically?
Getting the data
If you're going with Kayak business model, you technically don't need site's permission... but a lot of sites have affiliate programs with IFrames or other simple ways to direct the customer to their site. On the plus side, you don't have to deal with payments/complaints and travelers themselves. As for the cons... if you want to compare prices yourself and present the cheapest option to the user, you'll have to integrate on a deeper level, and that means APIs and web scraping.
As for web scraping... avoid it. It sucks. Really. Just don't do it. Trust me on this one. For example, some things like lowcosters you can't get without web scraping. Low cost airlines live from value added services. If the user doesn't see their website, they don't sell extra stuff, and they don't earn anything. Therefore, they don't have affiliates, they don't offer APIs, and they change their site layout almost constantly. However, there are companies which earn a living by web scraping lowcoster's sites and wrapping them into nice APIs. If you can afford them, you can give your users cost-comparison of low cost flights and that's huge.
On the other hand, there are "normal" carriers which offer APIs. It's not that big of a problem to get to airlines since they're all united under IATA; basically, you buy from IATA, and IATA distributes the money to carriers. However, you probably don't want to connect directly to carrier network. They have web services and SOAP these days, but believe me when I say that there are SOAP protocols which are just an insanely thin wrappers around a text prompt through which you can interact with a mainframe with an 80es-style protocol (think of a Unix prompt where you're billed per command; and it takes about 20 commands to do one search). That's why you probably want to connect to somebody a bit more down the food chain, with a better API.
Airlines are thus on both extremes of Gaussian curve; on one side are individual suppliers, and on the other highly centralized systems where you implement one API and you're able to fly anywhere in the world. Accommodation and the rest of travel products are in between. There are several big players which aggregate hotels, and a ton of small suppliers with a lot of aggregators which cover only part of a spectrum. For example, you can rent a lighthouse and it's even not that expensive - but you won't be able to compare the prices of different lighthouses in one place.
If you're into Kayak business model, you'll probably end up scraping websites. If you're into integrating different providers, you'll often work with APIs, some of which are pretty good, and most of which are tolerable. I haven't worked with RSS but there's not a lot of difference between RSS and web scraping. There is also a fourth option not mentioned in Jeff's answer... the one where you get your data nightly, for example .CSV files through FTP and similar.
Life sucks (mini-rant)
And then there's complexity. The more value you want to add, the more complexity you'll have to handle. Can you search accommodations which allow pets? For a hostel which is located less than 5 km from the town center? Are you combining flights, and are you able to guarantee that the traveler will have enough time to get from one airport to another... can you sell the transport in advance? A famous cellist doesn't want to part from his precious 18th century cello; can you sell him another seat for the cello (yep, not making this one up)?
Want to compare prices? Sure, the room is EUR 30 per night. But you can either get one double for 30 and one single for 20, or you can get one extra bed in a double and get 70% off for third person. But only if it's a child under 12 years of age; our extra beds are not for adults. And you don't get the price for extra bed in search results - only when you calculate the final price.
And don't even get me started on dynamic packaging. Want to sell accommodation + rent-a-car? No problem; integrate with two different providers, and off you go... manually updating list of locations in the city (from rent-a-car provider) to match with hotels (from accommodation provider, who gives you only the city for each hotel). Of course, provided that you've already matched the list of cities from the two, since there is no international standard for city codes.
Unlike a lot of other industries which have many products, travel industry has many very complex products. Amazon has it easy; selling books and selling potatoes, it's the same thing; you can even ship them in the same box. They combine easily and aren't assembled from many parts. :)
P.S. Linking to an interesting recent thread on Hacker News with some insider info regarding flights.
P.P.S. Recently stumbled on a great albeit rather old blogpost on IATA's NDC protocol with overview of how travel industry is connected and a history lesson how this came to be.
They use a software package like ITA Software, which is one of the companies Google is in the process of picking up.
Only 3 ways I know of to get data from websites.
RSS Feeds - We use rss feeds a lot at my company to integrate existing site's data with our apps. It's fast and most sites already have an RSS feed available. The problem with this is not all sites implement the RSS standard properly so if you're pulling data from many RSS feeds across many sites then make sure you write your code so that you can add exceptions and filters easily.
APIs - These are nice if they are designed well and have all the information you need, however that's not always the case, plus if the sites are not using a standard api format then you'll have to support multiple API's.
Web Scraping - This method would be the most unreliable as well as the most expensive to maintain. But if you're left with nothing else it can be done.
This article says that Kayak was asked to stop scrapping a certain airlines page. That leads me to believe that they probably do scraping on sites that they don't have a relationship with (and a data feed that comes with that relationship).
Travelport offer a product called "Universal API" which connects to flights and hotels and car rental companies and copes with package deals and all the various complexities to do with taxes and exchange rates:
https://developer.travelport.com/app/developer-network/resource-centre-uapi
I've just started using it and it seems fine so far. The queries are a little slow, but then so is every query on every OTA (Online travel agent)'s site.
There's two good APIs I've found from flight comparison websites recently
There's one from Wego, and one from Skyscanner. Both seem to have a good range and breadth of data from a number of airlines and good documentation too.
Wego pays each time a user clicks from your app to a booking website and Skyscanner pay affiliates 50% of 'revenue' (I assume that means the commission they make from airlines)
This is an old post but I thought I'd just add. I'm a data architect who works for a company that feeds these travel sites with content. This company enters into contracts with many hotel brands, individual hotels and other content providers. We aggregate this information then pass it onto the different channels. They then aggregate again in to their system.
The Large GDS systems are also content providers.
Aggregation is done by many methods... matching algorithms(in-house) and keys. Being an aggregation service, we need to communicate on the client level.
Hope this helps! cheers!

What is the preferred process for sellling a personal project/product? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 8 years ago.
Improve this question
I have begun work on a personal project that may end up having some real-world applicability. I am beginning to entertain the idea of selling licenses. I am sure some others here have done this before, and I was wondering what successfully processes you've used to do so.
There are many questions on SO regarding licensing, legal implications, etc. However, I have looked around and could not find a duplicate question for this one. To be clear, I am not looking for information on what licensing strategy to use, how to advertise your software, and so forth, but rather, for a checklist of things that should be done to increase the probability of success, and any possible gotchas I have not thought of. If anyone has any personal success stories, they would be very welcome.
For a little background, I am set on the idea of licensing a closed-source, compiled .NET DLL.
A few things off the top of my head:
Strong documentation, because formal technical support is unlikely
Specifying licensing terms and formalizing them with an attorney
Code obfuscation
Exploring license enforcement (either using a commercial package or custom code)
Building a website around the product, including real-world code examples since this is a library
Possibly offering some type of beta period, for feedback and getting the name out a bit
Offering instant/automated purchases
Marketing (oh boy)
Is it necessary (or wise) to start a one-man company to do this?
I will keep this list updated as answers come in. Thanks all!
Some tips:
Obfuscation: Be wary of obfuscating everything. An alternative is to obfuscate just the critical bits (licensing, premium features). The problem with obfuscating everything is that stack traces from error reports are ineffective. When an unexpected exception is caught, you'll want to give the user the option of automatically reporting its details - this really helps with QC.
License enforcement: If it's a utility that can be easily pirated, people WILL pirate it. An activations-based licensing system is ideal - and if it's not too draconian people will be less motivated to circumvent it. For instance, allow at least 3 activations per user (home computer, work computer, laptop). If it's a control library, then an activation-based may not be required - baking the serial number into the library may be enough because customers are unlikely to build their own product on a stolen assembly.
Instant/automated purchases: writing a custom licensing server and web page for this is fairly easy - you need only about 3 tables. LINQ to SQL is ideal for this sort of thing. For the payment gateway, I use PayPal - it's very easy to set up, has the features you need for selling activation codes, and allows multiple currencies. If you use PayPal, enable both PDT and IPN so you can give customers their activation codes both on the screen and via e-mail.
Marketing: try LOTS of things simultaneously - because it's hard to predict the success of any campaign. Especially without experience! Making yourself known amongst the influential people in the field into which you're selling can work very well.
Advertising: advertise on StackOverflow - that's what I'm doing! Google ad words is also worth trying because it's so cheap to set up - you'll know after spending $10 whether it will be effective for you or not.
And good luck with it!
You have most of the practical things listed out, in terms of actually getting a product from you to the customer -
However, there are a couple of things I'd also recommend.
Figure out how you want to handle all of your accounting/purchasing/billing/etc.
Rethink formal technical support (for money), but not at the exclusion of documentation
Talk to a lawyer regarding all of your licensing decisions, agreements, etc., as well as company structure
Talk to your accountant (and/or find one who is good at working with small tech companies)
Some of this will cost some money up front, but save headaches later.
The last two bullets are crutial - there are MANY options for how to setup yourself from a tax perspective, each of which has potential advantages and disadvantages depending on your specific situation.
For example, if you're in the US, there are many advantages to incorporation prior to doing anything on your checklist. If you decide to incorporate, you may want to do it in your state, but there are also advantages to incorporating in Nevada or New Jersey (very pro-corporate states legally). If you're successful, doing this early can save a huge amount of work over time and have significant benefits.
Also, if you incorportate, you might want to consider S vs C corps (S Corps are great if you're a one or two man operation). If you don't incorporate, you can run as a sole proprietorship or an LLC, both of which have advnatages and disadvantages. A lot of this depends on your product (what it does), your expected returns, etc. - having a good lawyer and a good accountant is a huge blessing.
If you're aiming at software development teams as customers then the sort of thing they are likely to expect to see (in addition to the ones you listed) are:
A download service for any additional items and/or patches that the user might need.
Tight version control/configuration management processes so that it's easy to find out what version of the product they have, what they need and what the differences are between versions.
Email/online bug reporting.
A demo/trial version of the product.
A good set of tutorials.
Community support e.g. developer forums. This is a good 'value added' service that can also help with the fact that you have concerns (as a one man company) over being able to provide 'formal technical support'. Hand out a few badges and reputation scores and get a free technical support team ;) ... but if sales take off, seriously consider providing 'formal technical support', it can make a huge difference to the perception of the product.
... and make sure that the website, download service, license server, forums etc are all properly secured and done to a professional standard. If any of the peripheral services are less than 100% then it all reflects badly on the product, especially when yours is a technical one.
You might not want to provide formal technical support, but you could look for creative alternatives like some sort of moderated forum for issue resolution. Also, provide at least an email address for someone to contact you.
Another thing is to hire some sort of designer to make your product, documentation, website, etc look good. It is generally easy to tell programmers who attempt design.

Cheap places for MSDN Licenses

A similar question has been asked: MSDN subscriptions on the cheap?, but I am not interested in the solutions provided:
I am not developing a product for sale, I am starting up a consulting company, so Empower is not an option.
I have visited the links to MS regarding MSDN subscriptions and they do not point to a way to get an inexpensive copy.
I am not interested in suggestions that I become a MVP. Frankly, I'm desiring to focus on developing my company, not jumping through MS's hoops.
There are really only a few options available
Buy it at standard price
Become a Microsoft Certified Partner, and get a good discount (Actually much simpler than you would think, I did it in under 2 weeks for my business)
Find a MVP buddy that is willing to share a free giveaway
But in all reality, these are the ONLY legal options. You might also try calling Microsoft, you never know what might happen, they have many special programs that are not necessarily publicly advertised.
What you want is the Action Pack: https://partner.microsoft.com/US/40016455.
(Note, as an employee of Microsoft, I apologize that you have to LOG OUT of your LiveID to see this page if that LiveID is not already attached to a Registered Partner.)
You don't have to be certified to get access to this, just registered (there are three levels of partnership: 1. Registered, 2. Certified, 3. Gold Certified). You do have to pass a fairly simple assessment test, though.
See the pdf referenced at https://partner.microsoft.com/US/40082823 for an overview of the process.
One last thing - if you are a student (I suspect the OP is not), you can get many Microsoft tools free from http://www.dreamspark.com.
Surely your consultancy will need a website in ASP.NET and perhaps your clients would like a widget that talks directly to a web service on your site? There's your product.
Also, look into "Value added Services" amongst the Empower documentation.
I'm on the Empower program - there really aren't any barriers to entry, as such.
I used to go directly through MS, but nowadays, I always order mine through Xtras.net - they have good multi-year discounts and you manage the subscription online through Microsoft's site as normal.
Does Empower require that the 'main' use is developing a product?
You can always develop a product as well - doesn't have to be very sucessfull, perhaps something to display the time in a window?