skysight-inc/HackerNews huggingface dataset:
> This reminds me of various captcha strategies I've seen used by small forums to great effect—solving some math, typing a word into a text box, choosing a popular character's picture… etc. They all work, perfectly. But only because spammers don't care about the small fry: it's not worth their time to modify their bots for your little site. If any given captcha becomes used widely—or your forum grows big enough—they will bypass it trivially.

Which reminds me of Jeff Atwood's original "captcha"[1] on the Coding Horror blog. It was a static image of the word "orange" every time. It was the most trivially defeatable captcha ever, but he didn't care because it worked. It would have been senseless for him to invest time and effort into implementing a complex captcha engine, when the existing solution was filtering spam bots just fine.

[1] http://blog.codinghorror.com/captcha-is-dead-long-live-captc...
Engineering firms won't even talk to someone claiming to be a ME or EE with no degree, no certifications, and/or no license. And, the premise of the article are that they are ignoring both education and experience, so I don't see how your comparison fits.

This thread isn't about who is more likely to fail. We are talking about hiring and who is likely to succeed. My point that companies have dumbed down what they call success so that managers can have jobs has nothing to do with engineering catastrophes. What is being called a success, I call a failure.
Cool idea and thanks for sharing! I see that you are shelling out to run the git commands. Any reason for not using a git binding instead? rugged[0] is a pretty well-used library for interfacing with git directly.

0 - https://github.com/libgit2/rugged
You can diff registry files and any subtree. You could diff the entire system if you wanted to. Yes, you do have to export to files but you still get one consistent format no matter how deep you want to go.
Here[1] is a nice 5-minute 2008 video on the same topic. And a 2011 NYT article[2] also points out some of the challenges they have faced. This 2012 article [3] has some nice pictures

[1] https://www.youtube.com/watch?v=frOl9mO7q6o
[2] http://www.nytimes.com/2011/09/08/world/europe/08iht-italy08...
[3] http://www.caravanmagazine.in/photo-essay/parmesan-goes-indi...
The semantics of wasabi (VB) and c# are slightly different. A fair amount of the code was actually the result of various code generators. It dumped everything in one giant file (delimited by #file markers, though). Nothing intractable, but nothing high priority.
Project managers are underrated
Assuming I could transfer the benefit of hindsight back to Joel's position in 2005, including all the knowledge of how the market has evolved over the past 10 years? I would've jumped on the SaaS bandwagon, hard, and converted the existing the existing VBScript codebase to a hosted solution, discontinuing support for the PHP/Linux version and freeing the company up to migrate code as it wished on its own servers.

I recognize that this would've been a huge leap for anyone in 2005, when 37signals was basically the only company doing small-business SaaS and the vast majority of companies insisted that with any software they buy, they actually buy it and the source code and data sit within the company firewall. Heck, when Heroku came out in 2007 I was like "Who the hell would use this, turning over all of their source code to some unnamed startup?"

But looking at how the industry's evolved, that's pretty much the only way they could've stayed relevant. Many companies don't even have physical servers anymore. That's the way FogBugz did evolve, eventually, but they were late getting there and had to back out all the existing Wasabi code and fixes they made for it to be easily deployable (which was one of their core differentiators, IIRC; they were much easier to setup than Bugzilla or other competitors).

It makes me appreciate how tough the job is for CEOs like Larry Page or Steve Jobs, who have managed to stay at the leading edge of the industry for years. Larry was pretty insane for buying a small mobile phone startup called Android in 2005, but it turned out to be worth billions eventually.
Check the fine print. Even with the self-hosted version, Atlassian is scraping the chat data for analytic purposes. This was confirmed by Atlassian support via a HIPPA audit at my last gig.
Ask HN: Which Companies Give Their Employees Private or Team Offices?
Here on HN there are so many people that loathe open office layouts, and it seems like there is a lot of energy spent yearning for privacy, but I don't think I can name any companies other than Fog Creek Software that actually give employees a private office or small team office.

I run an office design website and want to write an article about it, but it also seemed like it would be nice way to see who is bucking the trend of the open office plan.

Which companies give their employees private offices or small team offices?
Ah, I meant to say we do this for non-engineering roles. For engineering we provide coding challenges as a pre-screen.
It sounds like you're saying "resumes are fine, as long as you ignore most of the stuff that is considered important in contemporary resume culture." It's broken at a conceptual level, even if there are functional workarounds.

The experiment from the article basically does what you describe, cuts out the stuff to ignore and goes straight to the project history. It would be beneficial for this to spread even if some people can suss it out in the current process, because there is still a large culture of looking heavily at things like alma mater and GPA.
Is ipv4 depletion an issue for the big cloud providers (Amazon , Google, DigitalOcean, Rackspace)? How many ips do they have left?
#MusicTech e-book: data science and music discovery
Lua has perfectly sane lexical scope for its local variables. Don't mix it with Python and Coffeescript.
Who cares about X when there is Y?
create the next farmville?

