skysight-inc/HackerNews huggingface dataset:
this is at best a sub-point of the main article, but it's one that I find particularly chilling: if you want people to believe something, the easiest way to accomplish that is to lie to them. From the article:

"""
It is important to know, though, that in the battle over reliable sources anything goes - lying, trickery, the basest chicanery. Jaakobou complained that Peace Now - a group devoted to researching the expansion of Jewish settlements in the West Bank - had made up a citation from a government report on the West Bank settlement of Mitzpe Ha'ai that appeared on the group's website. "I went ahead and checked their claim that an official report requested by the Prime Minister stated something on Mitzpe Ha'ai. The Mitzpe was not mentioned in the original," he wrote in the discussion on the Reliable sources noticeboard. When someone pointed out the section and page where the settlement was mentioned, he claimed that the mention did not include the specific information that was included in the article. When the original passage was quoted in its entirety, he still didn't give up; he claimed that the addition of a satellite photo of the settlement on the web page made the citation unreliable ("citing the content to Peace Now is problematic, since they add their own words and images to wiki-reliable information").

The point is: never give up. If you don't win this time, maybe you will win next time.
"""
How to Prevent Virus and Trojan Horses in Apple iPhone iPad iPod Touch
This article provides an effective Apple antivirus solution to possibly prevent iPhone 4S/5, iPad 4/Mini, iPod Touch 5 being infected with any virus and Trojans for iPhone iPad security.
Ask HN: How many "self-taught" programmers and how did you do it?
I was wondering to what degree the HN community of programmers is self-taught.

1) How did you learn to code? Totally self taught from books and RTFM // Self taught plus MOOCs or comparable resources // Some classes in college but no CS degree, remainder self-taught // Self taught plus a developer bootcamp or some non-degree related formal education // CS degree and personal efforts

2) When did you start learning (perhaps informative because of the recent rise of MOOCs)?

3) At what point (if yet) did you start working as a programmer professionally relative to your initial efforts?

