skysight-inc/HackerNews huggingface dataset:
On the flip (karma) side, as a non-driver, Uber has materially changed my life. I rank it up there with google maps, cell phones, and SMS/imessage/whatsapp in terms of its impact. I can click a button, and in most major cities, have transportation, often at a price less than taxies that would sometimes never show up, in less than 5 minutes. The transportation is safe, clean, and polite (something I would also not have ascribed to taxis in most cities.)

And that's before it gets into logistics.
Agreed, I find it difficult to read code that's been split up into many small pieces because it gets difficult to keep track of the overall flow. Even with an IDE, the jumping around (and maintaining a mental call-stack) can be quite distracting.

My guideline is basically "as big as it needs to be, without having large pieces of duplicated functionality." If an algorithm requires 100 lines, none of which are repeated or very similar to the others, then so be it.

I wonder what the distribution of function lengths is like in the Linux kernel... there will be longer ones and shorter ones, but a 20-line limit seems absurdly short.

Also vaguely related: http://www.satisfice.com/blog/archives/27
Do you have one or two of the topics you are most interested in? It would take up too much time to dig up a worthwhile list for them all :-P
I agree with you. Just because it is decades old technology doesn't necessarily mean it has to be replaced with something. I have observed that the familiarity and usage of email among teens is alarmingly low. Then again, I don't see any better alternative to non-realtime, guaranteed delivery, suitable for both formal and informal communication and can-handle-all communication protocol like email. Perhaps todays teens will lead the way for building the alternative to email.
Nibblesort: Adventures in Optimization
OpenID is still a thing (its hard to kill a protocol). While most OpenID providers have gone away, indieauth.com will allow you to delegate your domain name to it.

<link rel="openid.server" href="https://indieauth.com/openid" />
<link rel="openid.delegate" href="http://mynamedomain.com/" />
you must be fun at parties.

You'll outgrow that attitude eventually, you should revisit that last post when you do.
While we're at it, why are we being told that the average human blink takes 400 msec? That's a pretty slow blink.
Splunk's revenue chart looks great: https://ycharts.com/companies/SPLK/revenues_ttm

When you are still growing, the goal is to invest as much as you can in further growth. Taking profits just means you pay taxes.

The only problem with losing money is if it's not the result of increasing growth (which can later be turned into much bigger profits)
No, someone went in, paid off some local politicians and military leaders, who then went in and forcibly (read: murdered a few of them) locals and any opposition. Then underpaid some contractors so that there would be none of the pesky expensive safe disposal of waste. Oh, not to mention also had some militias shakedown workers when they protest a lack of pay, late pay or basic rights.

Think it doesn't happen? https://www.youtube.com/watch?v=M42ATZXmIKw
> Solution: 200 milliseconds

I remember that this is what blew me away about Spotify ... I'd used streaming services before, rdio, grooveshark etc .. but on my phone the streaming would take a while to load, in bad patches of reception it would cut out etc etc. Spotify was the first mobile streaming experience that made it to where I didn't need my itunes any more, and I never looked back after that.

Its a shame who ever is running the UX for their products is trying really hard to roll back all the awesomeness and good will they've worked for, by making questionable decision after questionable decision, their latest desktop update being the case in point.
I find it really interesting that Eircode gives each building its own code! That's better than the UK's system.
> since you have to try to predict what other engineers will say on your reviews

So the code is written with higher quality up front? Sounds like reviews are working as intended.
If the n is public, it's not really part of the private key is it? (Or private key) Granted d is not sufficient as a key either - but n clearly isn't secret. Is there a term for that? "Commmon key", maybe? Key parameter? Keystone? ;)
I think people are talking about encrypting while it's in transit, not in local storage. So you would want to not encrypt email for the same reasons you'd want to not encrypt wifi - ie none.
I love the part about how if the keyboard you've scrounged up uses the wrong logic convention, you can just solder a 7404 on the board in the spot provided.

