skysight-inc/HackerNews huggingface dataset:
First party support for Robolectric would be wonderful. It is a nightmare any time you need something Robolectric doesn't implement, particularly in Context classes because there are so many different types of Context: Application, Context, ContextWrapper, ContextImpl, Activity, etc. and I've never gotten Robolectric's @Config and @Implementation annotations to successfully add to them without blowing up about weird super class not matching errors.
Great advice. I am currently in my second summer internship with a great startup. Last summer, I started with near-0 web experience, and built an internal web app that is still used constantly by our sales team. The metrics it provides have convinced more than a few companies to demo us (b2b). I'm very thankful they took the chance on me, knowing there would be a big learning curve. I was working mostly on my own, since our devs were overseas, but it was still a great experience.

At the end of my summer, they raised a series A, and this summer it feels like a whole different company. We're three times the size, and everything is moving even faster. We have four full-time developers in this office now, and I'm working alongside them on production code.

Personally, I think startups can be more valuable learning experiences than big companies, but I can only speak from my experiences. I feel lucky to have been part of this company when it was ~8 people as well as now, when it's ~25 and we have free food and a nicer office and I'm integrated into the "enterprise" (in a good way) development processes.

Compare this to my friend at one of the biggest companies in the Valley (but an older one...), who is in a cubicle all day and told me she could go three days without doing any work and nobody would notice.
That's referenced in the article -- Chaitin's constant is 'algorithmically incompressible' according to Kolmogorov complexity -- though note that this definition means it's "assymptotically" random, but the first n bits can be approximated in finite time (there are other numbers with more strict randomness). What the article addresses is that if you're given a long string with that property you can't verify the randomness, by definition. But using the CHSH method outlined you can, assuming only some physical principles -- provided you're given a small 'seed' to start.

Note that the underlying "way" that the universe generates randomness doesn't matter from a scientific standpoint -- as long as we can't predict it, you can think of it as being generated by either an enormous computer or truly random (whatever that means).
As an engineer, I build a test for every design I put forth. The test validates the design against the intent of the design. You could approach law this way.

In other words, every law has an intent. Make it so before any law can be passed, you must design a test to validate the law against the intent to be run at some point in the future. Then if the test fails outright, or begins to fail over time (some laws work at first, but fail later) then you pull the law out of the books.

I know this is very naive, and over-simplified. But I like the idea.
80, counting gzipped jquery.
Thanks for the comment, here are more in depth info on what we do and how we do it: http://story.getflyr.com/post/88989665178/taking-the-guesswo...
The Samsung Remote Test Lab[1] provides this for free (with limits)— they have a range of real devices (S5—S2, Notes, Tabs, even Gears) that you remote into and can install APKs, screenshot, and otherwise have full control over.