Just kidding. But seriously, there's a lot of room for robotics in livestock management.

Visit a ranch, and then come home and write as many ideas for automation or data intelligence as you can come up with. Show your list to the rancher, see what he thinks.

Make your own path in life. Be a trailblazer, so that ten years from now, there's an article about you on HN that inspires kids to forge their own paths.
It looks like Google will be posting monthly reports of their self-driving cars from now on. Looks very interesting. See: http://www.google.com/selfdrivingcar/reports/
On which UNIX-like does /etc contain executables critical to system function?
crohr's pkgr (pkgr.io) works well as well.
That's largely because so many diamonds get jobs thrown at them and wind up in the "I haven't updated my resume. No worries, just send what you have." They get the interview, knock it out of the park and don't bother to update it.
Node.js Client for Telegram Bot API
Actual, informational, thoughtful post from someone who has first-hand knowledge of an act of actual software engineering.

Thanks for posting.
Is there anything out there trying to describe a whole system in a consistent way? Probably not, but some minimal standard would go a long way.

For me the fact that each software has a different syntax (some even use programming language for configuration purposes) is what makes life hard.
because when something gets corrupted, the damage is limited.
It doesn't feel like living in it.
Have been using Firefox since beta, hardware hasn't always been exactly latest and greatest and I really don't get this whole Firefox is bloated meme.
Unfortunately safety is not the only concern. Idris' tooling is severely limited. There are very few executables written in Idris (and even fewer that aren't bit-rotted), the build tooling and package management are very simple, the runtime is heavily optimized, concurrent or parallel (like GHC's) and the single-threaded performance is far from Rust's.

I want to be clear that I'm not hating on Idris I love the goals of the project and am probably one of the few people outside the core contributors who has written a backend for the compiler, but you can't really compare a production quality compiler with a full time team of 10 or so to a research compiler worked on by researchers (who have different goals) and volunteers.

Edit: To clarify for this reason I could see why it would be cool to be able to write some critical code in Idris and extract to Rust where you could get performance and tooling for the rest of your application.
You can't exactly tell customers to go check out the latest subversion head and compile it themselves. Changes were pushed upstream, but that doesn't push them to customers. Neither could we ship nightly builds, because who knows what changes get introduced? So we had a fixed release with a pile of patches on top of it.
The advantage of R is it's robust community. The "Array processing languages" family [APL, J, K] is a radically smaller community.
AFAIK Google web-based services aren't that popular in China, so IPv6 metrics there are kinda irrelevant.
Is there anything to the JXcore project? I was at one meetup where (I think) a core member gave a presentation on it that seemed loaded with inaccuracies about Node and mobile development, and it sounded all quite suspect. Then I went to their GitHub and and was unimpressed by it as well. I haven't found anything about it that doesn't look pretty sketchy. Anyone more familiar with it who can chime in?
http://www.newrepublic.com/article/118851/jonathan-gruber-ha...

'Among those who say they are surprised by the statement is Gruber himself, whom I was able to reach by phone. "I honestly don’t remember why I said that," he said, attempting to reconstruct what he might have been thinking at the time. "I was speaking off-the-cuff. It was just a mistake." As evidence that it was not indicative of his beliefs, he noted that his projections of the law's impact have always assumed that all eligible people would get subsides, even though, he said, he did not assume all states would choose to run their own marketplaces.'
I think none of them are deserving of the name "non-technical;" that's all I'm saying about them. Bill Gates, Hans Reiser, Jonathan Coulton, and Dread Pirate Roberts are all on the same "level".

I would suggest, though, that you think about why ESR is such a common name to you. He's a genius at self-marketing, and he's managed to set himself up as the arbiter of hacker culture while mostly just writing things about other people's code. Shanley is also a genius at self-marketing: although her goals are very different, it's useful for her political goals for you to think of her the way you do. If all you think of either of them is their online personas, you're being played, and they're winning.
JScreenFix – Repair stuck pixels
In 1 the problem is silently discarding double precision to float precision. I edited the example to be less confusing.
Google's Trip to the Stratosphere
Just curious, what's VPRI? Does it have any core design in this area?
Thanks. I misunderstood both of them.
I just went through a job search, and never created a resume. I only submitted my linkedin. If anyone required a resume, I immediately responded that we weren't a good culture fit.

Worked out really well. Not sure it's to be duplicated, but for me it went fantastically.
My personal anecdote on this, is the same. I've worked on teams with less than a dozen individuals that produced products that were "better" (for any number of qualifications) than teams run at large fortune 500 computer companies.

And, its not like I was really working any harder than the times I've worked at large companies on their products. Its just that I was producing probably 10x the code/features because the team had such a clear vision of how the product worked that most of us could actually debug a problem without actually looking at the source code.

I don't really think that its a particular talent thing either (aka we weren't better than the big companies engineers). I just think that a person who wrote the first version of the code, and spends a couple years polishing it is far more capable of extending and debugging it than someone who walks in from the street. Working with a half dozen people also gives one an intimate look at why decisions were made, and their results.

