skysight-inc/HackerNews huggingface dataset:
Slightly off-topic.

I quite like Google Finance for monitoring stocks and the portfolios, but god, what an awful, completely ignored mobile app! It won't even sync data. The desktop version is so simplistic and nicer in comparison.

Anyone know of third-party apps that read Google Finance data?
Ah I was hoping that'd be the case, I tried a few commands that work in other ones, but I'll give that a try! Thanks!

Edit: wait, that's for password protected channels, right? I need to pass a password through on server connection otherwise my ircd boots you off and kills the socket :(
25 tonnes is not much... Five people can load it on two trucks in a few hours even without using any machinery.
Right! America is great because we really do let our people starve in the streets, so they work harder :-/

Sad if true.
A simple workaround is to render at double the size and then scale down in the same transform. Makes it edible in most non-ridiculous transforms.
> Ah, the promise of Clojure and easy parallel programming is near at hand.

clojure, golang and before all that erlang as well (and myriads of libraries e.g. cilk etc). dearth of parallel languages have never really been the issue, imho.

<the 'opine' part>

it's how to move existing applications to new h/w, with the caveat that doing a flat out re-write is almost out of question. hoping that there will eventually be compiler that can just parallelize your application code, is just a pipe dream, imho.
Do you have a screenshot of this exploit in action before it was patched?
I'm not totally familiar with Shen's syntax, but it looks like something interesting is going on here. In particular, the judgement `pop` is being automatically inferred and shown as impossible on the empty list. This is somewhat significantly more powerful than the similar Haskell technique. I'm not sure how Shen's type system works---perhaps some kind of subtyping is at play?

Note, that power is a tradeoff in type systems. Typically, greater power can be beneficial for encoding more sophisticated predicates into the type system... but it'll almost certainly have consequences. Normally, power leads to a loss of inference, a need to pass around more type information to prove your claimed types, and/or loss of totality.

Whether the power is worth it depends upon your domain.
So google became popular because people have found them to be the most useful. Anyone can switch to a different search engine with a few keystrokes. They haven't forced themselves to become the default browser on anything, nor any quid pro quo I believe.

Yet another comment that seems to hate google since now they are the big guy, and we hate the big guy, since we on HN are the broke little guys. Until of course we become the big guy and IPO.
> One thing they don't tell you in the Specialized video is that they're not testing someone who is pedaling.