Somewhat unfortunately, I've found the connection fairly unstable, and they don't factory reset between uses (so unless you remove your APK, it'll stay on the device and configurations persist).

[1]: http://developer.samsung.com/remotetestlab/rtlDeviceList.act...
You're describing two different classes of threat. The threat posed by bad actors from the other side of the world is necessarily bounded: they can't take more from me than I have "online" in the first place. If I have a bank account, a secret soft-drink formula, or other assets subject to attack, what I spend on defense can be proportional to the assets themselves.

The threat posed by the bad actors affiliated with the state to which I am subject is qualitatively different. Based on intended-private information that can be construed as unlawful or even vaguely against the national interest, they can take away the rest of my life. There's nothing proportional to that.
That's very no true scotsman with regards to freedom. Saying the road is private inherently infringes on my freedom to use that land just as much as anyone else. Under this idea of free I could buy a road and the land around your house and declare it for my personal use only. I could then offer you a silly price to either go along that road or a silly price for your, now worthless to you, house. How is that any more free than a public system. Sure there's soloutions to this under a private system but once you've constructed it in your mind ask just how similar the entity you've constructed is to a local government, then ask how it's any more or less free.

So I think it's fair to say that a public system has drawbacks but being generally less free than a private system is definitely not the case.
Database development needs to be another option.

I also agree on the higher budgets being required. For longer-term projects, even $10,000 buys absolutely nothing. For some folks, that doesn't even buy a week of their time.
Bad luck is generally thought of as wrong place/wrong time, so good luck would be the inverse.

Most start-ups try to solve right place by moving to the Silicon Valley and then iterate on ideas/timing.

Leaves a lot of room for those who go down the path of finding a customer with a problem they can solve first and building from there.
Later on why not auction the developer spots off rather than charge $29? That way you can keep the developer cap small, but not have to limit your profit. I would happily pay hundreds or even thousands if I knew the cap was small and I was getting real value from the service.
Key point:
> An old trope, wherein enough belief in something will actually cause things to happen, also known as "magical thinking".

If we all just believe, maaan, we can make these patents powerless over us!

It's more about poking fun at the unrealistic idealsim. But hey, shoot for the moon, if you miss you'll land among the stars! (or come crashing down to earth, showering your hapless spectators in burning kerosene and liquid oxygen).
The Lawn Mowing Optimization Problem
Thanks! It varies depending on the model, but in most cases, yes, the confirmation of fraudulent activity is manual since having the ground truth be correct is critical
I'm sure they did draw on it. But, there's a difference between drawing to make sure drawing works and drawing because that's your job. In the first, people would be more likely to say "oh I brushed the home button". In the second, they're much more likely to suffer a critical flow interruption.
> With its $35 per-hour, per-guard flat rate (paid after an event has gone on without a hitch), Bannerman is shooting right for the middle of those two markets.

Here's an interesting business idea for lovers of analysis and market research: Create a database of various industries, measuring especially these variables:
1. Cost of the service/good provided
2. Some very rough quantification of its value (NOT its cost)
3. The ease with which customers can obtain those services/goods; this includes how long it takes for the customer to obtain the services/goods.

Then, identify large gaps - places where there aren't many options at a certain price, or at a certain level of value, or where the ease of obtaining the services/goods is very high.

Sell subscriptions to this data to entrepreneurs looking to start or pivot companies.
>It should be perfectly clear from context that I am referring to specific patents that are used as a threat against competitors, without the specific patent numbers being revealed

Aren't they being revealed to the competitors that are being approached for licensing? Are you implying that, for example, Acer doesn't know which patents it bought a license to?

Also, this list is essentially the top ~300 patents that MS thinks Android infringes on. There's absolutely no guarantee that other patents don't apply now or in the future so the utility of the list is kind of low.
Pretty neat, and somewhat relevant:
https://github.com/SecUpwN/Android-IMSI-Catcher-Detector
Taking the guesswork out of airfares
Exactly. Actually doing the work is the hardest part of freelancing!
Bounds checking is different from the conditional checks in something like a loop. It's the logic that prevents you from accessing memory that isn't yours. If you have an array arr of length 5 in Java, if you do arr[10] you get an IndexOutOfBoundsException because you're not allowed to do that. If you did the same thing in C, you might get some data which is unrelated to your array, or perhaps a segfault.

So when you you loop over an array, your loop conditional makes sure that your index hasn't indexed out of bounds, in addition to the bounds checking that is performed when actually indexing the array. So you in a sense pay a double price for the same assurance. (This is modulo compiler optimizations.)

Rust has to guarantee memory safety (I guess Java makes the same promise). This means that you have to have bounds checking for array indexing, lest you index out of bounds of some array and get killed by the operating system, if that memory happens to be outside of your process' "turf". You can't eliminate that in general (or; it's hecka hard), but you can probably encapsulate things like iterating over data structures like arrays, vet the code, and say that "this thing loops from 0 to the length of the array minus 1... I swear on my mother's future grave that it is safe to turn off bounds checking for array indexing here." (The way they do it in Rust may be more rigorous than this, for all I know!)
Yes there is conditional logic, but normally only the minimum necessary.

The iteration protocol is just a trait:

trait Iterator<A> {
fn next(&mut self) -> Option<A>;
}

That is, "an iterator" is an object that has a next method yielding an optional value, with a missing value indicating the end of iteration. This is conventionally used statically dispatched, and the next method will normally be inlined, so the compiler can optimise it well.

(In particular iterators over simple data structures like vectors optimise to the same code as the equivalent in C/C++, modulo one small bug where LLVM doesn't yet fully understand the nonnullability of Rust's references.)
> Poor critiques of disruption like this one are only going to come thicker and faster now that many academics are starting to feel threatened by MOOCs and online learning.

Most of the article is actually a pretty good critique of Disruptive Innovation theory as being selectively applied in a post hoc manner that is also lacking predictive abilities.

Even though I consider my current business endeavor a "disruptive innovation", I still thought this was a really good article that breaks through the often mindless praise of disruption (which I myself have been a part of.)

I think that these types of counter arguments are valid in a self-correcting society.

(Although I found the article ended on a weak note, even though it started strong.)
There should be a non-profit organization that files arbitrary new patents preemptively on behalf of the public and then release them into the public domain.

Good idea. Let's call it "Bell Labs".
pcwalton or someone else who understands the issue more deeply here, but my current understanding is this:

Imagine we want to print out every single element of a `Vec`, Rust's growable array type. Here's the code with a loop:

fn main() {
let v = vec!(1, 2, 3);

for i in range(0, v.len()) {
println!("Number {}", v.get(i));
}
}

This of course, has to check that it's only iterated the maximum number of times. The check I'm referring to, though, is in `v.get`. That has to do a bounds check on the array. If we use the iterator version...

fn main() {
let v = vec!(1, 2, 3);

for i in v.iter() {
println!("Number {}", i);
}
}

Now we get each element out of the vector. No more bounds check!
From The Devil's Dictionary (1881-1906) [devil]:

> POLITICS, n. A strife of interests masquerading as a contest of principles. The conduct of public affairs for private advantage.

On a more serious note, I tend to agree with Orwell. Works of art (prose, paintings, photographs) are largely defined not by what they contain, but what they leave out.

Consciously or unconsciously they represent a form of distilled reality that will inherently expose how the creator sees the world (or perhaps rather: how the author observes the world; what he notices).

How is this political? Any rational person decides what should be done based on what is -- if you perceive reality to be different, you will come up with different explanations for why things are the way they are, and more importantly how and why they should change. Do you look at images from the World Soccer Championship in Brazil and see a merry sport festival? Or do you see thousands on the streets demonstrating for the right to a decent life?

I agree that not all art should be (or is) intentionally or overtly political, but I also think that it is right to claim that all art, on some level is political, in the sense that they impart the artists view (and connected feelings) of the world to those that experience the work.

At any rate, I find it hard to disagree with the the concrete quote you picked: Isn't discussing how art and politics interact an aspect of politics?

[devil]:
http://en.wikipedia.org/wiki/The_Devil's_Dictionary

[edit: On a somewhat related note (by virtue of dealing with writing, and being written by Orwell) see also:

George Orwell: "Politics and the English Language"

https://www.mtholyoke.edu/acad/intrel/orwell46.htm
]
> It's more about poking fun at the unrealistic idealsim.

Haha, I see. All of these kooky ideas saying something better than what we have now is possible.

Silly statements like intellectual property is an illusion that we all "believe in" and clap our hands to.

I do find it sad that the OP of this thread deleted their post. They asked "What will end these patent wars?".

My assertion is with the way things are going, the wars will never end. Patent reform will never happen. Kindof like our other wars. We will get so close, just close enough to have hope. Then the powers that be who benefit from the situation will ensure such reform does not happen. It's a tried & true script. Machiavelli would be proud.

Maybe wars are the only way forward? Maybe peace is unrealistic idealism?

I say it's time to start thinking "unrealistic" thoughts.
Front End Developer at Mattermark
Last night, at the city-that-shall-not-be-named Bitcoin meetup, we specifically discussed this sort of BIP, and I raised the opinion which was initially posted in response to Gavin's support for BIP70, which is that the last thing Bitcoin needs is more complexity.

Fundamentally, Bitcoin is trying to be a settlement network and an asset and a UI and a platform for developing future financial services and now a half-baked business-oriented transaction layer on top of the settlement network. Unix philosophy[1] says this is insane, and as someone involved with one of the largest exchanges, I'm inclined to agree.

Most of this stuff boils down to using Bitcoin to try to solve things it's not well-suited to solving, eg. instant payment.

I mean .. adding X.509 & SSL[2] to Bitcoin clients to 'simplify' payments? Really? Do you guys have any idea what that does to an implementation's risk model?

[1] http://en.wikipedia.org/wiki/Unix_philosophy
[2] https://github.com/bitcoin/bips/blob/master/bip-0070.mediawi...
This feels like Altavista and then Google appealing to the tech types in the earlier days of search engines. If you wanted to convince the masses that the sketching and note-taking was high quality, why wouldn't you get it right for the artists as a priority?

I assume anyone from Penny Arcade has a gaming background too.
I am somewhat in the same boat as the OP. I'm originally from Japan, and all his points #1, and #2 are somewhat applicable to me.

Speaking out from my experience, consider volunteering for something you are interested. I am volunteering for the anime convention for past 10+ years now and it actually does help you find new friends, because you are pretty much forced to communicate with other people. I was a bit of a lone wolf before my 20th, now I know a lot more faces than I used to be.

When it comes to more intimate relationships, then mileage may vary. Hate to say, but the #2 factors can make it very tough. Honestly, I'm struggling with that myself as well, so not much of advise I can give here... (It's a one thing if I can find someone who can embrace the way I am, then that'd be great. But I'm getting older and honestly, I just don't feel worth changing my lifestyle for...)
Note that that's not quite true for Haskell.

In Haskell, each line is not sequenced implicitly, though there are useful patterns (monads) which do specify the evaluation order. IO, State, and Writer are all sequenced, [] is depth first search, and Par is in parallel. We've got patterns for them all.
Was a Windows user but have a MBP now. I follow the Surface reports with interest entirely because of the apparent quality of stylus input. Getting a Wacom is my likely path at this point though.
I'm not saying it's a defense - it's clearly not. There just seems to be something creepy about using a representation that looks older and calling it a younger age.
Great question. Some BnB hotels and condo rentals do have reservation systems that let you choose the specific room. They tend to be places where each room is unique or separately owned, though.

As for why you can't pick your room in a typical hotel, I'm not in the business but I can imagine the reasons are mostly advantageous only to the hotel. Not really for malicious reasons, but just designed to maximize occupancy. I kinda imagine a Tetris type of board where, if the hotel management is allowed to control it, will be packed with no void spaces - always as close to full capacity as possible. In fact, it will be overbooked with the expectation of cancellations. If they let the visitors control it (i.e. choose your own room) then the schedule will have a lot of void spaces (unbooked days) with the best rooms taken and the less desirable ones unbooked.

There are times when I would pay a premium with no-refund allowed if I could lock in a specific room, though. I'm sure others would as well. There's probably an opportunity for a hotel to do this.
For the curious, shipping is a flat $7.50 in the USA.

You can also get it from distributors for $4
http://www.mouser.com/search/refine.aspx?Ntk=P_MarCom&Ntt=16...

Also, the 4200 series part used on the board seems to cost about $3, but there is a $1 promo going on.

Cypress Semiconductor - CY8C4245AXI-483 4200 Series 32 Bit 48 MHz

http://www.newark.com/cypress-semiconductor/cy8c4245axi-483-...
> I swear on my mother's future grave that it is safe to turn off bounds checking for array indexing here." (The way they do it in Rust may be more rigorous than this, for all I know!)

The hard part about doing that is that it's only safe if the array is guaranteed not to be mutated during the loop. Rust enforces this through its borrow checking system.
Klarna is heavily into Erlang, btw:

https://klarna.com/jobs/engineering-product

Every day, thousands of merchants and customers use Klarna’s services. The task of making it all work is far from easy. Our system is built in Erlang and handles real-time transactions 24/7, with no downtime for upgrades.
The other replies explained the situation, but for the curious here's Rust's basic code for slice iteration: https://github.com/rust-lang/rust/blob/master/src/libcore/sl... (unfortunately buried in some macros). `if self.ptr == self.end` is where the guarantee is made, then the offsets are done unsafely. The other branch in that function is optimized away statically.
Those situations are so different from each other I'm honestly amazed you wrote it, looked at it, and still thought it was a smart move to play that card.
You might be vastly overestimating the correctness of files being imported.

Some coworkers of mine have to deal with CSV/TSV imports from enterprise customers, and the amount of clearly broken scripts is pretty bad.

That excel import preview dialog helps non-programmers try to fix these issues beforehand. If that wasn't there, it'd likely be impossible for these people to know where to begin trying to fix the import.
Turn your G4-era Mac into a next-gen Amiga
There is no test that prepares a person for being a good parent, and while college certainly may help, it is not a determining factor if that person is or is not a good parent.
Did they purposefully try to make this un-OCRable?
I block twitter.com and Google Analytics, and this thing refuses to load. Well, you lost these eyeballs.
This is the worst rendition of PDF I've ever seen. Is it done on purpose to prevent OCR?

FTA: "This list has about 2800 entries you should find useful in your work or for keeping up with your children and/or grandchildren"
You're not forced to use glibc on GNU/Linux. You could link against bionic if you want, assuming it runs in a stock kernel.
Does your two minutes of effort also include regression testing? Did you verify that all aspects of the OS and applications which depend on the home button having a specific behavior continue to function within OS-guaranteed response times? Have you done user testing to ensure that the delay after lifting the stylus meets with user expectations and doesn't seem like the OS is frozen? Have you met with the hardware team and verified that the lift stylus event is 100% reliable so that temporarily disabling the home button doesn't run the risk of permanently disabling the button? Are there potential race conditions such that the stylus up/down events are received out of order? If in-order reliable events can't be guaranteed 100% of the time, have you implemented a suitable watchdog-style timer to catch the cases where the event isn't properly received? Has that been fully tested?

Did you update the specification documentation with your modifications so that future developers can consult the updated specs in order to understand the impact your home button changes may have on their area of the OS?

Or I guess you can slap in some two minute script and call it done, but I'm glad you're not building my operating system.
Brazilian undergraduate student looking for web programming opportunity
Hi. My name is Amanda, I am a Brazilian student who is majoring in Computer Science. I know how to code using CSS, HTML and JavaScript. I am looking for a nice challenging project for me to learn more about web programming including other languages. I am currently on vacation so I have one month of entire dedication to this project. Hit me up if you have something for me.
Why do you believe that the fact that the critiques use education as an example is proof that the critiques are knee jerk/defensive reactions to disruption in a space, and not simply due to that being the industry that the author (given they are an academic) has the most experience/exposure in?
My reply, however, was to point out that those who argue that the "laws, customs, and cultural traditions in western Europe are much more rational/intelligent/better/whatever than those in America" are actually ignorant of the actual history of Western Europe.

More specifically, lvh's comment about "As a (western) European" is an incorrect generalization. There are western European countries where it's impossible to buy alcohol from convenience store. I believe that your response should not have been to bring up any special history of the US - thus inviting a pissing war - but instead highlight the parochialism in lvh's observation.