Affirmed | What it does: Builds software to run mobile networks. Founder: Hassan Ahmed. Capital raised: $163 million. | |
Avant | What it does: Makes personal loans. Founders: Al Goldstein, John Sun, Paul Zhang. Capital raised: $1.4 billion ($334 million in equity) with current valuation of $875 million. | |
Beepi | What it does: Online used-car marketplace. Founders: Ale Resnik, Owen Savir. Capital raised: $79 million with valuation of $200 million. | |
Blue Apron | What it does: Subscription meal service. Founders: Matt Salzberg, Matthew Wadiak, Ilia Papas. Capital raised: $58 million with a reported $500 million valuation. | |
Cyanogen | What it does: Mobile operating system. Founders: Kirt McMaster, Steve Kondik. Capital raised: $110 million with a current valuation close to $1 billion. | |
Datastax | What it does: Database platform. Founders: Jonathan Ellis, Matt Pfeil. Capital raised: $190 million with valuation of over $830 million. | |
Deliveroo | What it does: Restaurant food delivery. Founders: Greg Orlowski, Will Shu. Capital raised: $30 million with a reported valuation of more than $100 million. | |
Docker | What it does: An open platform to build and run apps. Founder: Solomon Hykes. Capital raised: $150 million to date with a reported $1 billion valuation. | |
Doordash | What it does: Restaurant food delivery. Founders: Andy Fang, Stanley Tang, Tony Xu, Evan Charles. Capital raised: $60 million with a reported valuation of nearly $600 million. | |
Grand Rounds | What it does: Connects patients with medical specialists. Founders: Owen Tripp, Rusty Hofmann. Capital raised: $51 million. | |
Kreditech | What it does: Digital banking for the "unbanked." Founders: Sebastian Diemer, Alexander Graubner-Müller. Capital raised: $274 million with a current valuation of $190 million. | |
Lithium | What it does: Social customer management software. Founders: Matt Ayers, Mikey Yang, Kirk Yokomizo, Lyle Fong, John Joh. Capital raised: $160 million. | |
Mixpanel | What it does: Analytics software. Founders: Suhail Doshi, Tim Trefren. Capital raised: $77 million with a valuation of $865 million. | |
Orchard Platform | What it does: Analytics platform for peer-to-peer lending. Founders: Matt Burton, Jonathan Kelfer, Angela Ceresnie, David Snitkof. Capital raised: $14.7 million. | |
Raise | What it does: Marketplace for unused gift cards. Founders: George Bousis, Bradley Wasz. Capital raised: $87 million with an estimated $500 million valuation. | |
Redfin | What it does: Online real estate marketplace. Founder: David Eraker. Capital raised: $166 million with an estimated $500 million valuation. | |
SimpliVity | What it does: Sells data-center hardware, aggregating components normally sold separately. Founder: Doron Kempel. Capital raised: $276 million with a valuation of more than $1 billion. | |
Skyhigh Networks | What it does: Cloud security. Founders: Rajiv Gupta, Sekhar Sarukkai, Kaushik Narayan. Capital raised: $66.5 million. | |
Social Finance | What it does: Student loan refinancing, personal loans and mortgages. Founders: Mike Cagney, Daniel Macklin, James Finnigan, Ian Brady. Capital raised: $414 million with a current valuation of $1.3 billion. | |
Tanium | What it does: Cybersecurity platform Founders: David and Orion Hindawi Capital raised: $142 million. | |
Teespring | What it does: E-commerce platform. Founders: Walker Williams, Evan Stites-Clayton. Capital raised: $55 million. | |
Thumbtack | What it does: Service-listings marketplace. Founders: Marco Zappacosta, Jonathan Swanson, Sander Daniels. Capital raised: $150 million invested. | |
Viptela | What it does: Network architecture. Founders: Amir Khan, Khalid Raza. Capital raised: $33.5 million with a valuation of more than $500 million. | |
Wish | What it does: Mobile shopping platform. Founders: Danny Zhang, Peter Szulczewski. Capital raised: $78.7 million. | |
Zenefits | What it does: Sells health insurance and offers h.r. software to small businesses. Founders: Parker Conrad, Laks Srini. Capital raised: $84 million with a current valuation of $500 million. |
Sunday, April 26, 2015
Best start-ups...
Monday, January 5, 2015
Gartner predictions
By 2018, more than 25 million head-mounted displays (HMDs) will have been sold as immersive devices and virtual worlds will have transitioned from the fringe to the mainstream.
By 2016, biometric sensors will be featured in 40 percent of smartphones shipped to end users.
Through 2017, one-third of consumers in emerging markets will have never owned a Windows device.
http://www.gartner.com/newsroom/id/2941317
By 2018, digital business will require 50 percent less business process workers and 500 percent more key digital business jobs, compared with traditional models.
Near-Term Flag: By year-end 2016, 50 percent of digital transformation initiatives will be unmanageable due to lack of portfolio management skills, leading to a measurable negative lost market share.
By 2017, a significant disruptive digital business will be launched that was conceived by a computer algorithm.
Near-Term Flag: Through 2015, the most highly valued initial public offerings (IPOs) will involve companies that combine digital markets with physical logistics to challenge pure physical legacy business ecosystems.
By 2018, the total cost of ownership for business operations will be reduced by 30 percent through smart machines and industrialized services.
Near-Term Flag: By 2015, there will be more than 40 vendors with commercially available managed services offerings leveraging smart machines and industrialized services.
By 2020, developed world life expectancy will increase by 0.5 years due to widespread adoption of wireless health monitoring technology.
Near-Term Flag: By 2017, costs for diabetic care are reduced by 10 percent through the use of smartphones.
By year-end 2016, more than $2 billion in online shopping will be performed exclusively by mobile digital assistants.
Near-Term Flag: By year-end 2015, mobile digital assistants will have taken on tactical mundane processes such as filling out names, addresses and credit card information.
By 2017, U.S. customers' mobile engagement behavior will drive mobile commerce revenue in the U.S. to 50 percent of U.S. digital commerce revenue.
Near-Term Flag: A renewed interest in mobile payment will arise in 2015, together with a significant increase in mobile commerce (due in part to the introduction of Apple Pay and similar efforts by competitors, such as Google increasing efforts to drive adoption of its NFC-enabled Google Wallet).
By 2017, 70 percent of successful digital business models will rely on deliberately unstable processes designed to shift as customer needs shift.
Near-Term Flag: By the end of 2015, five percent of global organizations will design "supermaneuverable" processes that provide competitive advantage.
By 2020, retail businesses that utilize targeted messaging in combination with internal positioning systems (IPS) will see a five percent increase in sales.
Near-Term Flag: By 2016, there will be an increase in the number of offers from retailers focused on customer location and the length of time in store.
http://www.gartner.com/newsroom/id/2866617
The top 10 strategic technology trends for 2015 are:
Computing Everywhere
3D Printing
Advanced, Pervasive and Invisible Analytics
Context-Rich Systems
Smart Machines
Cloud/Client Computing
Software-Defined Applications and Infrastructure
Web-Scale IT
Risk-Based Security and Self-Protection
http://www.gartner.com/newsroom/id/2867917
Also read this :
http://www.alibabaoglan.com/blog/gartners-technology-predictions-2014-2015-2016/
Tuesday, August 26, 2014
A Snowball
It was a cold winter evening. I was sitting on work next to my laptop and working In our team we had many talented persons but in that evening I had 2 extremely talented: a product manager and a data scientist – a Phd guy.I was working on some task then PM just asked me when I predict the feature will be done. I started thinking. Then a Phd guy joined the discussion and started explaining how complicated the task is…Actually I realized that the PM had no idea what the Phd guy was talking about. But he tried to be proactive in the discussion. And asked one more question .Well, he made the mistake of his life… a stream of math equations had been thrown to explain him what he was asking…and guess what! It absolutely hasn't explained the second question… Well , guess what happened then… The misunderstanding started rolling like a snowball. After 15 minutes of such a conversation both of them were totally tired with 0 understanding of each other…But what is terrible what both of them were absolutely sure that they understand and got conclusions.
Next day the PM had some meeting where he explained all
other conclusions of his yesterday’s conversation. I can summarize his
explanation like a "total wrong " (being very gentle here!) but the worst of all is that he mentioned that
the math guy told him this. On that moment the math guy was on day off and they
couldn't reach him to prove or disprove it. As a result – a snowball of crap
keeps rolling down… and other people start making their decision based on
totally wrong things.
And the main problem is that that’s the way it works .Not
only in that company.
The snowball grows and
the worst thing: it’s unpredictable. You never know when it starts and what
will be its impact.
So please…when you discuss – double check you understand
before you make some conclusions. And in
addition to what – double check the opponent understood your question. I know
it’s annoying. But that’s the only way ….
Friday, August 22, 2014
Java 8 Lambdas - examples
Group by and counting
List<String> strings = Arrays.asList("rami", "ida", "maya", "ida", "ida", "rami");
Map<String, Long> collect = strings.stream().collect(Collectors.groupingBy((e) -> e,Collectors.counting()));
Generate random numbers
ThreadLocalRandom.current().longs().mapToObj(Long::toHexString).limit(10).sorted()
Filter and count
PartitionBy
Map<Boolean, List<String>> collect1 = Arrays.asList("rami", "ida", "maya", "ida", "ida", "rami").stream().collect(Collectors.partitioningBy((x) -> x.startsWith("r")));
Result:
{false=[ida, maya, ida, ida], true=[rami, rami]}
List<String> strings = Arrays.asList("rami", "ida", "maya", "ida", "ida", "rami");
Map<String, Long> collect = strings.stream().collect(Collectors.groupingBy((e) -> e,Collectors.counting()));
Generate random numbers
ThreadLocalRandom.current().longs().mapToObj(Long::toHexString).limit(10).sorted()
Filter and count
long num = strList.stream().filter(x -> x.length()> 3).count();
PartitionBy
Map<Boolean, List<String>> collect1 = Arrays.asList("rami", "ida", "maya", "ida", "ida", "rami").stream().collect(Collectors.partitioningBy((x) -> x.startsWith("r")));
Result:
{false=[ida, maya, ida, ida], true=[rami, rami]}
Thursday, August 21, 2014
Java 8 Lambdas
First of all - have you ever asked yourself a question - why i need to create a Java Interface with 1 single method?
Hell! Why to create a file if the only thing i want is to create 1 single generic function!
If you did then you are absolutely right! There are many functional languages that spinning around that idiom .
So that's exactly that Java 8 did. They just defined thats kind of Generic interfaces and main of them are :
Interface name Arguments Returns Example
Predicate<T> T boolean Has this album been released yet?
Consumer<T> T void Printing out a value
Function<T,R> T R Get the name from an Artist object
Supplier<T> None T A factory method
UnaryOperator<T> T T Logical not (!)
BinaryOperator<T> (T, T) T Multiplying two numbers (*)
But that's no the end.
In order to provide us an option to write gentle code in already existing classes of the SDK
Stream API had been added
for example on a list you can now convert into stream and the proceed
Example :
long count = allArtists.stream().filter(artist -> artist.isFrom("London")).count();
And this gives us an option writing VERY short and gentle
Now we can create functions on the fly by only writing
()->do something
and pass it to some function
Examples:
Converting Stream to list:
Stream.of("a", "b", "c").collect(Collectors.toList());
Mapping ( transforming a collection)
List<String> collected = Stream.of("a", "b", "hello")
.map(string -> string.toUpperCase())
.collect(toList());
Filtering
Stream.of("a", "b", "hello")
.filter(value -> isDigit(value.charAt(0)))
.collect(toList());
flatMap
Is splitting every subelement to stream
Stream.of(asList(1, 2), asList(3, 4))
.flatMap(numbers -> numbers.stream())
.collect(toList());
Max and Min
Track shortestTrack = tracks.stream().min(Comparator.comparing(track -> track.getLength())).get();
Reducing
Stream.of(1, 2, 3)
.reduce(0, (acc, element) -> acc + element);
Combining actions together
album.getMusicians()
.filter(artist -> artist.getName().startsWith("The"))
.map(artist -> artist.getNationality())
.collect(toSet());
Great article to read
http://javarevisited.blogspot.co.il/2014/02/10-example-of-lambda-expressions-in-java8.html
Hell! Why to create a file if the only thing i want is to create 1 single generic function!
If you did then you are absolutely right! There are many functional languages that spinning around that idiom .
So that's exactly that Java 8 did. They just defined thats kind of Generic interfaces and main of them are :
Interface name Arguments Returns Example
Predicate<T> T boolean Has this album been released yet?
Consumer<T> T void Printing out a value
Function<T,R> T R Get the name from an Artist object
Supplier<T> None T A factory method
UnaryOperator<T> T T Logical not (!)
BinaryOperator<T> (T, T) T Multiplying two numbers (*)
But that's no the end.
In order to provide us an option to write gentle code in already existing classes of the SDK
Stream API had been added
for example on a list you can now convert into stream and the proceed
Example :
long count = allArtists.stream().filter(artist -> artist.isFrom("London")).count();
And this gives us an option writing VERY short and gentle
Now we can create functions on the fly by only writing
()->do something
and pass it to some function
Examples:
Converting Stream to list:
Stream.of("a", "b", "c").collect(Collectors.toList());
Mapping ( transforming a collection)
List<String> collected = Stream.of("a", "b", "hello")
.map(string -> string.toUpperCase())
.collect(toList());
Filtering
Stream.of("a", "b", "hello")
.filter(value -> isDigit(value.charAt(0)))
.collect(toList());
flatMap
Is splitting every subelement to stream
Stream.of(asList(1, 2), asList(3, 4))
.flatMap(numbers -> numbers.stream())
.collect(toList());
Max and Min
Track shortestTrack = tracks.stream().min(Comparator.comparing(track -> track.getLength())).get();
Reducing
Stream.of(1, 2, 3)
.reduce(0, (acc, element) -> acc + element);
Combining actions together
album.getMusicians()
.filter(artist -> artist.getName().startsWith("The"))
.map(artist -> artist.getNationality())
.collect(toSet());
Great article to read
http://javarevisited.blogspot.co.il/2014/02/10-example-of-lambda-expressions-in-java8.html
Thursday, June 5, 2014
Spring - short note - 1- REST
Creating Rest Services
1.
Create Conroller class
which is annotated by : @Controller;
2.
For get methods:
@RequestMapping(method
= RequestMethod.GET,value = "/rami/{id}/{p}")
@ResponseBody
public String home(@PathVariable String id,@PathVariable int p) {
return "Hello World!"+ id + "----"+p;
}
Or:
@RequestMapping(method =
RequestMethod.GET,value = "/rami")
@ResponseBody
public ClassA home3() {
ClassA a = new ClassA();
a.setName("ROMA");
a.setAge(1112222);
return a;
}
For POST:
@RequestMapping(method =
RequestMethod.POST,value = "/p1/")
public @ResponseBody ClassA home2(@RequestBody ClassA id) {
return id;
}
3. Create main * Spring Boot* :
public static void main(String[] args)
throws Exception {
SpringApplication.run(SampleController.class, args);
}
With following in gradle file:
repositories {
maven { url "http://repo.spring.io/libs-snapshot" }
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile("org.springframework.boot:spring-boot-starter-web:1.0.2.RELEASE")
}
Working with Config
1. Create Config Class
@Configuration
public class InfiniSpanConfig {
@Bean(name = "cache1")
public Cache<String,String> namesCache() {
Cache<String,String> cache = new DefaultCacheManager().getCache("test",true);
return cache;
}
}
2. Add @ComponentScan
3. in case of generic collection type autowiring use @Resource annotation instead of @Autowiring
@Resource(name="cache1")
private Cache<String,String> cache;
Working with Config
1. Create Config Class
@Configuration
public class InfiniSpanConfig {
@Bean(name = "cache1")
public Cache<String,String> namesCache() {
Cache<String,String> cache = new DefaultCacheManager().getCache("test",true);
return cache;
}
}
2. Add @ComponentScan
3. in case of generic collection type autowiring use @Resource annotation instead of @Autowiring
@Resource(name="cache1")
private Cache<String,String> cache;
Subscribe to:
Posts (Atom)