Yes they are. Chris Yu (running Specialized's wind tunnel; the only bicycle company with their own) is a CalTech/Stanford trained aerodynamicist and competitive cyclist. Give him some credit.
Why Even “Simple” Technology Can Be Hard for Developers
I would have been kicked out of school with out ritalin so there wasn't much option when I started taking it at 9. You have to judge for yourself as an adult if the costs out weight the risks.
Yes, lets all not bother reading articles before commenting from now on.
The historical significance of an Apple product release at the Flint center
If you take the screenshot showing the leaked e-mail from an order 'he' placed at CardReaderFactory, you get an interesting data point:

- You can lookup orders tied to the e-mail address shatoshin@gmx.de
- You cannot lookup order tied to gibberish accounts, like odn2n489n4@gmail.com

Proof: http://imgur.com/a/22z72
Looking at Maybe/Option, it's clear that you can write a total function head' :: [a] -> Maybe a. This is good because it allows to represent the function's "failure" to return a head element with an unambiguous, non-magic sentinel value.

But really, in many cases you don't want to return "Maybe a" just because you did some operation that involved (somewhere in its middle) taking the head of a list. In some languages you would use "fromJust" or other fundamentally unsafe (in that they can lead the program to terminate abruptly if misused, and in that the compiler cannot help you use them properly) methods to present the interface you want. But ideally, you would have a head function that the compiler would only allow to be called on lists that can be proven non-empty, and which wouldn't need to wrap its return value in Maybe.

In a "typical" typesystem, encoding useful information (like how many times you can call tail on a list) into types can be very difficult. For this particular application, you could try to keep track of how many elements are in a list by constructing lists with a generic function that wraps the type it's given in a Cons<T> wrapper, but this approach can run into issues relatively quickly, depending on the language you're using. That said, in some typesystems which aren't fully dependently-typed, you can manage tricks like this, and they can solve this use-case in those contexts.

What full dependent types give you is the ability to have types depend arbitrarily on terms (values), such that lists whose types "know their length" are very simple to write, and much more complex guarantees about what your values get up to become possible to implement as types. The downside to this is that running the typechecking algorithm essentially requires arbitrary computation to be performed by the compiler; this can't always be guaranteed to terminate, and may take a few minutes even when it does.
bikamonki, que tal? Thanks for your feedback. I'm the founder and while I'm American, I moved to Latin America when I was four. I spent my entire childhood and early teenage years in the region, including Ecuador. I've also spent six years of my adult life in Latin America as well. I chose Cotopaxi because I lived in Quito and would often go camping at Cotopaxi with my dad. Additionally, I went to school at Academia Cotopaxi. The name has always had special meaning to me. Additionally, I saw llamas for the first time when I was at Cotopaxi. I've since lived in Peru and Bolivia and have seen thousands of llamas in the wild. I feel the llama is a perfect representation of our brand: rugged, but kind. ¡Viva Ecuador!
Somehow I ended up with a perfect orbit within my madness.

http://i.imgur.com/wFReJps.png
Predatory behavior unless perhaps it's in addition to their own investment. See http://www.feld.com/archives/2011/06/warning-to-all-entrepre....
Every time I see discussion about the nine dash line, I can't help but wonder how it can seem sane to anybody that China should have the water rights to an area ~600 km south of what is blatantly Vietnam's coastal waters (and the southern tip of their land) and just barely north of Malaysia's physical territory.

I know the correct answer is: China doesn't care, and isn't concerned with reason when it comes to the nine dash line. It still boggles my mind.

There is no valid Chinese claim on those waters, there is only who has the military power to dictate terms.
Robinhood, of course! Just kidding. What's going on with that? It's been months and I haven't heard of them. It really doesn't make sense to make all that noise and then go offline for months so that people totally forget about you.
Absolutely. We had an AP photo journalist visit us on trips to our factories. Our pack factory has over 3,000 people who have worked there for over 10 years (the factory only had about 4-5k employees 10 years ago), so retention is insanely high. They pay livable wages, have a healthy culture (volleyball and basketball clubs, etc). We care deeply about where and how we source our products. We're working with an organization that helps brands certify responsible sourcing. Keep in mind that we're only 4.5 months old. We have a lot of work to do still, but we'll get there! Thanks for your feedback. We'll work on providing more details shortly!
They can compel you to enter the passphrase to decrypt your computer so long as there is sufficient evidence that you are capable of doing so.

What they can't do is say "only the person who committed this crime knows the password" and then force you to enter the password (since doing so would be self incrimination). It's when it's already known that you could enter the password that you can be compelled to.
Many (most?) SMTP servers will include the client IP in message headers. IIRC it's even required by ope of the RFCs.
It is for any corporation that has quarters to report to wall street. I used to sell capital equipment ($10-50K invoice amounts) for Snapon Tools. The specials that would come down the line two weeks before the end of the quarter would be ridiculous. I once sold a $30,000 machine for $16,000 because I could close it in June (not July) and the buyer was paying cash and would take a demo unit off my truck. I got the sale, buyer got a discount, everyone above me got some bonus, everybody was happy. Then the same thing happened 2 weeks before the end of the third quarter just thirteen weeks later - suddenly almost all the appliance sized machines were half priced to clear inventory and make numbers. I sold 33 A/C machines in 3 days. That should have taken 3 years to move that many units.

So whenever you are buying something from a corporation, try to figure out if they are ahead or behind in sales. They can get really desperate to make the numbers. If the product is selling faster than they can make it, all bets are off. That popular stuff stays a full retail. Nobody will discount since production is limiting their sales, not demand.

Also, understand flooring costs. Often a dealer of expensive stuff like cars, trucks, motorcycles, RVs etc gets a line of credit from a large bank for "flooring". This is the roughly 1% per month fee the dealer pays to the bank for interest for the line of credit. If that unit has 12 months of flooring charge against it, people can get really good deals. They just want to clear stale inventory and will take a loss to do so.
glim – a modern python framework for the web
Or do rolling averages? (Ie like atomic decay.)
Google isn't the gateway to the Internet not in any physical nor even metaphorical sense, it's Facebook were most folks spend most of their time, also the "promote their products above alternatives" is a loaded statement and accusation, when they show shopping results it's not their appliances they are selling, when show maps it's because it's a geographical query, and so on, and when they just show answers and not links it's because that is how search engines are supposed to work.

The perceived importance of privacy is irrelevant when the question is about competition, when other matters entirely are invoked to pressure or punish them then that is just plain old corruption.
Show HN: SEO Cloud – seo tools gathered in one app
There are two problems, only one of which is addressed by duplication.

1. The original study may be plain wrong. Author 1 claims to describe phenomena X, author 2 can't find any evidence for X using the exact same methodology.

2. The original study is wrong because the methodology is bad, interpretation is incorrect, reagents are not specific, techniques are not clean, etc.

There's a strong argument to be made that it is more important to do orthogonal work which indirectly verifies the original results, as opposed to simply trying to reproduce the original work. This solves both #1 and #2.

The paper cited in the article is a great example. Gluing hair onto a plastic leg and putting it in a miniature wind tunnel is probably an exercise in bad methodology—but they might have still gotten the right result for their experiment. And that's useful because now we know that there may be something different about either plastic legs vs. real legs or miniature wind tunnels vs. big wind tunnels. This is a trite example, but it should be clear how this might be more important in other studies.
I use NoScript which can whitelist domains where JS is allowed. Often, sites will degrade without JS but if you're only reading something or whatever, it doesn't really matter. And if it's totally broken, you can temporarily allow JS.

Mainly, it's that I don't want my PC executing code that I don't know about, if I can help it. If I notice a site is e.g. requesting to run JS from twenty or thirty different domains I can be more cautious.

Overall, turning Flash off by default (but still having it installed), using NoScript, Ghostery, and AdBlock, have really improved the web for me.
Looks wonderful on Safari on my retina iPad mini :)
Not sure how Creddle is doing it, but on my weekend project https://resumejoy.com (basic service is free), I use wkhtmltopdf. It's a little fiddly, but handles webfonts and most any CSS you throw at it.
A lot of money laundering was done by large US banks who were not held criminally responsible.
I can't but help give my whole-hearted +1 for Paul's Online Math Notes.

