skysight-inc/HackerNews huggingface dataset:
Perhaps the most devious use of an interface anti-pattern is used to put people on the FBI's no-fly-list. https://news.ycombinator.com/item?id=7193631
Again, don't listen to this guy. He just copies and pastes this stuff from 4chan.
Where can I find this video? Wasn't in the link or on the website.
Given his writing ability, degree, and student reviews I imagine he's quite capable of doing so.

Since he doesn't, all I can assume is that he values the intangibles of teaching enough that it makes up for the incredibly low salary.
I do, and I'm not a masochist. I use it to write small games on my own time.

I used to loathe C++, but the C++11/14 dialect makes things much more pleasant. There's still a lot of details you need to worry about, but crucially these are details that other languages rarely give you a choice about. The only real alternative was C, but I'm tired of reinventing wheels and C++ has the STL. C also doesn't have the same support for value types which C++ does, and value types are really nice to use.
Empirical observations support distortion of spacetime. See also, the gravitational lensing effect observed during a solar eclipse.
Looking forward to hear your feedback and your way of approach for your product launch.
Want free extra storage space? Agree to Google account security checkup
Front-end Development Annoyances
> It's also nothing to do with static checking—“type safety” holds in all “dynamically typed” languages.

This. Exactly true, and often forgotten.

It's useful here to distinguish between conversions and casts. Conversions use type information to ensure computations remain sensical; the canonical example is a conversion between integers and floating-point values which makes sure you never end up feeding invalid bit patterns into the relevant arithmetic hardware. An example of a cast is taking a bit pattern you had been treating as an integral value and then telling the language it's a floating-point value, and there not being an error at that point.

Conversions don't break the type system; they use the type system. Casts throw types away.
According to my sister-in-law, central heating is more-or-less nonexistent in Croatia. Then again, so is the building insulation where she lived, so the two were likely related.
Surprisingly not mentioned in the video is that the failure mode of the Olympic's hull, when the Hawke collided with it, provide clues to the reason the Titanic sank so quickly. The heads of the rivets holding Olympic's hull plates popped off (metallurgical analysis showed too much slag in the rivets, making them brittle). Recall that Olympic and Titanic were under construction at the same time, in the same shipyard. Most likely when Titanic hit the iceburg, the rivets holding her hull plates also popped loose, creating much larger gaps in the hull than would have occurred simply from a "puncture".

http://www.nist.gov/mml/msed/titanic_021798.cfm
http://en.wikipedia.org/wiki/Tim_Foecke#Work
http://www.educationworld.com/a_lesson/newsforyou/pdfs/newsf...
In the final year or two of G. W. Bush's administration, there was an attempt to "run up" to a war with Iran. Israel had a ticking clock on attacking Iran, couldn't let Iran get nuclear weapons, but Israel's ability to bust Iranian bunkers was slowly disappearing. That's apparently why Stuxnet got deployed against Iran, and why Operation Merlin existed. I guess all the hate was about Ahmedinajad, as soon as he left office, the fooforaw died out. This may be evidence that not all the media got the memo that Iran isn't "bad" anymore. Or maybe it's a PR hit in some inter-TLA turf war. The CIA or FBI senses the opportunity to discredit an NSA project, so this appears. Hard to tell any more.
> The issue is that if you use Tox you support their foundation

No, you really don't.

Your argument would have a lot more ground if you didn't sound like an off-the-street conspiracy theorist.

I guess that's what differenciates "conspiracy theorists" from the people who want you to believe vaccines causes autism and aspartame cancer. It's easy to dismiss something as crazy when the messenger sounds batshit insane, regardless of what the message is.

The tech community should know, what with Snowden and all.
3D Video Converter
Will jet.com be the next pets.com?
It is the ThinkPenguin, yes. I bought it at an extra and with an underwhelming GPU exactly because it is designed to work nice on linux and only has devices that work with open-source drivers. Yet, the GPU fails under debian. After hours of tinkering and googling, I concluded I have the same issue as this guy: http://blogs.fsfe.org/the_unconventional/2014/11/12/debian-x...