Truly a different era.
The general complaint is that this isn't transparent, but it's fully within the law.
I'd suggest undefined over null if you want to effectively remove a property, since JSON.stringify won't serialize those properties... in an array, it will become null.

Though, I don't use delete much, I honestly don't worry about it much. In most contexts it's a bit of a premature optimization unless you are in a very low-level tool that will be used for example gaming, video or photo manipulation, there are probably better optimizations to make.
That is a pretty serious bug in whatever email program allows tracking images to work in email. Seems unlikely anyone would use such an email program. Which email program are you talking about?
I dont know Rust, but I think this could be vulnerable to XXE attacks[1]. Back in the day I fixed all the Java RSS libraries so now I always look for it. It's not exactly an obvious problem.

Also you should add RSS 1.0 (RDF) and Atom support.

[1] https://www.owasp.org/index.php/XML_External_Entity_%28XXE%2...
"look like a programmer".

A while back I bought this really nice pin-stripe suit. I really liked it, I looked really sharp in it and it was really comfortable. One time I wore it while walking a mile in a driving rainstorm, but it dried and looked good as new after I spent an hour inside a fast food joint.

So I started wearing it to job interviews. There is no doubt in my mind, that my interviewers did not believe I could possibly be a coder.

Computer programmers don't wear suits, you see.