This website helped me through numerous university engineering courses.
That's not the case. Entrepreneurial culture is there in Europe even though there are many bureaucratical barriers.

US startups have at least one very important handicap: over 300mln people speaking the same language. On

For Europeans it's a very strong growth barrier, we can easily grow within one country, but then we hit the wall.
I am not familiar with Yodlee, but I recently discovered that many banks support OFX [1], which is a format for exchanging financial information.

GnuCash has a list of OFX credentials for major banks. [2] In fact, there are tons of OFX open source libraries out there - I had luck with this one recently in Python. [3]

[1] http://en.wikipedia.org/wiki/Open_Financial_Exchange

[2] http://wiki.gnucash.org/wiki/OFX_Direct_Connect_Bank_Setting...

[3] https://github.com/captin411/ofxclient
A tremendous amount.

Everybody's favorite example is fixed-size Vectors. You'd write them like

data Vect : (n : Nat) -> (a : Type) where
[] : Vect 0 a
_::_ : a -> Vect n a -> Vect (n+1) a

and then we could statically ensure things like being incapable of taking the head of an empty Vect

head : Vect (succ n) a -> a -- even if n = 0, succ n = 1

Or, more cleverly, ensuring that two Vect append to their summed length

(++) : Vect n a -> Vect m a -> Vect (n+m) a

But the real fun begins with things like "unsequencing"