Add to that that the basic install does not allow USB to be automounted by a user. I did manage to get this one to work after a wasted hour or two, but I don't consider it normal that this is not default behavior or at least very easy to configure. In 2015.

Both these things worked flawlessly out of the box on a Ubuntu with KDE.

As for nostalgia, I actually do not remember stumbling on a case like the intel GPU before: "We are holding bugfixes because we don't like the name of Intel's package". Actually, every time I try to go back to debian, I arrive with a ton of motivation thinking "this time I am going to look deep into the issues and solve them!". This particular issue had no good solution: it would have required me to install the intel driver and accept that my system would probably break at the next big update.

I am used to the old proprietary vs open debate and the horror of binary blobs. Here it is not the case.
> design it right using channels, constructs like Futures and Promises aren't necessary

Careful implying that using futures and promises are incorrect unless you can prove that channels can do anything futures and promises can do while doing it better.

Do you have any examples?
This uniqid() [1]? That appears to just be a microsecond timestamp. Definitely not globally unique by any stretch.

[1] http://php.net/manual/en/function.uniqid.php
Apologies in advance for the requirement of a fairly new device (5s or above). My game engine makes use of some OpenGL techniques which are only available in OpenGL ES 3. I'm planning to implement some alternative rendering techniques in the next version which will support some older devices.
I have empathy for McCandless, he didn't deserve to die and I wish he hadn't. But clearly he didn't know what he was getting into, didn't prepare and unwittingly contributed to his own death. It's not a judgment about his character. He wasn't a knucklehead, he was probably fairly intelligent.

He was probably just unaware, like most people, how hard it is to subsist in nature alone, and how harsh the beautiful landscape can be.

In the right context, ignorance is a kind of superpower. When you survive and it all works out, you are a genius. Many successful people start their story with: "If I had known what I was getting into, I would never have started..."

So yeah, I kind of admire this ignorance ... in other people. I am WAY too self-conscious and introspective to embark on some enterprise where I know that I know nothing.

Oh, and the poisonous seed thing - he was just eating a plant whose edibility was not established. I dunno, maybe people think nature is benevolent, and sure I can think of a bunch of edible plants in the woods near my house ... but I can think of plenty that are poisonous, or mildly toxic, or carcinogenic, or indigestible, or otherwise liable to disagree with you. He didn't know if he should or shouldn't eat it. He was rolling the dice. If you roll the dice and you live, you're a genius and in a few years you get to write your memoirs as the next Thoreau.
A blog engine written and proven in Coq
While technically the iPhone keeps getting better and better, and Apple has all these other initiatives that make it and its ecosystem impressive, I would doubt that this has anything to do with their massive profits.