I had been wondering about this for a bit and the discussion here (https://news.ycombinator.com/item?id=6467914) motivated me to finally post it.

Administrative note: I'm below 200karma so I can't make this a poll, if an admin wants to throw some polling categories in here that'd be cool too.

Edit: added quotes to the self-taught in the title since I realized that with the advent of StackOverflow and various other social learning tools that there are very few who can truly claim not to have learned at someone else's digital knee at some point or benefitted from the currently robust community that exists online now.
Perl is still horrible... and more people write C than Perl i can guarantee you.
There are, if I may say so, a lot of bad Indian programmers. They’re bad not because they’re Indian, of course, but because they don’t really want to be programmers.

I observed long ago that (in my Silicon Valley experience) white American programmers were always good programmers, because white Americans only become programmers if they really want to be programmers. The same cannot always be said of other nationalities and ethnic groups.

At least, that's been true until now. The glamorization of programming and the advent of 10-week programming cram courses may change things.
The points why freelan is better regarding security are no real issues, but tradeoffs in terms of performance which just copy-pasted from the tinc-vpn security faq[1].

I have been using tinc for quite a long time and it feels pretty stable, but the configuration of new nodes is quite a PITA. For that reason a lot of bootstrapping scripts have been built around this [2]. Also, i love the possibility to easily dump the whole (known) network graph and create great graphs from this info [3].

I am using it mostly for reaching hosts behind NAT and creating a secure environment for these hosts.I never have tried the 'connect whole network' feature.

[1] http://www.tinc-vpn.org/security/

[2] https://github.com/krebscode/painload/blob/master/retiolum/s...

[3] http://euer.krebsco.de/graphs/retiolum/retiolum_1.svg
There's also a useful side effect to Instagram.

It resizes and crops the picture, making it much smaller for uploads.

(Their resize filter is bad though)
"We're talking about a language that still doesn't have a standard way of reading and writing bytes... for talking to hardware. Think about that for a moment."

Wrong. Javascript has typed arrays. When's the last time you actually looked at Javascript? 1998?

"Honestly, I'd not have blinked if the idea was to use Java (even with its lack of unsigned arithmetic), C#, Objective-C, Lua, or even say Go to do the job."

They are using lua. They just have a front end to lua that uses javascript syntax, it would seem. Because languages without curly braces are scary, and the goal is to make this stuff accessible.

To the expert, making your niche accessible to plebes is scary. I understand.
>>academic pedigree isn't a rock-solid predictor of success

Definition of success is extremely difficult to be given here.

I will give you a small example. Literacy is a big problem in India. Unfortunately since you can't read or write, your access to information is limited. This puts things like news papers and magazines outside your reach. Access to any kind of information will be weak(Access to information is the most thing for a person in the modern world)- You won't be able to make well informed decisions about anything, your knowledge of current affairs will be weak. Ultimately such a mass of people won't be able to make it big.

This is why basic education should be compulsory. Also these days knowledge of the English language is extremely important to do any work with people of other nations. English is not our native language or mother tongue. So we learn it only in schools.
I know it most likely was accompanied by a talk but it is an abysmal slideshow as well. Too much hype creates in people suspicion.
Actually the email link is displayed above the contact form and is clickable. When I click it, it opens my default mail client. I think the point is to let the savvy users use their (already set up) mail client and everyone else who hasn't set one up (i.e. browsing from library etc...) use the contact form. Best of both worlds for site owners.
ahhh zip disks. i remember that wonderful invention.. from 1.44 to 100mb on a disk?! pity their heyday didn't last long!
Somehow I can't shake off the feeling that this article itself has bias. So meta.
And there I was thinking someone finally had created webdev tooling that made webdev more bearable and more like other software engineering disciplines.

Only to find out that it's about yet another hardware board with a bloated software layer so people don't have to deal with pointers.

Meh. Sorry for being grumpy but I haven't had my morning coffee yet.
Dissing average Indian middle-class parents for wanting a college education and MNC job for their children, without even a cursory attempt to understand why they do so, is belittling them.

If the author truly wanted to "discourage the mentality" (your words), then he ought to at least have understood the mentality to begin with. Or provided some solid reasons as to why Indian parents ought not to insist on a college education, instead of just his ("upper middle class") isolated example.
> I have always been interested in hardware programming

Ok.

> but always hated the languages I had to learn to do it properly (java, c++, c, assembly, etc.)

Then you weren't interested in hardware programming; not one iota. You were interested in playing around in fashionable languages.
Tessel, a microcontroller that runs JavaScript
> It's also ugly to up-cast everything to the largest potential size whenever you use format strings.

I'm not sure that is true. It accurately captures the reality that you don't know the size of the type, but that you have determined what the maximum size can be and hopefully made considerations for it.

I should think there isn't even necessarily a performance cost, as it wouldn't be hard to trick out a compiler to recognize what was going on and optimize accordingly.

> What type would you use if you wanted to print uint128_t? %llld ?

IIRC, there is no standard portable format string length modifier for 128-bits (I think some platforms used %q for it, but that's definitely not portable), so literally nothing. Format strings suck.

> Finally, I think rejecting a standard C header file because it is "ugly" and coming up with your own solution is unnecessarily fragmenting things, especially when it isn't clearly better (IMO it is clearly worse).

Note that as the presentation points out, the better thing to do is whatever is going to easily adopted. In this case, where people are already using format strings, and already working with a time_t that might be only 32-bits wide, this might actually be that solution.
What are the alternatives to Wikipedia?
Just a bug (or a feature? 0_o ), in Chrome at least it only lets me create two lines, after that it begins writing over the second line. Other than that it's pretty soothing lol.
Depression - Lessons Learned
Step 1. Write in C++.
Step 2. Compile with emscripten.
Step 3. Run your C++ program on the machine.

Happy?
Hack Later — A Hacker News Client for iOS
Here's a roll-your-own alternative: use an embedded Google form and style it to fit your website's theme. That's what I do at http://www.brianchu.com (Contact Me button at the left). Works like a charm and I get an email notification every time someone submits the form.

A contact form is superior to publicly displaying an email address because 1) if you think about it as a conversion funnel, that's one less step for the person to reach out to you, and 2) a contact form makes it really clear that you're open to being contacted; some people are hesitant to email you out of the blue.
Yup, and by fast in embedded people usually mean real time. Latency is far more important than bandwidth in that context.
How to use Go and FastCGI
I have been pondering about this for a while and have developed a hypothesis as to why Indian parents (and those from similar nations) tend to overvalue college degrees.

It is mostly due to the parents having low self-esteem. It comes down to the following two facts:

(1) While there are plenty of exceptionally capable young individuals like OP who have been proving everyone wrong, it usually takes a lot of parental skill and know-how to produce a wunderkind with social skills necessary to navigate the adult world in a foreign country.

(2) Parents who are recent immigrants (especially from poorer nations or from nations with significant cultural differences from the host nation) do not see themselves as capable of providing that know-how. Note that I did not say they can't provide it -- just that they do not see themselves as capable to (it turns out that more often than not they underestimate themselves).

Therefore, if you are a parent in a similar situation, it (often wrongly) appears to you that the only way your children stand a fighting chance is if you they spend as much time in school as possible. Then, of course, is the social pressure from family friends.
Yes... as a typedef in <stdint.h>. In other words, "a userspace libc typedef" as the previous post said...
Really going out on a limb there aren't you? ;-)
Good read, even if you, like me, don't care too much about the low-level stuff..

A few takeaways:

- Embedded 32bit is everywhere. Sure they'll fix the obvious ones, but I'm sure some things will be forgotten about. This problem might not be taken seriously after the Y2K debacle.

- The OpenBSD guys & gals like to do implement new designs and ideas. Sometimes radical. (but I already knew that)

- A transitional solution can end up being the solution ans stick around forever :(

- Theorem "In operating systems, increased popularity leads to greater resistance to change". Probably true in most "products".
Now you are just relabeling stuff like communication skills as culture fit. How you used 'diversity' to mean fitting into a culture is beyond me. 'We have a diverse culture, everyone better fit in, or else'!!!
It depends on the kind of spam you're fighting against.

I speak from the perspective of someone who often creates websites that various groups of people, for whatever reason, would very much like to cause chaos on. I use "spam" to mean both "advertising spam" as well as "distributed flooding" (sometimes in the form of so-called "shitposting", and/or just random text and images).

Heavy spamming can be an effective form of DoSing if it's not limited or controlled well enough. There are many people out there who take great personal pleasure in disrupting or reducing the quality of a service.

If you want to protect against typical pharma spam, this will be good. If you want to protect against the kind of thing I described above, then only a service like Cloudflare can help, and even then it can only help you so much.

(It's not easy to bypass Cloudflare from a straight bandwidth DDoS perspective, but it's not too hard if you just want to get through its anti-bot filtering to post spam. In such a case you can enable reCAPTCHA from the Cloudflare security panel, though.)
That large segment of young men is also imploding on an education basis. Nobody seems to care or want to talk about it. It strikes me as a looming disaster, to have such a large and growing segment of the population without either an education or job skills.

http://collegestats.org/articles/2013/05/why-men-are-falling...

http://www.denverpost.com/opinion/ci_14893585
First of all, there's no full resolution examples so you wouldn't be able to tell if this is "SLR quality" or not, whatever that means. The photographer has nothing to do with the quality of the lens: the best photographer won't be able to correct softness in the edge of a cheap superzoom lens. It's just physics. But lastly, the whole point of this method is to improve quality of bad lenses. Meaning, the whole point of the thing is that the pictures aren't top quality.
Nice! This is working better than I imagined. It's also smart they are using each channel separate since different wavelengths bend different.

And since this is a post action this could also be used as plugin for Photoshop, Gimp and others.
I think Javascript is an acquired taste. People usually start hating it, but then they end up loving it. At least that's my case. Seriously, is not such a bad language.

A lot of people are building awesome things with it. JS haters used to say that it was because it was the only choice for the web browser, but now we see more awesome stuff outside the browser: on the server with node.js, for windows apps, and now on embedded devices.

Seriously, a language that allows you to write awesome things could not be such a bad language. Ranting about people using a language that's not your favourite is a waste of energy.
I think they took the samples from the edge of a full resolution image. One difference between good and cheap lenses is that the center of the image will always be good, while on the edges more and more distortion might happen in the cheap lenses. It's possible these images were perfectly in focus on the focuspoint.
Why Haskell is Great At Translating Swedish
Launching Xiffe
We are launching Xiffe today. Xiffe is mobile prototyping in a jiffy.<p>Xiffe lets you create prototypes for your apps in a xiffe using a simple drag-drop web interface. All your data is stored on the web making it easy to access anywhere on the internet. You can even access the prototypes on your iPhone to see how the app would look on an actual iPhone. No using Photoshop or Illustrator or Powerpoint, digging through layers and getting the right components. Just drag-drop components on the canvas and you are done.<p>Xiffe offers a little extra compared to other prototyping tools available on the internet.
•	iOS 7 compatible design library - Xiffe provides the complete iOS 7 flat UI library along with the standard skeuomorphic graphical elements - bars, buttons, keyboard, pickers etc.
•	Customization - Unlike most other mockup tools where you can change only basic properties for an element, with Xiffe, you get complete control of the elements to closely match the properties that Apple provides for its controls. So you can control the elements to the same levels that you can with Apple Xcode
•	Icon sets - Xiffe provides you with a large icon set. We have included vector icons from Font Awesome that can instantly be customized by you for both size and color.
•	App previewer - You can simulate an entire app workflow by linking screens through button clicks and specifying transitions between screens. So your clients and collaborators can see exactly how data will move through the app.
•	Collaboration - Share the app with anyone using Xiffe so you can collaborate in real time.<p>With this version, we are releasing only the iOS prototyping tool. Other platforms will be added soon with later releases. We have Android and Windows 8 in the works already.<p>We are still in beta and continuously improving our design and user experience. Try out Xiffe and do send us your feedback.
personally i kind of regret having studied anything close to computer science.

I recently spent a year working for a university in the states. one of the guys in the institute teaches cs too. he was completely incapable of not only doing, but also accepting anything remotely common sense for anyone who's ever built a web project after 2008, while at the same time patronizing every one else.

if you don't feel like writing some cs papers you're better off studying pretty much anything else and learning computer programming and computer science on the side. if you're really good at programming chances are studying cs might result in you losing interest in the topic.
I'm not sure about the "plugin for Photoshop, Gimp and others". They seem to require a calibration with the actual lense.
"Oh, the left thruster fired 4ms too late because an interrupt stopped the control.js program. Now our rocket is lost."

It's not about bandwidth. It's about latency.
In Japan, police forces people register that. If you ride on a bike without registration, police would stop you (precisely speaking, stop everyone "looks" bad then check) and check the record if it was stolen.
It's always possible. I no longer remember exactly how it worked and why that made me think it had to be reverse engineered. This was many years ago now.
"Typed arrays are available in WebKit as well. Chrome 7 includes support for ArrayBuffer, Float32Array, Int16Array, and Uint8Array. Chrome 9 and Firefox 15 add support for DataView objects. Internet Explorer 10 supports all types except Uint8ClampedArray and ArrayBuffer.prototype.slice."

Oh, and look here:

http://www.khronos.org/registry/typedarray/specs/latest/

We have an "editor's draft", updated on July 2013, littered with "non-normative" sections, and not on the ECMA site.

You can check out the language standard itself and searching for "typed arrays" there: http://www.ecma-international.org/publications/standards/Ecm...

So yeah... not standard.
This is basically extending the encoded input field trick with another (CSS)hidden field.

You can get rid of the (CSS)hidden field by using just the encoded field names instead. That will prevent someone from just copying the HTML field and mass submitting the same form with multiple IPs etc...

E.G. Encode all the input field names using the session ID and some salt (maybe the URL of the page?). I've done something similar in PHP previously as :

public function encodedFieldName( $name ) {
return hash( 'ripemd160', $name . FIELD_KEY . $this->IP() );
}

...Where FIELD_KEY is a pre-defined random string unique to the application or you can set it to the user's session/cookie etc... And IP() is, well, just getting the IP.

You can then retrieve the actual field name using something like...

public function encodedFieldValue( $name, $fields = array() ) {
$enc = $this->encodedFieldName( $name );
foreach ( $fields as $k => $v ) {
if ( $k === $enc ) {
return $v;
}
}
return NULL;
}

And then you can use it as...

$name = $this->encodedFieldValue( 'name', $_POST );

If you're really paranoid, you can add two extra hidden fields that's a nonce and some unique key (maybe using the session_id)

$nonce	= hash( 'tiger160,4', $this->someRandomStr( 10 ) );
$pk	= hash( 'tiger160,4', $nonce . session_id() );

$nonce_name	= $this->encodedFieldName( 'nonce' );
$pk_name	= $this->encodedFieldName( 'pk' );

Send PK and nonce to the user in the hidden fields...

echo "<input name='{$nonce_name}' value='{$nonce}' />";
echo "<input name='{$pk_name}' value='{$pk}' />";

...When checking form input recalculate the PK with the nonce to see if it matches later.

$nonce	= $this->encodedFieldValue( 'nonce',	$_POST );
$pk	= $this->encodedFieldValue( 'pk',	$_POST );

if ( $pk === hash( 'tiger160,4', $nonce . session_id() ) ) {
return true;
}
People are not going to make hardware for hospital with that dont worry,it's like 3D printers,it is for hobbists / artists...

I dont think the point is really the "internet of stuffs". Just to fool around or to do installations or prototypes.

I dont like the NodeJS logo ripoff though.
This thing will be non-optimal in terms of energy use.

Apple allows for JS in iPhone because they need to have it anyway. Anyone else should do better. At least, no JIT.
The big questions, of course, are

- is it full Javascript? If not, what is missing?

- how fast does that Javascript run?

The latter, in particular, is important. If there is runtime translating Javascript idiosyncrasies to Lua, performance may be really bad. For example, it may be a lot of work to map Javascript's == with all its quirks (http://www.rossgledhill.co.uk/2011/10/12/javascript-quirks-e...), where the integer 3 equals the string "3" to Lua's equality operator (http://www.lua.org/pil/3.2.html), which behaves like Javascript's ===: "If the values have different types, Lua considers them different values."

And no, that does not stop at "but no sane person should use == in Javascript". '<' is different, too: "To avoid inconsistent results, Lua raises an error when you mix strings and numbers in an order comparison, such as 2<"15"."
I think it depends how much two lenses of the same model/type are different: maybe you could have presets for common lenses and/or finetune the system for your own one doing some calibration shots.
> We don't build oil refineries above deep-sea oil wells.

No, but we did build them next to waterways which facilitated transportation. The oceans are no longer "global" when the relevant context becomes larger than the Earth. In a solar-system wide context, the Earth is like a populous resource-rich country with just a few very poor harbors.

> it's not at all obvious that there will be any time when Mars will be more important economically than the Earth.

I also point this out in another thread here. It's also possible that technology makes the location advantage of Mars moot before it has a large enough population to be a major player and there is a solar-system wide economy to be a player in. It will undoubtedly be important, however.
I apologize if I came off as rude and a bit dense, but it seems you've been on HN long enough to realize, it's a far cry from Reddit (despite frequent mentions to the contrary) and humor is verboten unless it's written in MATLAB.
> Turns mailto links into clean contact forms

Sounds like a description of a weekend hack project on Github, but apparently it's a service. Damn.
Heard of NPM and Node.js?
So the theories here assume qubits are the smallest unit of storage. I'm not into physics, so how's the evidence they are really the smallest units possible to store information as?
After all, atoms were said to be the smallest thing at some point.