seq : Vect n (a -> b) -> (a -> Vect n b)
unseq : (a -> Vect n b) -> Vect n (a -> b)

Try to write that with plain lists [0] and you'll find that you are missing certain information about the inputs which make it impossible to do such that seq and unseq are mutual inverses.

You can define "zippy" `Applicative` instances for Vect which are not necessarily infinite (unlike List's ZipList instance). Also notice that the following definition of (<star>) is complete despite missing some "obvious" pattern matches... they can never arise and the types ensure it.

instance Applicative (Vect n) where
pure a = {- elided, but notice that this is tricky -}
[] <*> [] = []
(f :: fs) <*> (x :: xs) = f x :: (fs <*> xs)

We can also write a Traversable instance

instance Traversable (Vect n) where
traverse inj [] = pure []
traverse (a :: as) = (::) <$> inj a <*> traverse as

and then we can get an "obvious" matrix transposition function

type Matrix n m a = Vect n (Vect m a)

transpose : Matrix n m a -> Matrix m n a
transpose = traverse id

All of the functions above depend crucially upon the compile time invariant of having a fixed size list. They therefore work for any type-homogenous tuple, for instance, but we'd have to define the functions for each tuple independently. Using `Vect` we can classify the entire family of fixed-sized type-homogenous vectors all at once and dispatch functionality across the whole family.

As a final, much more sophisticated trick, we can look into why that seq/unseq bit worked. Essentially, what we have is that Vect n a is isomorphic with the function

Vect n a ~ (Fin n -> a)

In other words, it's a function from the finite set of size `n` to values `a`. If we assume some isos and `flip`

up : Vect n a -> Fin n -> a
dn : (Fin n -> a) -> Vect n a

flip : (a -> b -> c) -> (b -> a -> c)

then we can write seq/unseq trivially

seq : Vect n (a -> b) -> (a -> Vect n b)
seq v a = dn (flip (up v) a)

unseq : (a -> Vect n b) -> Vect n (a -> b)
unseq f = dn (flip (up . f))

In a dependently typed language you can not only create types with these kinds of properties, express the isomorphism above, work generally over these kinds of structures, but you can even generalize the notion of "container" types, types which are functions from a particular shape to their values, in a way that is far more expressive than Haskell would allow.

---

And to be honest, all of the above are sort of silly examples. Far more sophisticated type invariants are routinely encoded in DT languages. It's hard to even begin talking about what's going on there.

[0] http://stackoverflow.com/questions/25654641/is-it-possible-t...
Saw this on High School Students too.

The default search engine was Yahoo. They search for "Google", click on the link and search from there.
Yes, we hate them for their freedom.

Oh, wait, we're trying to protect our freedom. US tech companies are on a rampage attempting to destroy civil rights, consumer rights and labor rights in Europe. Often openly breaking laws that aren't outdated and in need of "disruption", but very much explicitly exist to prevent what these companies are trying to do.

This insanity has got to end at some point. Imagine if a foreign companies started liquor stores across the US that sold alcohol to under 21 year olds, flaunting US law, claiming to be innovative and disruptive, and accusing the US of just trying to protect it's internal market.

We've been pretty fucking tolerant of this shit so far, acknowledging that some things may be up for debate. Regulators have mostly limited themselves to diplomatically urging companies to adjust their practices.

But it's getting ridiculous. Especially Uber has demonstrated that US companies have absolutely no scruples anymore about launching businesses that openly and deliberately break local laws. This isn't business, it's organized crime.
> Emscripten and asm.js: C++'s role in the modern web

C++'s role in the modern web is that every relevant browser since 1998 is written in it. It does not need JS wankery to be relevant, thank you very much.
But that's already a big improvement, actually. With NoScript, if a site (not on the whitelist) has to run JS, the user will be consciously aware of it. Aside from the obvious benefits, NoScript, and other plugins like it, force the user to remember that the web is a potentially hostile place.
One would think it is not in Amazon's best interest if their customers are vigilant in price comparisons. ;)
create a few random fields

turn on combine mass on collision

add galaxy in middle

watch the creation of a solar system :)
Statement that firefox Add-ons inside the broweser don't have a sandboxing is false. All the add-on SDK built add-ons load in sandboxed in a less privileged JS sandbox, although it is true that there is an escape hatch via `require("chrome")` as some add-ons just want to make modifications that are not even possible elsewhere. This is also reflected on reviews add-ons that do not use `require("chrome")` go through a faster review process while add-on's that do use `require("chrome")` get more thorough reviews.