It might be why a lot of techies buy the phone (though I'm still loyal to my Lumia :)) but surely the primary reason remains the fact that the iPhone is a premier fashion item and/or has most of the apps?
The mystery of Mingering Mike: the soul legend who never existed
Growing Culture in your Business
So what? It's a completely valid point.
But it's even worse than that. People run random operating systems on devices they carry 24/7. Devices with microphones, multiple cameras, access to personal and work email, text messages, passwords, your location.

And there are so many places for things to wrong. Any one of the following could be malicious, incompetent, or compromised:

* The ROM's maintainer. There are many groups here, for example many ROMs are based on ParanoidAndroid, which is based on Cyanogenmod, which is based on AOSP.

* The device maintainer. Typically each brand/model device has its own volunteers to maintain any proprietary blobs or special upgrade process

* The hackers who provide special binaries that root each device, unlock the bootloader, etc.

* The added packages you typically get separately from the ROM, for example Google Apps.

* The build machine, typically just some random box donated semi-anonymously by someone

* The web hosting (without TLS, of course) provided by some other random person.

I love Android. I compile and run my own ROM. But the current scene scares the shit out of me.
Rapidshare died because the market moved on. "File hosting services" like rapidshare have been replaced by cutthroat "cyberlockers" like Keep2share and rapidgator.

The most successful cyberlockers do what Rapidshare decided not to: pay uploaders, even those who share illegally. And also pay linking sites through referral schemes far more resilient legally. They aren't trying to appease anyone not either a customer or a very active uploader. Working with copyright owners beyond base legal requirements (DMCA et al) isn't the business plan anymore. Getting into bed with copyright owners was megaupload's and rapidshare's first mistake. The new plan is to make as much money is possible then abandon the ship the moment the MPAA looks their way.

Filesharers are ok with this. They purchase monthly subscriptions in full knowledge that the service might disappear any day. They aren't looking for a long term relationship anymore. The blind panic resulting from the megaupload raid ended that expectation.
There are carriers that do much better than this, right? T-Mobile (my carrier) allows unlocking postpaid plans after much less than 2 years, and I had no trouble at all calling them and saying "Hey, I'll be in Europe, unlock code plz" despite not having paid off the device.

https://support.t-mobile.com/docs/DOC-1588

Surely someone's made a nice table of carriers and policies?
Just because we all die at the end doesn't make the tales of our lives about downfall.
I use C++ for fun. Mostly because it's actually quite nice if you know what parts of the language to use.

C++ could really use a "C++: The Good Parts" book.
> If I recall correctly those libraries aren't type safe and composable

You may be confusing interfaces (which enforce type compatibility) and the empty interface{}, which is effectively a dynamic type in the Go world.
Remembering Radio Shack
to quote from a followup article[0]

"And then we get to the “Why doesn’t he quit and get a proper job?” people. The answer is, I’m 52 years old. There aren’t that many job opportunities coming my way. Have you tried getting a job in Ottawa these days? And I can’t move elsewhere. My younger son is in a fabulous Special Needs School here in Ottawa, with wonderful teachers, we have the specialist doctors at the Children’s Hospital, and a pool of wonderfully talented therapists to work with him. He needs to be here, and so I need to be here in Ottawa. He needs round the clock attention, so I need flexible working hours, which University teaching gives me."

[0] https://medium.com/@AndrewR_Physics/jump-to-conclusions-4044...
Good and Funny Music
No one is forcing you to buy a locked phone. It's easy enough to buy unlocked phones and sign up with any of the carriers without a contract. You get a lower monthly rate too and often pay less in the long run. People have been voting for the carrier locks with their dollars by mortgaging their phones through carrier subsidies. We can all agree that carrier locks are stupid, but I don't see why the government needs to get involved.
There's no compaction, though. It just extrudes, toothpaste-like, and you hope it sticks. Like low-end little 3D printers.

Compare the Lil' Bubba Curb Extruder:

https://www.youtube.com/watch?v=NJZMpu4MKn8

This is a slip-form concrete device. Notice how it has a mold around the area being extruded, and the concrete is forced into place under pressure, so there's compaction and good adhesion.

Combining the two concepts has promise. The little robotic machines need forms and compaction to get up to the routine quality of concrete work.
Seems like an unfair comparison - Oculus has little revenue and working prototypes of the best VR experience to date. Even disregarding the tech talent, Oculus proved their ability to deliver something interesting that people wanted, however unprofitable that something was.
> it's normally done with a swallowed capsule, not with a colonoscopy, which adds risk and unpleasantness for no reason.

Perhaps the patient opted for the colonoscopy the avoid the "unpleasantness" of swallowing a capsule of fecal matter. It may not taste like shit, but you know it is.
Honestly, no.

I get the premise, but at least with braces there's no ambiguity at all about where a statement begins and ends. It's certainly not going to be the case that one tab too many or a space instead of a tab wrecks everything. Explicit is supposed to be better than implicit, right? I can't think of anything more implicit than using whitespace as syntax.

My personal bias is that whitespace is meant to make code human readable. It shouldn't matter to the interpreter, or at least, it shouldn't be critical to the degree that it seems to be for Python.

Of course I say this knowing perfectly well that Pythonists look at C code with its braces and think it's redundant and noisy.
I've been fortunate enough to have Andrew (the author) as my Physics prof, last year.

Although I've always enjoyed and understood physics (to my own share) before, the way he taught it all of a sudden made everything much more clear. I could see the connections between each concept and the next.

To be able to teach this well, indeed requires a lot of experience; and as much hard work and passion; and Andrew does/has all of that, despite all these issues.

> I would like to give my students the very best learning experience that I possibly can.

I could't agree more. Not only is he knowledgeable, but he's also great at conveying it.

I'm writing this comment in a hurry but I really felt I had to write it. I'll write a follow up in near future; and I'll try to explain the situtation from a student's point of view too. All I can say right now is that this is not what he (and many other Contract Instructors) deserves.

If you ever read this, Andrew, I'd like to thank you again for all you've done for me, and many others. Please keep aspiring and inspiring us.
> I believe Go is the future and I recently tried to push Go in using it to write a new semi-real time system to handle many little messages with complex business logic but nope CTO went with node.js and have a callback hell.

I used to think and hope Go was the future, and I agree it's better than node.js's callback hell, but I no longer hope Go is the future.

Something like Nim[0] is an improvement in every way.

Not my main point, but I personally moved from Go to Haskell. So, If you don't mind educating your developers Haskell, Scala, or Ocaml offers you true type safety and compile time correctness.

0: http://nim-lang.org/
Creating apps that respond to web hooks but are not directly accessible from the internet.
What's wrong with BT? It can operate encrypted and has the DHT to address/discover content.
It doesn't help that you have zero clue how to answer professionally to actual trolls.

Hint: it involves replying to actual concerns rather than ad hominems. I mean, it's not like GP doesn't have any material on you, there's some pretty shitty stuff going on there.
You really don't want to lean on empiricism for PL, but: http://www.cs.yale.edu/publications/techreports/tr1049.pdf
or you could just move to the tropics ;-)
No, the cost of the discounted phone is incorporated into the ETF. I left ATT for T-Mobile after paying an ETF to unlock my phone. The trouble was that it left me without a phone for ~2 weeks: You cannot pay your ETF until your account is cancelled and your final bill posts. I cancelled the account just before the final bill was generated, but still had to wait a few days for the bill to post, another few days for my payment to process, and another few days for my phone unlock request to go through. They drug their feet through every step of the process.
He's talking about software.
Which part of what he wrote is wrong? Please explain.
Do you think that the exploits that Stuxnet took advantage of would not have been discovered or leveraged by Russian, Chinese, or other hackers?

