HN user

skimpycompiler

99 karma
Posts1
Comments73
View on HN

Haha, solved?

Put in the time windows, put the capacity limits, put the pickup and delivery (this isn't same as just delivery).

It's far from solved, and far from efficient. Field isn't even mature as theoretical computer science, not even rigorous enough :D

You have papers talking about their newest hybrid genetic memetic evolutionary deep simulated annealing bullcrap algorithm getting hundreds of citations.

You have services like Routific, Routyn, Viamente, WorkWave, and others struggling with it. No one in this world has the technology powerful enough to optimize at scale. Example. WorkWave is talking about exploiting 45Billion dollar market of optimizing thousands of technicians and their routes, but they can't even scale that on a daily basis for large number of delivery points, given how slow their optimization engine is. Same goes for every service mentioned above. Oh yeah, WorkWave bought Viamente for $4M, that's how much their tech was worth. Seems a little bit low for something that could attack the 45Billion market.

I have not stumbled upon a single one in the last 10 years that has any potential. All are leeching or would like to leech the big companies that can afford a 1 day waiting time for optimization. UPS seems to be all happy about its routing engine, but they too are being weird about it, if it's good then show it.

Someone who solves this for Uber will definitely get its first billion.

This would be a huge engineering effort since the problem is NP-hard :D

You don't have to. You have an office in Germany, you work for the office in the US. Both companies are entirely unrelated, only thing that bonds them is a contract for doing the work. You are outsourcing the stuff from US company to yourself in Germany.

What US company is selling, or doing, isn't something EU would control.

That's why any startup that wants business will make an Inc in the US.

It's legally much simpler to do so, and leave your offices in the cheap EU. US Inc can employ your offices and at the same time have no people working in the US.

US is saved by ruthless capitalism. When I see what politicians from my country voted on I'm realizing that journalists, political science majors, historians, spanish/english/lang language teachers, philosophers, artists and bunch of other social scientists know much about nothing - maybe it says something about our national universities, maybe about these science areas as a whole, who knows. But for some reason they think they are capable of having a career in politics, and it works.

Little bit of machine learning and here you go.

The biggest deal is to collect the data. After data arrives, they can then look for any patterns they need. Filter anything that seems wrong.

When did I say that?

If you believe I'm advocating for women being raised to become engineers then you and everyone else who downvotes me is silly.

I'm talking about gender roles. They are here, they aren't changing, and no, you cannot do anything about women equity in tech without changing the values that are ingrained in human culture.

I'm not advocating for girls playing boy games.

I'm just saying that there's crazy amount of conditioning here, and that people might unconsciously make choices for their daughters that will lead them to a very different life.

I am also saying that there's crazy amount of pressure from kindergarten teachers, and who knows what other environments.

Do you think she is entitled to have that view? How would she take comments like yours?

My comment was pretty much black&white. I'm not advocating pressure. I'm painting my views this simple to evoke questioning of one's choices regarding raising children.

Realistically, women do not go into tech do to tech looking unattractive to women. Women find this men dominant field unattractive for reasons that are mostly based on early conditioning. It's not that they are incompetent, they just do not try.

Even simpler methods exist.

Realize that framing your daughters behavior by giving her babies, princesses, dolls, makeup, clothes and similar to play with, while your boy gets the newest action games, puzzles, balls, competitive and brain engaging fun, will definitely influence her future career choices.

When you take your daughter to look at some princess movies, or some toy story thingy, while you watch star wars and star trek with your son, long into the night, think of what kind of framing is done.

Of course, even if you try to keep all the options open. Someone from her school might make your daughter do "girls only" activities. Or maybe she'll be forbidden from accessing the Star Wars room at Legoland because she's a girl. Whole world is against your little girl becoming like a man. She needs babies so she knows she has to be a mother. She needs kitchen games so she knows she has to cook. She needs to play with dolls, to groom them, to dress them, so that she eventually does the same for herself. She needs to be pretty, and by pretty we mean makeup.

If someone is naive enough to believe that boys and girls have innately different interests, then so be it.

But girls ain't "gurls" because they don't like technology.

Loving the haskell to javascript thingy. On my i7 4770 animations are still fast.

Although, I thought that animations were done completely in haskell but it seems that necessary functions were exported and data used in d3js.

Yeah, not all features of C++ are for students. But writing highly efficient code if one's aware of the copy-move semantics is almost straightforward.

I can't remember when some larger projects rewritten in C++ turned out to be slower. Build tools, developing tools are superior to those 10 years ago, and the compiler(s) is still the best optimizer there is for production code.

Working in C++ today is easy. I sometimes feel a bit strange when I find that I'm oblivious about some hardships C++ developers had in the past, and today I didn't even know you can do it the hard way.

These big engineering projects always leave me with feelings of awe.

It so interesting to look at the shape of the coil, nothing regular. Shapes optimized by a super computer, who knows what algorithms they've used there, what kind of search was it, how many parameters, how long did the simulation last.

As I've said somewhere down the thread, OSRM has the same functionality and speed is supreme. Microsoft Research paper I've cited is equivalent to 5 reads of memory and needs about 20GB RAM for the whole Europe. It's a pretty good cache.

OSS is eating the world of geo.

You are really arguing that?

What system would calculate a shortest path between Sydney and London? There's an incredible amount of sparseness in the matrix.

OSRM builts a hierarchy that allows fast computation of shortest paths for the whole world map. It takes about 4 hours on my server, fills around 40GB of RAM, and then after that I can magically do insane amounts of shortest path queries.

Paper below has an even faster algorithm that has an operation of finding shortest paths equivalent to just several reads in memory (according to experimental results in the paper, it's roughly equal to 5 reads, meaning it's just 5 times slower than that 1E18 table we'd have). It works on a single workstation.

It might not be a pairwise cache but man, this is some advanced stuff and I'm sure Google's engineers wouldn't think of having 1E18 elements matrix.

That's why I'm a bit surprised by the pricing and the limits. I guess network traffic bandwidth costs.

http://research.microsoft.com/apps/pubs/default.aspx?id=1456...

It's a mobile app primarily.

OSRM is a nice project - out of the box. The lead went to some giant - so project is currently a bit stray but there are also some other alternatives on github which work well but might not be as mature as OSRM.

Google caches insane amounts of things. What one might think is insane algorithms, it's probably just Googles multimillion cluster memory.

Google is also lucky that no one needs the whole matrix, I'm sure that distance matrix is insanely sparse and can be stored in not that large amount of memory.

I understand completely that Google offers these APIs completely for free and they can shut them down easily. I'm willing to pay for more but my quadratic needs aren't met with root pricing.

So, to waste sub-linearly I can easily setup OSRM for my needs :D

Google Maps is just too expensive and its pricing model isn't exponential at all, it's not even quadratic.

Very common operation is looking for pairwise distance matrix. Pricing and limits are totally irrational.

100,000 daily limit is totally impossible for an app with 10 users. 100x100 = 10,000 :D

Given that Google probably has all of the distances cached somewhere on their servers, I see no technical reason why this limit can't easily be increased. My app can have millions of shortest paths requests per day, and I certainly do not have Google's infrastructure.

I get incomparable functionality using OSM.

Of course, root, without it I couldn't do a thing.

I have Samsung Galaxy Note 10.1 but older edition, battery is still fine, the OS got slow, even on factory reset, so, I decided to root it and runs much faster - pen use was not that great before, now it's perfect.

Note that the act of rooting didn't have anything to do with the speed up, after installing a custom OS with GPU optimizations for drawing graphical elements it worked great.

These problems aren't that hard, although they do not say anything about the person that solves them. One can prepare for a Google interview in 1-3 months and I'm sure there's a pretty high chance they would pass it.

I've seen tens if not more people from my unknown middle EU university nail the interviews, ending up with jobs at Google, Facebook, Microsoft etc. and I've cooperated with some of them, knowing that their programming skills and knowledge, teamwork are lacking. But they can solve some simple dynamic programming problems, or maybe a silly breadth-first-search, and they'll get the job.

I, personally, wouldn't like to be hired at a firm that evaluates me that ridiculously. Yes, I'm a fresh graduate but thinking that knowing Dijkstra's algorithm evaluates my abilities makes me believe the whole culture is entirely deformed and I do not want to be fascinated by these ridiculous puzzles when I'm working with others.

Give them a week to implement something of larger complexity and they are drowned by so many concepts they decided to skip to earn an internship/full-time position at their beloved giants.

But I guess giants can afford having engineers that aren't that productive, or aren't doing projects that matter. I wouldn't like to be one of these engineers.

So, the real question is do you want that, or is the cash blinding you? :D

Books like these below can increase your chances significantly:

http://www.amazon.com/Elements-Programming-Interviews-Inside...

http://www.amazon.com/Competitive-Programming-3rd-Steven-Hal...

http://www.amazon.com/Cracking-Coding-Interview-6th-Edition/...

I, on the other hand, am baffled by the outrage in any case. I do not understand why some animals have greater value than others. Be it rarity or not, from an evolutionary perspective there's no ranking. One cannot say that a worm is worth less than a human.

So, this value ownership that has been put on the animal species is entirely subjective and irrational, and points out a little bit of hypocrisy in all of us.

Not really. Upscaling is hardware, not some ridiculously slow software solution.

https://community.sony.co.uk/t5/blog-news-from-sony/inside-4...

Upscaling is a very state of the art technology, not some layman's solution.

There are firms that specifically targeted upscaling as their product and made millions with their state-of-the-art tech. Currently upscaling is in the rise again with 4K TVs. Back in the days they made some incredible chip solutions, sold them expensively to Sony, Samsung and similar. Sony realized they can, with all of their resources (super-HD movie database) make incredible upscalers.

Just imagine that Sony has stored whole movie The Walk (distributed by Sony Pictures) in your TV in 4K resolution, the moment this movie is displayed on your screen through some lower resolution sources, they find it in the database and display the 4K content. Of course, that's highly inneficient and memory intensive, thus, they use statistical models to efficiently store movie material and have fast chips to quickly approximate the real upscale.

This will then, if the sample (number of movies) is high enough, work well on all of the movie content.

Of course you can't retrieve destroyed information.

But information is not destroyed by perfectly unpredictable (uniform) distributions of noise.

Yes, your result would be a very clear image of one possible license plate.

Fortunately there are methods of evaluating how well your statistical filter works, if it's precise enough you'd be fine with indeterministic nature of your filter. Or even better, you could generate all of the highly probable licence plates, instead of having only one - given by your deterministic algorithm.

How does an upscaler in your TV work? How does it create information out of nothing?

Imagine that you are learning a deep neural network on a huge amount of movies. You have access to all of the lovely Hollywood movies. You downscale them to a 480p resolution, and then try to learn a deep neural network to upscale the thing, maybe upscaling only 16x16 blocks of the image.

It works amazingly well, and looks like magic.

Maybe there was no visibility of pores on the face in the 480p downscale, but your model can learn to reproduce them faithfully.

Sony has access to billions of movie frames in extremely large resolutions. Their engineers are definitely using this large amount of information to create statistical filters which upscale your non-hd, or maybe your HD to 4k HD. These filters work better than deterministic methods in this article. Why? Because the filters know much more about the distribution of the source (distribution of values of each individual pixel). They have exact information that one instead tries to assume (author in the article assumed that something in the source - be it noise or something else - behaves according the to Gaussian). If you know how to find the proper distribution, instead of assuming it, you can move closer to the information theoretical limits.

Just imagine how fast these filters can be if you put them on an FPGA, it also explains why TV sometimes cost more than $2k.

If you knew that your images would only contain car registration plates, you could definitely learn a filter that would be very precise in reconstructing the image when zoomed, you'd now find CSI zooming a little bit more realistic :D

Why is generalization something you hate? Your objections stand but just because VW is caught at doing something wrong it doesn't make it any different.

Owning a car kills people indirectly, be it VW or not. Yes they deceived with a purpose but people accept the direct and indirect deception, be it in eating meat, or driving botched/normal cars. This is always the way it is.

One can have so many conflicting opinions and attitudes inside one's head, one can be mad about VW but not mad about the highly subsidised food industry, or transportation industry in large.

It's just the way it is. Yes, as you've said, almost everyone is ignorant about the bigger picture.

I was just trying to say that by looking at everything else I'm not at all surprised/shocked/disappointed with people's behavior. It's the way people are, and it always was as it is today, it might sound fairly pessimistic, but an average person needs a car to travel around quicker, needs meat to nurture their palate, needs heating to avoid the inconvenience of dressing several layers of clothes in their home. Given all of these entirely personal, individual, selfish needs it is no surprising at all that the majority doesn't care / see the bigger picture.