Your criticism in regards to tooling is valid, but it ignores a bigger picture. Two of the the three different ways of writing add-ons have existed long before chrome was even announced and made great add-ons like firebug possible. The fact that there is already a three different ways to write firefox add-ons is outcome of constant improvement of the firefox add-on platform. While this makes things little confusing for newcomers, it still necessary to keep old add-on systems in place, as this keeps people's add-on's alive and subsequently make users using those add-on happy.

You also misreading blog posts about JPM, as it is not a new official tool yet, but we are working hard to get there. As of reason why, add-on SDK was designed with commonjs modules in mind as we saw it becoming de facto standard. Back then node was not announced yet, needles to mention npm and tons of packages published to it. There for toolchain named CFX was written in python. Now that node became a standard tool in the JS toolchain and npm is where js libraries get published we are working to refresh our toolchain and embrace all this, subsequently making thousands of packages available in npm available to an add-on authors.
Thanks for the feedback, micro_cam. We just relaunched our site today and simultaneously launched our apparel today. We had to rush to get everything live, so many of your requests are coming soon. Thanks for your patience! Keep in mind that we're only 4 months old. We certainly have plenty of work to do.

Regarding the product feedback, our designers are award-winning gear and apparel designers who previously worked at Black Diamond, Gregory, Marmot, Dakine, Columbia and Nike. We used data to determine which products to launch with - more is coming soon, so keep an eye out for the 30-55 liter packs.

Regarding your feedback about sticking to core outdoor products, we aren't looking to be like everyone else. I'd be happy to discuss in person or offline, and I think you'd understand why we're going with this approach. I've spent 10 years as an entrepreneur, building e-commerce businesses and brands. We have plenty to learn, and we'll certainly make some mistakes, but I feel pretty confident in our brand positioning, line logic and product strategy. Loved the feedback though. I'm going to share it with our team. Really appreciate you taking the time to give it to us!
To quote a Chinese official from a few years ago 'Vietnam is a small country and China is a big country and that is just a fact.'
We need a developer bill of rights to protect us from Apple and Google
HN readers: when someone says something like this, they're never worth your time. If they really did want to talk, finding an email's not that hard.

It's a strategy investors also typically use to make you feel like you need something from them and set the power dynamic early.
> Practice. Lots' of practice. And practice in cases where the outcome doesn't matter even if you have to make up situations to practice on or negotiate for others.

Playing Diplomacy (and similar games) works for some.

P.S. I'd like to get in touch for some thoughts on negotiation.
Generating PDFs programmatically for a well defined problem like that is not as gard as you think. There are libraries to easily generate PDFs in most languages.
Equipos Cotopaxi is a retailer in Ecuador. Cotopaxi is a product brand in the United States. This is pretty common across the world to have different companies, doing different things, in different countries, with similar names. ;) Love their thinking though!
Almost exactly the tactic and politics Israel uses. If there's violent conflict, the lesser power is 'terrorist' and this justifies the use of greater militaristic power to squelch the rebellion. If there's no violent conflict the greater power continues to push into the area it wants and plays coy with the politics for recognizing the other state's legitimacy.
That's just wild. The Economist has been covering this territorial dispute in detail for the last couple of years, worth keeping up with if you are interested in the subject.
Might be too mainstream but I use Scottrade to manage a fairly large portfolio and love it so far.
yea, oops.
Making a Bayesian model to infer Uber rider destinations
> AFAIK he's not been accused of any crime either.

I imagine the IRS really would like to audit him if he's an American citizen, however.
Statistical Inference, the big picture (2011) [pdf]