I would argue that if your system has a flaw, and the threat model is such that it's feasible for an entity with the resources of a nation state to take advantage of and the value of penetration is high, sooner or later, it will be taken advantage of.

So yes, in that sense, it is inevitable. There's no benefit to closing our eyes and hope that no other state'e NSA equivalent will be able to penetrate our flaws.
A related musing about Go I wrote somewhere else before...

Option types as well as lack of support for things like either and generics are why Go quickly became unappealing to me for real world work.

Check out this haskell example (note that the exceptions are values as well, so this is more flexible than most languages try or panic in Go):

failureExample :: IO (Either SomeException (Response LBS.ByteString))
failureExample = try $ do
get "http://www.httpbin.org/status/200"
get "http://www.httpbin.org/status/200"
get "http://www.httpbin.org/status/200"
get "http://www.httpbin.org/status/404"

main = failureExample >>= \case
Right r -> putStrLn $ "The successful pages status was (spoiler: it's 200!): " ++ show (r ^. responseStatus)
Left e -> putStrLn ("error: " ++ show e)

The equivalent Go is much longer and needlessly verbose:

func failureExample()(*http.Response) {
// 1st get, do nothing if success else print exception and exit
response, err := http.Get("http://httpbin.org/status/200")
if err != nil {
fmt.Printf("%s", err)
os.Exit(1)
} else {
defer response.Body.Close()
}

// 2nd get, do nothing if success else print exception and exit
response2, err := http.Get("http://httpbin.org/status/200")
if err != nil {
fmt.Printf("%s", err)
os.Exit(1)
} else {
defer response2.Body.Close()
}

// 3rd get, do nothing if success else print exception and exit
response3, err := http.Get("http://httpbin.org/status/200")
if err != nil {
fmt.Printf("%s", err)
os.Exit(1)
} else {
defer response3.Body.Close()
}

// 4th get, return response if success else print exception and exit
response4, err := http.Get("http://httpbin.org/status/404")
if err != nil {
fmt.Printf("%s", err)
os.Exit(1)
} else {
defer response4.Body.Close()
}

return response4
}