Eventually I gave it to the poor. I had the idea it would help someone else get a job, doing something other than coding.
I use fb chat with chat secure on android. Xmpp seems to work fine?
forEach is awfully slow compared to a for statement if you're dealing with numbers - less so with strings/objects, but it's still noticeable (like 10x whenever I've tested it at best).

Caching the array length still gives you a small speed boost in most browsers, but it's probably an over optimisation unless you're doing something really intensive.
Curious. So Woz had already written these routines and didn't incorporate them into Integer BASIC because "he was primarily interested in writing games, a task for which integers alone were sufficient."

Yet there was customer demand for floating-point and Apple ended up contracting Microsoft's BASIC (which included FP) as Applesoft. Supposedly this was because "Wozniak—the only person who understood Integer BASIC well enough to add floating point features—was busy with the Disk II drive and controller and with Apple DOS, Apple turned to Microsoft."

It's hard for me to imagine that Apple didn't have a single engineer that could incorporate these already-written-by-Woz routines into Woz's Integer BASIC.

Reference: http://en.wikipedia.org/wiki/Applesoft_BASIC
I did not admit I don't know much about this, although I will now, but that's not the important thing in these discussions. Very few people in the scientific community know what's out there, and many are misinformed in the exact same ways.

You seem to be suggesting that everything is fine, and that all the C code that exists right now in the scientific Python community is justified. This is incorrect.

Needing "C data structures" (I'm guessing you mean memory management but I'd love to have a look at your library tomorrow morning) is certainly reasonable -- and there are better ways to do so than the CPython API.

My point before, which I am pushing, yes, is that the scientific Python community is using old tools, and they'd benefit from using new ones that actually would directly benefit them, which PyPy will -- CFFI is a better choice than ctypes or the CPython API for way more agreeable reasons than whether Python 3 is a better choice than Python 2, and pure-python is a better solution than both for where it's applicable -- it's unimportant where that is to me, my point is "it's more than what we currently have in pure-python".
I worked on an extjs app for a company where most of the users at the time where IE6 corporate wide (this was several months after IE8 was available. That said, there were such horrible memory leaks with references just in the nature of the application under IE (component<->JS ties wouldn't unwind/gc) it would quickly eat up memory after about half a day of work would need to restart the browser...

In the end a lot of people using the application would either have to restart during the day, use portable Firefox, which many actually did. Of course, there are/where many worse things in practice dealing with supporting IE<9 for relatively modern web applications. I'd still rather deal with that, than the v4 browser days.
Well, the historical precedent here is actually Iran. And look how well things went when foreign business interests were given that kind of standing there.
Who could be for protectionism? Well for starters, the United States for most of its history. Protectionism is a big part of what put the US in a position to become the global superpower.

Tariffs on superior, imported textiles from the British Empire allowed the US textile industry to become dominant. Many years later the US gov did the same thing at the behest of the American steel magnates, allowing the US steel industry to become dominant. In fact, the GWB administration added tariffs to protect the US steel industry against Chinese steel about 10 years ago. Furthermore, just this week, US steel companies are asking to have them put back into place http://www.wsj.com/articles/u-s-steel-ceo-says-tariffs-could... .

This is a case of the US advocating do as we say, not as we do. The US obviously doesn't want Vietnam, Mexico, or any other country to develop their own industries -- they want to flood their markets with American made products so that American corporations can see nice profits. Unfortunately, thats usually at odds with whats in the best interest of the foreign nations population.
Well, my.mp3.com did something similar Jan 2000. Online music is really a licensing problem, not a technical one.
Had experience in sysops perl scripting for web apps under my belt (wanted unified dashboard + designer for monitoring metrics visualization https://github.com/andrdeas-marschke/nagplot) in the process reverse enginieered NRPE from source / wiretracing and created one of the most if no the most linked articles on the protocol in the process. Released the code as seperate package (Nagios::NRPE).

Then decided to learn JS and node and started writing a web real user monitoring system based on http://github.com/bluesmoon/boomerang. While at it submitted PRs to upstream and engaged in the community mostly with complaints about sftandard stuff missing and modules not being in a good state.

Now I work in the same company as the guy who created boomerang and lpve every minute of it.
Wearable tech portends vast effects on health and privacy
What a strange question. Email is decentralized, has opt-in encryption, and is usable by anyone with access to the Internet. It might be frustrating to receive a lot of it, but I don't know what 90% of the people who use email would want to "improve". It seems to be a fairly solved problem as a protocol - the improvements are probably just to whatever client you use to access it.
I'm not sure how gmail makes email "less painful"? I'm not even sure it makes webmail less painful.
University computer science courses focus on the asymptotic performance of algorithms - what is the Big O for large N?

That results in such algorithms commonly being the topic of job interviews.

But in my actual experience the data sets are far smaller, when we encounter them in the software that the typical person uses - what we used to call "shrink-wrap software" because users purchased it in a shrink-wrapped box at a computer store.

Rather than considering the runtime of an algorithm that is sorting one million items, consider the runtime of an algorithm that sorts one hundred thousand completely independent sets of ten items.

I've often toyed with the idea of publishing a book called "algorithms for small N".
Is the security issue related to specifically RSS or the XML parsers?

With regards to Atom: https://github.com/frewsxcv/rust-rss/issues/2

I did not think RSS 1.0 support was necessary since (AFAIK) RSS 2.0 is backwards compatible. Please correct me if this is wrong
> If it were a technical journal, maybe they wouldn't be related. But they're definitely related for a popular article.

Hence my last paragraph -- they're only related in the sense that the entire formal methods/verification/theorem proving community is related. Given the hundreds of systems/researchers that would make for interesting additions to the story, it's not surprising that TLA+ isn't mentioned.

(Incidentally, the author's choice representative for "other people are doing this too" -- Automath -- is probably just as good of a choice as TLA+.)
One of the biggest changes is the dissemination of information about programming. Ask any developer from the 80's or 90's about the trip to Borders or Barns & Nobels and you will see a smile of nostalgia cross their face. Books used to be how one learned to program or learned new technologies. I remember owning a well worn Javascript Bible that was used by 8 or 9 programmers in the office as reference back when JS was new. Many developers spent several hours on the weekend at the bookstore pouring over programming books. Now with high speed Internet, video tutorials have trumped books for learning new tech. I really miss that experience.
I got started seriously around 1998, when I bought (bought!) a C++ compiler, the CodeWarrior Discover Programming Starter Kit [1], for the low low price of $79. Metrowerks achieved this amazing price by forbidding distribution of any software built with this compiler.

Two years later I was rocking with Project Builder, which came with OS X Public Beta - at no extra cost! I credit the release of OS X, and the huge usability advances in Linux, for making the GNU toolset accessible to hobbyists and students. This barrier lowering is what enabled the Cambrian Explosion of programming languages we enjoy today.

1: http://www.macworld.com/article/1014313/19reviewscodewarrior...
Yeah, it makes me think of the knockoff "New Jersey Fried Chicken" and "Wisconsin Fried Chicken" restaurants you see in other countries.

Edit: some examples

https://www.pinterest.com/rhysdgriffiths/not-quite-kentucky/
If your e-mail program sends a HTTP request for an image based on an "img" tag in a HTML-formatted e-mail, it can get tracked based on the URL.

Many e-mail clients will not show images from e-mail addresses that are not in your contacts list for this reason (for example, Thunderbird). They make the user click a button to make the decision to proceed with the image download an explicit action.
All of them that I use commonly. Outlook, Thunderbird, and Mail.App all do (though in each case, the user has some control over "download external content?", often on-click).
My mother had no clue about storage until she came up with the term "gigabytes".

Now, when I discuss storage with my mother, if I use the term "gigabytes" myself, she knows what I'm talking about.
In Which I Finally Get MVC (Sort Of)
If one wanted to be even more pedantic, N is the modulus, e is the public exponent and d is the private exponent. N is required for both public and private operations.
What software that we write today, or even over the course of our entire lives, will still be in use ten thousand years from now?
Google-play-scraper v0.1.0 out
The one thing that is missing, which ALWAYS seems to fall by the wayside, is security. If people incorporated more iterative security testing (static AND dynamic, automated AND manual) and threat modeling into their SDLC reviews there would be a plummeting number of vulnerabilities.

But, because it doesn't fit in with the whole "Lean" approach to software (deliver features yesterday), all but the most established enterprises don't seem to care much unfortunately. Once more people experience a breach because of their desire to deliver first and remediate vulnerabilities later then perhaps more awareness will be raised. By then it's too late though.
You could get the same thing from Lyft, and not support an unethical company. Most users of Uber probably don't care though.
I have a related project that I've considered commercializing. I've built a temperature controller with an embedded linux board that serves a webpage and runs a python websocket server that updates the page. I've also got a daughterboard with a thermocouple amplifier and transistor to power a small fan that feeds the fire. The system logs and graphs temperature data. It's basically complete control from your phone.

http://imgur.com/a/aGr0H
> I went from thinking that this team has built a really great product since i've used it, to having a really negative opinion about them because the ad disrupted my flow

Just throwing this out there because you mentioned it's been a while since you used Spotify -

Spotify offers a premium service for $10/mo which allows unlimited music without ads playing every few songs [1]. If ads are the deciding factor in whether or not you consider the application "really great" and you decide it's worth it to you, the option is there for ad-free listening.

[1] https://www.spotify.com/us/premium/

Looks like they have a deal right now - 3 months for a buck.
Your 'cloud code' is just another microservice. You write it in whatever language you wish, package it with its dependencies as a docker image which will then be deployed onto hasura's platform and linked with the rest of your app's infrastructure.

Essentially, you don't have to deploy anything on your own server. Whatever functionality hasura's 'batteries' can't provide (yet), you write it as another microservice. At the end of the day, your app is composed of several microservices (containers running in the cloud), few hasura provided and few custom written.
"Long stretch of imperative code however does not separate well and probably should remain a very large function."

As someone who uses Resharper's Extract Method a lot this is a nice counterexample to where it's probably inappropriate
Maybe this is the future.
I prefer the hot and fast cooking method (smoking temperature around 275). Ribs can be smoked in an hour and 10 minutes. I compete in KCBS sanctioned bbq events and do well using the hot and fast method. I've tried many smokers out over the years and now solely use vertical drum smokers (specifically Hunsaker Vortex Smokers) as they do well with the hot and fast method.
Letting fear rule your life makes for no fun.
I'm a dev who became a manager. I do a lot of interviews at one of the big tech companies. I cannot overstate how right cweagans is -- you have the opportunity now to just build stuff. Explore new projects, get passionate, learn as much as you can. You don't have to finish every project, but try to get one polished and shipped. The first question I often ask candidates is to tell me about a project they found challenging and interesting, and if you have a wall of those projects you'll be a leg up on your peers.
If only it were cheaper to send things into space. It'd be nice if we could blast spent nuclear fuel into the sun.
This solution satisfies my usage and doesn't use a continuation token, though one could be constructed from version and page. It does however expire.

I can see that the other comments on constructing continuation tokens won't work for HN assuming post upvotes are mutably updated.
If you're willing to throw it up on github, I'd love to see the code that you're running. I'd understand if you want to avoid that if you're planning on commercializing it, though.
Haskell provides functions like zip, zip2 and zip3 where an ordinary language just gives you a single zip that works with any number of arguments.

That's the kind of thing you do in C. For instance Unix: dup, dup2. (Linux adds dup3!)

That doesn't pass the "smell test", relative to all the claims about how Haskell and its ilk are the most amazing thing since sliced bread.
The main reason I bought Spotify premium (other than access to the full mobile platform) was to ditch the ads. I don't mind ads so much, but Spotify ads are particularly annoying. I seemed to get a lot of ads from fledgling hiphop artists, including extended samples of their songs, which was really disruptive and unpleasant when listening to folk/americana. After one two many focus sessions were ruined by obnoxious ads, I went ahead and bought premium.

Perhaps this was intentional :-)
Point granted, we use asphalt because it's a cheap and I should know better. I would still expect it to last longer than wildly complicated solar panel/computer/light displays that have many more modes of failure.

For this to work you have to do several things to the glass at the same time, none of which come easy: make it strong, make it hard (probably need to get to 8 or 9 on Moh's hardness scale), make it tough, and have it grip rubber as well as asphalt does even when it's wet. Considering scratch resistant and grippy compete with eachother this is not looking hopeful.
Jet – Lightweight, Realtime Message Bus for the Web
I apologize for that. I was trying to find other reasons that he might have finding a job other than his mental illness based on things he posted on his diaries and blogs on other websites.

There is also a factor of things found on Googling his name that are other than his mental illness essay.

I was posting those things to help him understand that there are other factors besides a mental illness that interviewers look at. I had hoped it would show how to over come that, and find a job. But I don't know of any solutions to it other than to get negative articles about him removed from the Internet, or create his own positive articles and SEO them over the bad articles. A reputation website might help with that.

Well all have flaws, sometimes we don't admit to them and don't learn from them and fix them. Many are in denial of them. Nobody is perfect, and in some cases you have to take a job using a technology you don't like to pay the bills because nothing else is available. I spent a decade with Windows and Visual BASIC, people laughed at Visual BASIC at the time, but I got paid money to develop in it. There are people who had ethics that Microsoft was corrupt so they refused to use Windows and Visual BASIC, but a lot of jobs at the time were for Microsoft IT shops. Those people who refused to use Microsoft tools due to ethics went without work. Some projects were short and didn't have a lasting value and some people refused to do them as well and went without work.

Myself I can learn almost any language or OS out there, I see them as tools and I don't hate one and love the others. I was able to find work because I wasn't picky about the tools or OS.
How to Download Cydia for jailbreak iOS 8.3
I started by building services but never really expected a payment, I just wanted to build something and figure out my way around servers. I think that's the best way to get started because it affords you the opportunity to start over if you find a new framework/database/server/etc. and there's no penalty for failing.