Even a lot of successful products that today have very large teams were initially written by small teams that formed the foundations that continue to this day.
Seems like IoT would have much more to offer with IPv6. Currently you buy a "internet enabled" schlage deadbolt for your front door and it connects to cloud to enable remote lock/unlock. If you could count on a visible IP address products/services could skip such things.

Again it's a chicken and egg problem, nobody does anything cool assuming IPv6 because few have it. Few have it, because you can't do anything cool with it.
The windows registry isn't a binary blob; It's a filesystem. A mountable, grow-and-shrinkable filesystem, that happens to be mounted from a loopback device. You can mount arbitrary SAM files at arbitrary paths in your windows registry (though I don't recommend ever doing it).

This isn't really an argument for the windows registry (it's a whole separate filesystem just for configs? With none of the versioning, inheritance, whatever features you want for configs?), but it is another way to think of it.
I've been using Firefox on Linux for quite some time. My default search engine is DuckDuckGo. I haven't had any problems with Firefox.

My wife uses Firefox on Windows 7 (she hated Windows 8, so we switched back to Windows 7) and she had been having some problems with Firefox (can't connect after auto-upgrade, Firefox using lots of CPU resources, etc). I finally figured out the connection problems (it was our Norton firewall needing to be told about the Firefox update), and doing a Firefox refresh (https://support.mozilla.org/en-US/kb/refresh-firefox-reset-a...) seems to have solved the excess CPU usage problems.
That Circadia device looks way too large to be comfortable. With some more engineering, it could have been made much smaller. Also, in the removal picture the battery seems to be bulging rather dangerously..

Battery maintenance and safety is a big concern. It's not easy to get at these devices once they're inside you. I know pacemakers use Lithium-Iodine battery chemistry, which is much safer and longer-lasting than Lithium-Ion.

Additionally, if it's just measuring pulse and heat, how much value does it provide over a smartwatch? My Moto 360 already takes regular heartbeat measurements and I can (crudely) map it next to my sleeping patterns measured from the accelerometer[0]. (Interestingly, there's a fairly high correlation between the two!)

I appreciate the vision of biohacking, but this device doesn't seem to provide much advantage over an external device, while introducing a whole bunch more inconvenience and risk.

[0]: https://dl.dropboxusercontent.com/u/538662/4_26.png
> Talking about where PHP (a unix program) puts it's configuration on Windows is hardly a valid point.

That's because it's not my point but an example of "it's up to the dev to be consistent or to follow the platform's guideline" which is my point along and with "`Program Files' is a nice folder name but you are going to find some user configuration files in there'".

If I remember correctly Foobar asks you when installing where to put its configuration files: user home, or program files. It should not. It should be in C:\Users\Alice\Local Settings (or was it LocalApps ?).
The major complaint I have with my current microwave is that it does repeat, since my apartment is small enough that I can hear it regardless of where I am, and there's usually a reason other than me forgetting if the food is still there after a minute.

I wish that sort of thing was made more prominent on the packaging.
See https://news.ycombinator.com/item?id=9778928 for more.

The trickiest bit of Wasabi is the type inference, which I admit is not "production-ready" (or "good code") because we basically invented it from scratch. If I were to do it now, I would know just enough to realize that I need to read about Hindley-Milner rather than reinvent the wheel.

Producing human-readable output is an exercise in tedium and bookkeeping, not any particular amount of skill or brilliance.
Don't know if they've changed it since OpenBSD 5.2, but /etc is very critical there.

E.g. man page synopsys for just two programs:

/etc/rc - command scripts for system startup
/etc/netstart - command script for network startup

There are countless others there. /etc/daily, /etc/weekly, etc (pun intended).
Maps on Android
Interested to hear whether people feel I'm wide of the mark on this, keep thinking that I must be missing something in order for it to justify this type of valuation.
Re: blob, please elaborate. Simply stating that something is wrong does not contribute to the discussion.

Explaining a confusing standard does not make the standard clear or good.
They are selling the information what you are searching for to Yahoo, not directly but indirectly by configuring their software in a way such that Yahoo can collect your data easily. That information is incredible personal. This is the reason why Yahoo pays for it. There is no stretch at all in what I've said.
Building something along these lines. For example: http://www.slant.co/topics/186/~what-are-the-best-hosted-con...
Quake in your browser
Viewpoint Research Institute, ~~employs~~founded by the famous Alan Kay. They carried the STEPS projects, trying to create an operating system in 100K LoC (whereas Windows is more about 10M LoC). OS with network, gui, office, reflective and programmable.