func main() {
fmt.Println("A failure.")
failure := failureExample();
fmt.Println(failure);
}

This code is all tested/runs and I might be putting this along with other issues I've had in a blog post, but no promises. I think this makes it very apparent why some people have an issue with Go, namely that it feels like going backwards and ignores lots of prior research at the altar of some deluded notion of pragmatism. I say that despite a Go Gopher staring at me on my desk.
Good question, let me cuil it.
Ask HN: As a freelancer how do I scope a simple font-end development project?
For a long time I have limited all of my consulting to areas usually relating to marketing, however recently I have had a couple of clients who were proactively pushing me to help them build or to re-build their sites.

I have done a lot of this as what could only be described as a personal hobby sense for a while now but have never done any development work professionally before where people would pay me money for it.

I decided to start at pretty much the bottom of the barrel here to get my feet wet and take on a simple PSD to HTML 1-page brochure style website.

However, I realised that I have no idea how to scope out a project like this.

How many hours would I be typically be looking at taking an already cut up PSD and turning it into a responsive single page website with no real functionality to speak of? If I had to pick a number I would say 30 seems reasonable but I wanted to ask some more seasoned and experienced developers and freelancers on here.

What are the kinds of things that I should be thinking about here? What is a sensible time frame? How are these jobs typically scoped out and delivered?

Any help would be hugely appreciated!
I see what you mean.

I guess nobody's really an expert on that. I guess there's some precedence going back to the golden age of piracy, but then again most of those policies would have predated many instances of international law. I wouldn't be surprised if there's a dozen JAGs working out exactly what the US's policies should be right this instant (if they haven't already).
The bell has tolled for rand()
It's got one! "The C Programming Language" by Kernighan and Richie ;-)

What it could really use some deprecation of the more idiotic, dangerous, useless features (eg explicit constructors should be the default, unbraced single line blocks only introduce bugs and have no positive value at all). They should also mandate that standards conforming STL implementations ship with a standard set of benchmarks you can run on the hardware you're targeting. All the C++ "anointed smart people" complain people use the wrong STL datastructures but don't show any cleverness at all in solving that problem.

No 2 C++ hackers agree on what constitutes "The Good Parts" witness every single C++ style guide ever endorsing a different subset of the language. C++11/14 has not changed this. Modulo different targets make that subset different from the point of view of the very same hacker.
Also see #1229 (not much, but related): https://github.com/irungentoo/toxcore/issues/1229

Edit: I have no affiliation here, just an outside observer. I think it's relevant because, unlike the screenshot of #1228, the still alive 1229 issue (at least) shows that this happened nearly a month ago.

Whether or not the fact that it happened nearly a month ago matters I don't know, but at least it's a bit of extra context/info.
oh! I assumed it was a typo for "good health" because there was, what I assume, another typo earlier in the article: Does Bryan feel duped, I wonder? "I should do. You would think. … "
Loved the explanation of Composition.
That's partially true. However if you force TCP connections (in Toxic this is done with the -t flag) your IP is effectively hidden from your contacts because all your traffic gets relayed by TCP nodes in the network. The downside is that forced TCP connections are slower and less reliable.

Though to be properly anonymous you would need to run it through Tor: https://wiki.tox.im/Tox_over_Tor_(ToT)

The reason Tox doesn't have built in anonymity is because strong anonymity has a massive impact on quality (especially streaming data like audio/video). Our goal is to steal normal (non-paranoid) users from Skype and get everyone and their mother using strong encryption. In order to achieve that we need to have comparable quality rather than something that feels like you're using a 28.8k modem.

And again, anyone who actually wants anonymity still has that option.
Can You Guarantee a Powerball Win?