skysight-inc/HackerNews huggingface dataset:
Virtually all real-world stacks I know of use a work queue where each element in the list is queued up once it's ready. You don't need on-stack recursion or unbounded memory to track the execution states.

It's pretty trivial to implement this given a promises API and any sort of event queue, but you could also just do it with callbacks. So in the browser you'd literally just use setTimeout.

One reason this is so common is that it's trivial to end up blowing out the stack with recursive IO callbacks, because sometimes all your read()s complete instantly because all the data's in cache. Oops!
Oh that is very cool, I am definitely going to have to spend some time playing with that.
Thanks for the info. I might have a chance to pick one up and wondered how well it would work in the US.
Well the opinion that you "don't mind paying" for something only really means anything if you actually pay for it (or pay for something similar). If you "don't mind paying" but you're getting it free (eg via your workplace or some other way) then that opinion seems pretty void.
Great article, a lot of these points really hit home with me, as we've been using queues to process a lot of our data in the last few years. I think if you consider your queue being fine while having items backed up under normal conditions, you're going to have serious problems to deal with as soon as you hit 1) more input 2) you get a nasty bug in your system 3) often a combination of both.

As an aside, I really enjoy working with AWS' SQS queues, as they allow you to define a maximum number of reads + a redrive policy. So you can throw, for example, items in a "dead messages" queue if they were processed unsuccessfully 2 times. We use this to replay data, stick it almost immediately in our unit tests, and improve software incrementally this way.
How to Run Performance Tests on OAuth Secured Apps with JMeter
Depends. Gaming, photo editing, anything simulating the eyes' field of view? 2560x1440. Writing, coding, reading, where I want narrow, high columns of information? The square screen.
Without over-training on this one incident, and without guidance on how to get from here to there (I'm still working on that):

1. Don't get suckered by interfaces, share code. If you create code for others to share ("libraries"), stop trying to hide its workings.

2. You don't have to learn how everything works before you do anything. But you should expect to learn about internals proportional to the time you spend on a subsystem. Current software is too "lumpy" -- it requires days or months of effort before yielding large rewards. The first hour of investigation should yield an hour's reward.

3. "Production" is not a real construct. There will always be things that break so gradually that you won't notice until they've gone through all your processes. Give up on up-front prevention, focus instead on practicing online forensics. And that starts with building up experience on your dependencies.

More elaboration: http://akkartik.name/post/libraries2

My attempt at a solution: http://akkartik.name/about

My motto: reward curiosity.
I like the idea to choose one language, but... Start with Python. You're going to hear Ruby this and JavaScript that and Swift the other -- but seriously, I'm from the future. You should start with Python. It's essentially BASIC for this century: a great place to start learning the basics without being too weird. There's plenty of time and once you have those cold, you can investigate other languages, including the fun ones that have separate compilation steps and may produce segmentation faults if you're not careful.
Either I'm using journald to log to a binary format, or I'm having journald forward everything to syslog. If I'm trying to avoid binary logs in the first place, then there's really no point for journald to be running--just forward directly to syslog in the first place. Journald is just dead weight in this use-case.
SquaRED is basically the next 2048
History shows that they won't even do that under extreme competitive pressure, which they don't really have now in the market segments they care about. The last time someone won an "openness" argument at Apple was when Woz pinned Jobs to the mat over slots in the Apple II.
> The hardest part I have found with queue design is task cancellation. How does one 'cancel' tasks that are already in the queue or being processed?

That really depends on the queue implementation. If your queue is a DB table and you have identifiers for the items added to the queue that are mapped to a column in the DB, cancelling a queued item is just updating the appropriate column to flag the item as cancelled or deleting it outright (cancelling an in process item is usually more problematic, because its no longer on the queue, its with a worker. More robust engines that include more than just queue functionality may handle this -- but in general it requires that workers hand something back to the engine which then applies any permanent state changes, so that if the engine gets a cancellation it can just not make those changes; it could work if all changes also had a corresponding compensation mechanism so that if a work item was cancelled after some work was committed related to it, the appropriate compensation could be done.)
>Fucking SQL. I don't want to learn your stupid DSL... If I want a new feature, then dammit, build on top of SQL

What I hear is "I don't know anything better than the incredibly cut-rate solution I've been taught how to abuse, so I'm opposed to any improvements."

SQL is a human interface language. I absolutely don't understand the desire that people have to use it for IPC. The tremendous set of SQL injection vulnerabilities would never have existed in the first place if people used proper IPC systems for IPC.
An anti-virus vendor really wishes Apple would let them sell software to Apple's customers. Of course, they'll need Apple to first remove the sandboxing requirement so they can snoop on other apps. Conveniently, that will open up a brand new attack surface...
A little surprising to me that when you're trading hundreds of millions of dollars an hour that the software wasn't built with a NASA style of redundancy built in that would have caught the mistake.
Searching for Truths in Data in Big, Enormous, Massive data
It would be great for the security industry if Apple opened up.
How does one use it, though? Doesn't seem to have any signup page, unless I missed something (checked just now). Or is it only by invitation or something?
This piece is bullshit. Show me any piece of malware running on a non-jailbroken iOS device! Apple opening up their platforms would be nice for many reasons, but this is not one of them.
HHVM vs. Zend Engine in PHP 6
I don't know if there is an absolute right or absolute wrong, an absolute better or an absolute worse for the effects and side effects of a substance or technique on the mind.

Caffeine and alcohol have horrible side effects on my mind, and my body. I didn't realize for years, about the caffeine. I don't know about this kind of electrical stimulation. The fear that I wouldn't have the predictable kind of control over the growth and direction of my neural connections doesn't sound like something I want. I tend to think of these things in terms of trade-offs though.

I personally do not think it is very intelligent to place control over a highly sophisticated organ in the hands (or brain) of another being, unless I am certain to trust that being in that they know what they are doing. Very generally, it just seems like allowing someone else to manipulate, shape, and mold my mind, without me having a choice over it. I don't know if that is paranoia, or a kind of 'survival of the mentally fittest'.

I know that when I feel like it is highly probable that I have been duped into thinking a certain way because someone else thinks it better for me, and I find out that they intended to do this, there is a certain kind of rage that manifests in me, that is unlike any other. It begins with the assumption that they thought they were more intelligent than me. I've thankfully never been proven correct on this, but I tend to disconnect from people that don't have the ability to maintain a constant of mental equality throughout interaction. This is fairly tangential to the topic, but I think it's somewhat relevant in a broader context of the potential consequences of science poking at the brain, without understanding how the brain might fight back.
First it's not a GUI Framework,it's a webview that uses a Python GUI framework with a PHP server. I bet one could create the exact same tool on top of node-webkit,since you'll be basically running a server.

The hell,you could do the exact same stuff with next to no "serverside" javascript by launching a PHP server yourself in node-webkit,with the advantage of using a better webview because i'm pretty sure the one used in wxPython is pretty old.

edit:s/bindings/server
This comment might not float to the top of the thread, but I'll post it anyways.

When dentistry started out, there likely were more than a few dentists who learned this way. There are still, on occasion, unlicensed dentists found practicing dentistry with decently successful businesses.

Software development doesn't have the Software Development Association protecting the practice like dentistry and medicine do, for their respective associations.
I have been programming for 10+ years (and really more like 15 if you count being a teenager coding), and I change languages/editors/distros all the time. I have never switched keyboard layout (this honestly to me sounds like the biggest waste of time I have ever heard of). I am just saying that its not about finding some random piece of technology that you stick with forever, 90% of the time its using the right tool for the job, or contributing to something that already has momentum.
They've been around since 2001, but browser support only got good recently. Initially Adobe and Corel made browser plugins but Corel scaled back and Adobe bought Macromedia.

Also SVG GUI tools haven't been great. Inkscape is strongly print focussed, or at least was the last time I used it. There's no reason to set a page size on a web svg...

Someone needs to build an SVG equivalent of Flash Pro.
> That's kind of what compilers are for.

To be black boxes? Yes, they seem to have a long history of being that.

If I want to implement a stack data type being backed by an array, and I can not be sure that bounds checking is optimized away, I want to be able to turn off bounds checking if I'm 100% sure that my implementation indexes into the array in a correct way. I have all the information that I need about indexing into the array, since I don't expose indexing to whoever is using my stack. The compiler doesn't know more than me, in that sense. So why would I need compiler support - as in some graph which is a result of static analysis - in order to eliminate bounds checking?
Getting off Twitter
For productivity, ignoring the aesthetics of letterboxing for videos or games, aspect ratio comparisons really just come down to more resolution/desktop space is better. A 1920x1920 monitor is "squarer" than a 1920x1080 monitor, sure, but you can also just think of it as a 1920x1080 monitor with more space in the vertical axis. For productivity, making either axis longer or higher resolution is just better (obviously until you approach extremes which are physically unwieldy).
I believe both can work well. Caffeine works by more or less blocking sleep (by blocking bonding sites), increasing blood pressure, etc. Exercise works by increasing blood flow, releasing adrenaline, etc. Since they work in various ways, both can work well together.
Quick question about the pony. I mean, about Cstore. What do you think is the best option for doing that nowadays? (By that I mean columnar stores that are hopefully optimized with the usual tricks like inlined compression. I know Vertica works but if are there cheaper (free?) alternatives?
Were you employed (on the payroll) or were you independent contractors?
I think you have to talk to a sales rep.
I have to say I love the "speed of a running ant" analogy. It really emphasises the size of the universe.

But can an ant run 25m in 8 minutes? I honestly can't imagine how fast an ant runs. That would be a foot in 4.8 secs - that's a fast ant actually. But I guess close.
I come from a PSQL background where materialized views are manually refreshed :)

After skimming Oracle's docs, I'd settle for something as simple as:

CREATE MATERIALIZED VIEW my_mview

REFRESH FAST ON COMMIT

THROTTLE 10s

AS ( ... )

Does Oracle use deltas to refresh these mviews? It'd super cool if it did! For example, if the mview is a sum of a bunch of rows, then it could use the logged changes on those rows and its existing results to make the new mview.
Great, now I'm going to reflect on my physiology every time I see an Instagram photo. (Good point though)
Anti-virus is crap. Most AV apps I've used might as well be viruses themselves. Thankfully I now use Linux and Android, which are both fairly secure so long as you follow a few common sense rules.

As far as Apple is concerned, their sandboxed apps, closed stores and Unix-y way of handling code and permissions should also be secure enough to negate the need for anti virus...
True. I came to Knockout from using Angular and I was a little unsure about Knockout at first. Now that I have been using it for almost 3 months, I definitely love it's simplicity. I do agree with you about the data-bind variable reference difficulties that you mentioned.
You do need to set a page size, it's the reference point everything is measured relative to. It's only a problem if you can't zoom in/out infinitely.
I was thinking of writing something like this myself. This looks great!
Vertica is great, but expensive. I think it's free until 1 TB or something?

Postgres + cstore_fdw looks promising.
They are more of an understanding of what theoretically can be computed, rather than anything to do with how to do it or how to efficiently do it. I study lots of theoretical computer science, but it doesn't intersect with software engineering much. Software engineering tends to more relate to project management, operations research etc.
Another option is Brian Cavalier's slide deck format which is similar and easy to use.

https://github.com/briancavalier/slides
I'm pretty happy with a $250 4k 39" seiki and a dell u2410 1200x1920 (portrait) at work, but a square display would be great on a tabletop or otherwise in nonstandard positions.
School parks wired bus in poor neighborhoods to give kids overnight net access
How would you handle their problem?

Maybe this can turn into a chance to write some code (I'm willing to) to improve express?
What's gratuitous is using the occasion to get in a personal dig.
U.S. entrepreneur considered suing Uber over tracking activities
Thanks for asking!

"Have you not though about replicating this x100?"

My wife's family asks us that at least once a year.

We started the site a looong time ago, back when google dances were all the craze and SEO was just a baby. We worked hard building quality content around our theme in order to get pages indexed and were one of the first to market in this area. We ranked very well rather quickly, and started to get inbound links from university sites and courses where teachers linked to our content. As a result we get huge traffic relative to the work we put in. We were lucky.

Most of the traffic boost happened before AdSense existed. I remember when it came out and we got accepted. Seriously? We can make money off of this website? Advertising was never the intention, it was lead gen. Anyways, on went AdSense and lo and behold we made 80 cents that first week. I forgot about it for a long time until at some point we received a big cheque.

We have tried a lot of other things to monetize the traffic (lead gen no longer being necessary), but AdSense has always won. We have tried to build other sites to replicate this, but we were never able to luck out as we did with this one.

These days I would really like to do something more meaningful as well, rather than try to build an MFA site (not that this first one was, nor were many of the later ones; we always tried to tie the website into lead gen for a local company in some niche - friends, neighbours, family - using adsense in the hopes the site may be successful one way or the other).

WRT some of your comments, we didn't highly optimise the content, wrote most of it ourselves and the niche was our area of work. The main idea behind the content was building out the theme of our site, adding content related to the various aspects and explaining terminology, history and other details.
This Guy Will Spend a Whole Month Alone in a Room with Virtual Reality Goggles
I immediately thought of the medical usage, but then for scan results I thought they required a far higher res?
All TOP Black Friday Deals of 2014 (save a Lot in Walmart, Bestbuy and Sears)
NASA style redundancy comes with a significant cost, that is delivery times. The opportunity costs of time to markets in electronic trading are huge. Some opportunities disappear in weeks (though these systems were not targeting those sorts of opportunities).

Also, redundancies/qa are hard to quantify from a cost benefit perspective and trading firms are very short term P&L driven (pay is frequently heavily bonus based).
Well, it's the responsibility of the people who think some implementation requires this library to maintain it themselves, and as such whether or not that secondary implementation is intractable or not shouldn't really have any bearing on evaluation of OP's project... I could agree with this precautionary argument if somehow you were being forced to create/maintain such an application (for your job or something), but otherwise there's no difference.
Steve Wozniak joins his old Fusion-io friends as chief scientist at Primary Data
> flatuicolors.com

Great resource, thank you! I am going for something a little more muted, although I want to add some more depth and motion to make up for it.

> You should probably do some more cross-browser testing

That's on the chopping block. It was developed on chrome for Mac, but hardly tested elsewhere.

> Instead of using colored circles, use the icons for the technologies you know
> Use company logos (and give attribution or whatever) instead of drab colored blocks with text

That's a good idea.
> If we destroy the ability of newbie programmers to come up outside the university-professional path, we've just irreparably damaged the whole field.

I don't believe that, to be honest. There's a profound difference between a highly qualified professional and a hobbyist, and I am perfectly happy demanding that the first have a credential.
I see your article with an even newer article claiming those holes have still not been addressed.[1]

http://www.nature.com/news/climate-change-the-forecast-for-2...

Efforts to predict the near-term climate are taking off, but their record so far has been patchy.
@raphar: Great idea. Me too. I've been checking various online payment options for a while now, but all of them seem to have some issue or the other. I don't mean Stripe, since that is only available in the US and a few other countries, and I'm not in those.
Great job launching an app!

But it could use some design love.
Author here. I use queues all the time. I program in Erlang and there is one unbounded queue in every single process' mailbox in every node.

The problem is not queues themselves, it's when queues are used to 'optimize' an application (usually the front-end) by removing the synchronous aspect of things. In some cases it's reasonable, say long running tasks like video processing or whatever could be handled in many other ways than blocking up the front-end, for friendlier results.

I've seen queues applied in plenty of times where their use case will be to handle temporary overload (by raising latency and pushing some work to be done later, when the system slows down). The problem is that as time goes and that temporary overload becomes more and more permanent (or has such a magnitude as you can't catch up on it in your slow hours), it suddenly starts exploding very violently.

How much time the queue buys you is unknown, because the people running in these issues have likely not been able to characterize the load on their system, or the peak load they'd have (because the system dies before then). It's a challenging problem. Ideally you fix it by putting boundaries on your system (even on your queue! that's good!) and expect to lose data eventually or block it.

The really really dangerous thing is using a queue and never expecting you will lose data. That's when things get to be very wrong because these assumptions lead to bad system design (end-to-end principle and idempotence are often ignored).

And then people go on to blame queues as the problem, when the real issue was that they used a queue to solve overload without applying proper resource management to them.

Most of what I rant about in that blog post is stuff I've seen happen and even participated in. I don't want that anymore.
> I can see many galaxies from where I stand.

If half a dozen is "many", then sure. But you probably live far from any cities then.

http://en.wikipedia.org/wiki/List_of_galaxies#Naked-eye_gala...

(The list includes objects that are very difficult to see, and some only "reportedly" seen naked-eye.)

> They would appear even brighter without a local galaxy to wash them out.

There's no reduction in contrast in the direction perpendicular to the galactic plane. And yet the naked eye doesn't perceive the sky there "totally covered in fuzzy dots".

The naked eye has a lot of trouble seeing anything beyond the Local Group - and these are a handful of close-knit galaxies.

You need telescopes for that, with plenty of aperture. Once the aperture is comparable to the diameter of your car's wheels, or bigger, then yes, you get the "my god, it's full of galaxies" effect.
There's a decent amount of JavaScript in there to enable it.
You're assuming that your closed source vendors are perfectly aligned with you. In practice they almost inevitably seem to cause capture (https://en.wikipedia.org/wiki/Regulatory_capture).

Open/closed is a red herring here. Projects slowing down as they succeed seems to be a universal phenomenon, from startups to civilizations. Specialization leads to capture. I think almost exclusively about how to fix this: http://akkartik.name/about (you've seen and liked this), http://www.ribbonfarm.com/2014/04/09/the-legibility-tradeoff

Disclosure: google employee
How does your radix trie implementation handle variables in the URL paths, in a nutshell?
> Lose the weaknesses paragraph, and all the personal stuff. It makes you look amateurish

I was on the fence about that, so I'm going to nix it. Thanks!
Can't reply to you below (no reply link), so saying thanks here (about the sales rep bit).
I think that's right (also not an astronomer). I looked this up in the Hipparcos catalog [0][1] -- that's one that measures parallax distances to bright stars. It's supposed to be complete to at least +7.3 magnitude [0]. Cutting off at +6.5 magnitude [2] (the faintest visible stars according to [3]), Hipparcos reports

* 7,943 visible stars

* 1,078 (14%) beyond 1,000 light years;

* 34 beyond 10,000 l.y. (these must be supergiants!)

If I calculated right, a +6.5 magnitude star would demand an absolute magnitude of -0.9 at 1,000 light years, and -5.9 at 10,000 light years. Looking this up on the Hertzsprung–Russell chart [4], this would include only very bright giants, and supergiants, respectively.

[0] https://en.wikipedia.org/wiki/Hipparcos

[1] ftp://cdsarc.u-strasbg.fr/pub/cats/I/311/

(hip2.dat.gz for data; intro.pdf for field descriptions)

[2] Hp magnitude is a 340-850 nm visible band, which diverges slightly from V band magnitude,

http://heasarc.gsfc.nasa.gov/W3Browse/star-catalog/hic.html

[3] https://en.wikipedia.org/wiki/Apparent_magnitude#Table_of_no...

[4] https://en.wikipedia.org/wiki/Hertzsprung%E2%80%93Russell_di...
Impressive in how many ways one can phrase "not in your country, sucker".