http://vpri.org/html/writings.php (search for 'steps' reports, last from 2011)
This is true, but if you gave emacs the 8 megabytes it wanted it ran great even at scale (lots of buffers into lots of giant open files) in my experience.

OTOH (also in my experience), Atom is somewhat Eclipse-esque (though admittedly not nearly as bad as Eclipse) in that the performance problems it has at scale cannot really be solved by throwing more hardware at it... whether you are on a relatively low-end laptop or a high end pro workstation with a 3ghz CPU and dozens of gigabytes of memory, if you open just a few big (>2 megabyte) files in Atom you're pretty hosed.
Doesn't tell you if your hardware will work with it, and it's too easy to just switch to the host OS when you hit something you don't know how to do rather than having to learn how to do it in the OS you're trying out.
On a _very_ high-level it is like a spreadsheet model of computation: build the dependencies between calculations, propagate value changes to the dependent calculations, but with two important improvements: per-node memoization of the previous calculations and ignoring updates that will not lead to the change of something visible to the user in the UI.
Very little, if I remember correctly. The FogBugz coding conventions meticulously follow Apps Hungarian (http://www.joelonsoftware.com/articles/Wrong.html), which means that the type of a variable should not change.
Well, there's an android app I used called SleepBot that graphs movements made in bed, can record sounds made at night (to learn about snoring, or sleep talking, etc) and then graphs all this stuff out over several days. It shows you amount of sleep, time of sleep, etc. Anyways, I ditched this particular tracking app because I found a better alarm somewhere else. While I used it though, it was interesting to see how terrible and uneven my sleep graphs were. It motivated me to tackle my sleep hygiene with more effective methods.

The real benefits I've seen from tracking thus far are time tracking g. An app called Goalist forces me to account t for every 5 minute block of time. Upon seeing the pie chart after a few eeks of diligent tracking, the amount of that pie that was taken up by "relaxing/idling" and "video games" totally disgusted me. I have now moved into a more effective use of time, I'm making sure those big slices of free time are taken up by educational stuff and coding practice. Visualizing these hidden factors in my life make them so much more palpable and easier to change!
OpenBSD works fine in a VM. Look through the FAQ http://www.openbsd.org/faq/index.html and away you go.

The only part of installation that is a bit confusing (to me at least) is the first time doing disc partitioning. The auto is fine, but you might want to read a bit.

Install your favorite software from packages http://www.openbsd.org/faq/faq15.html and have fun. Its a simple, logical system http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man7/...

Every 6 months is a new release. Do the upgrade and then upgrade your packages. Its really pretty easy. Do patches between releases which aren't that hard, but they are not binary. The instructions on the website are simple with very direct and good warnings.
Cool video and great copy-writing.

The editor still seems crude though. The new install used some old packages from a previews install that I though was uninstalled!? It also called home to report a bug without asking for permission. Then it froze after I had uninstalled the old package.
> I distinctly remember the absolute best developers that I hired also had the most atrociously bad résumés. The candidates with résumés that literally almost knocked me off my chair failed miserably at the most basic programming task.

Comments like this make me wonder if one reason for the ridiculously high failure rate in programming interviews is that the resume screening stage is actually acting as a negative filter, that is disproportionately removing the candidates you want and passing the ones you don't.
Looks pretty much the same as in Linux?
Do you feel that mentioning the existence of slavery legitimizes it? Please do let me know. I won't bother with the rest as it had literally nothing to do with the topic, those examples were brought in as a rhetorical device to bolster what, on examination, was a totally unsupported accusation.
I'm not running a server; I'm running a PC. Security problems affect me very little; broken functionality affects me all the goddamn time.

edit: also, because I'm talking about PCs and not servers, I'm running very few apps, and most of them do not interact with the network. Strategies for securing servers do not necessarily make the right tradeoffs for personal machines.
I'm happy with it staying status quo. Less competition makes it easier to hire the good ones. : )
The fact that this is nearly 20 years old gives it a pass in my eyes. I certainly agree for anything new, though.
Node.js for side projects
SunOS certainly did, Solaris does, AIX has at various points... probably the majority of Unix variants, in fact.
Ah. Yes, I was confused; I thought the issue was the promotion of the 2 from int to floating point.
ARIN has no control over what protocols people use on their networks. They're only responsible for the allocation of new publicly-routable IP address ranges for North American customers.

They've been quite clear and vocal about the fact that they're rapidly running out of addresses and will soon be unable to fulfill requests. There was no urgency when ARIN received its last global /8 allocations four years ago, and there doesn't seem to be any urgency now that we're seemingly weeks away from entirely running out. I don't know what it will take to make people pull their heads out of the sand.
AOSP's build system is based on non-recursive make. I like it quite a bit.