skysight-inc/HackerNews huggingface dataset:
Is it luck, or is it timing? Why should you launch THIS business NOW? What technology or market discontinuity is enabling your new thing to thrive?
A better approach (IMHO) to loot in RPG games is to give NPCs/monsters actual equipment they can use and then drop naturally. You can combine this with a trinket generator to give each one a little more flavor. Of course some mobs carry stuff they can't use themselves (for example because it is assumed they looted it off someone), that's also fine - just put it into the "character generator" function or the monster template.

I'm a huge fan of giving mobs some history and uniqueness, and that's an easy way to do it. A nice side effect is that you don't have to think about loot separately when designing the content, because it comes naturally from the design of the mob. This also means that, by definition, a mob can never drop an inappropriate item.

Recently, I re-discovered the ancient Baldur's Gate games (enhanced edition), and they do something similar. Mobs drop the actual equipment they have.

Some loot traditionally comes from the body of the monster itself, like a rat's tail or a wolf's fur which you can bring to the next merchant or quest-giver for reward. A more natural method of doing it would be solely through the skill/crafting system, instead of dropping pre-defined animal parts just because they happen to be important to some quest.
What does this have to do with a single-player roguelike? I can sort of see

> of course everyone wants the The Sword of a Thousand Truths. So every day you go out and farm these kobolds until your fingers are numb rather than exploring the world

but playing for such a duration is already a massive design failure.
Show HN: Create ssh hostname rules from your DigitalOcean servers with ease
No browser adheres 100% to the standards.

I use resources like MDN and some automated testing tools to make sure the subset I use is properly implemented on all major browsers (all but IE <= 8, which really sucks at it).

But, subset or not, what I write is still 100% standards compliant code, in almost every project I'm involved with. I avoid as much as possible writing vendor specific code.

The result is I hardly ever get a complaint about my code working on one browser and not working on another.
Thanks for replying. I like your time averaged argument, that seems to be a good explanation of why it is useful, both to the trading entity and to the market, to be able to change orders quickly.

I think my final question about the balance between total costs and benefits is motivated by the fact that discussion about HFT and similar price-based trading always makes it sound like a lot of effort is being invested in the competition to find profit-making trades, and my wondering whether all that effort could be more productively used elsewhere.

I understand the market motivation behind doing it, which I think yours and others' explanations justify well, however, as I mentioned previously, I remain unconvinced by the allocative efficiency of markets in all situations, and these 'arms race' situations seem like good candidates for market failure (to stress, I mean failure only in terms of the societally-efficient allocation of resources, I don't doubt the local efficiency).

Your note about HFT profits obviously goes some way to addressing this by suggesting that the level of resource allocation isn't that high - I have to confess I didn't realise the profits were quite so low. I do, however, think that revenue is the more important figure, because that will capture the productive effort that we, as a society, are investing in this activity, which we can then usefully compare to the liquidity benefit we get from it.

In case you are interested, I think I have been spurred down this line of thinking by having recently read 'The Collapse of Complex Societies', by Joseph A Tainter, which I can heartily recommend if you haven't already read it. My argument is really his, just applied to the frontier of our times - finance.

And as a personal aside, if you don't mind my asking, you seem to have a good understanding of the realities of this situation, were or are you involved professionally?
I still haven't had a reply ...
I don't think you've fully understood Rob's point. Go is pretty good at creating machine-friendly data structures.
Absence of evidence is not evidence of absence. They may have stopped attacks but not revealed any information about this publicly, or engaged in misdirection as to their role using parallel construction.
Another great Žižek story/parable about surveillance is the red ink one, which I think is also relevant here:

So what are we doing here? Let me tell you a wonderful, old joke from Communist times. A guy was sent from East Germany to work in Siberia. He knew his mail would be read by censors, so he told his friends: “Let’s establish a code. If a letter you get from me is written in blue ink, it is true what I say. If it is written in red ink, it is false.” After a month, his friends get the first letter. Everything is in blue. It says, this letter: “Everything is wonderful here. Stores are full of good food. Movie theatres show good films from the west. Apartments are large and luxurious. The only thing you cannot buy is red ink.” This is how we live. We have all the freedoms we want. But what we are missing is red ink: the language to articulate our non-freedom. The way we are taught to speak about freedom— war on terror and so on—falsifies freedom.
Differences and Similarities in User Attitudes towards Video Conferencing
I clearly agree that the current graphics sucks, however I feel you are missing one major point in this discussion: Where's the sponsor's promotion?
That said, if I had to guess why we ended up with this abominable graphics, I believe that 30% of it is pure corruption, 40% is tasteless "let's make it look like a yunday" and the remaining is actually the desired "favela style".
Quantum trapping, UFO levitation
As I understand it you would have, as an example (example as a cycle):

file: As
contains: I an a

file: an
contains: example

file: example
contains: example as

Here "as" points to "example", and "example" points to "example" and to
"as". You have your cycle: pick a random file (get example) pick a
random word (get as), lookup as (open the "as"-file), pick a random
word (get "as" again, then "an" then "example" … ).

No links needed, the words are the links -- for US English, and words no
longer that 8 characters, you could this on FAT16.

(The files are vertices, and they contain a list of edges to other
vertices, in the form of the name of the vertices).
The goal is to deliver the most profitable code in the specified timeframe and with the resources provided. That's how you organize your priorities.

For us in many cases it means to throw away vendor specific solutions in favor of most-major-browser compatible subsets of the current industry standards, even if it means throwing out support for older versions of IE.

For some users it might mean using a different service, but for most of them it means switching to a different browser because their favorite app doesn't work on IE.

And that's why Microsoft is going for standards compliance and timely browser updates more than ever.
Even if someone hasn't done the dishes before, contorting the explanation through recursion is not helpful. Recipes and instruction manuals are not recursive, and are rich in direct control flow and avoid indirect (higher order) control flow like the plague. Recursion for human discourse is just not used often, it is a relatively recent concept to us.

There is plenty of program writing to do that don't involve deep knowledge of maths, in fact I would say a vast overwhelming majority of work companies need to get done are not helped by, and possibly even hindered by, an intricate understanding and application of recursion (keep in mind, recursion is actually dangerous in strict languages). Most of us are more like police dectectives using well worn tooling and intuitive problem solving skills to get the job done. Sometimes we might even need the help of a mathemegician, but not most of the time.
A left right organization also give you clue of which side of the field the teams are playing.
You'd be wasting your time as there is no feedback as to whether your attempts have worked to frustrate their targeting, and that's the best case scenario. The worst case is that someone picks up on your efforts and casually flags you to make your life more difficult - extra searches at borders, no fly list, and so on.
> A quote in the article describes her as being 'still awake', but I wonder what that means.

I suppose both physical and neurological observable processes that as we know define 'sleep' and 'awake': her eyes were open but with a blank stare and so on, and since they said she did not exhibit neural signs of epilepsy, she was wired to an EEG, so brain patterns would possibly not be matching any phase of sleep but wakefulness.

That's all that could be inferred from the article, which is honestly quite thin and sensationalist.
Exactly. There seems to be a huge amount of confusion here about this. Beyond that quote (which is excellent, btw) there's the point that creating machine-efficient data structures requires understanding the limitations of the architecture and packing the data in a way that it can be accessed efficiently by whatever algorithm you plan to use.

Things like whether you have an array of structs or a struct of arrays can have a massive effect on how the same algorithm will perform, because of factors like data locality, alignment and cache coherence (the latter mainly if it's a concurrent algorithm).

The trouble with studying algorithms without actually working on optimisation in a low-level language like C or Go is that it completely abstracts away what is really happening in the hardware, which is absolutely critical to real-world performance. In a LISP-like language you generally have no idea what the compiler is actually doing.
MEGAsync for OS X
I don't see the irony. Data structures and data types are two different axis.

You can argue that advanced language constructs will make it easier to write correct code to implement data structures, but it's not a magic bullet.

The Go authors argue that a simple programming language with loops, pointers
and arrays is all you need to implement any data structure you need.

I find this a good example of a data structure for which I see little or no benefit in being modeled as an ADTs:

http://research.swtch.com/sparse

Even simple things like doubly linked lists are complicated with ADTs.
On the other hand I don't know about good examples of ADTs used outside of the context of functional programming, do you have some pointers?
for good tea I really like https://www.teekampagne.de/en
Nope, it tells you which team is playing at its home stadium (or in the case of games played on neutral ground, the team that is designated the 'home' team by e.g. a raffle).

At half time the teams swap sides, the order of teams on screen doesn't
"We love a clear time indication, and Helvetica seemed to be the clearest typeface for our display."

No, I highly doubt you did any research. Helvetica numerals don't work well here, especially with sloppy kerning.

"We thought it could be interesting to add some useful informations without distracting you from watching your game."

Like the glitchy animation for showing/hiding scores?

"It’s not just a trend: infographics, pie charts and diagrams participate in your daily inspiration."

"participate in your daily inspiration" sounds terribly awkward.

Very hard to take this serious.
> By what possible perspective is that from
> "a different time"? Because Microsoft decided
> to distribute compiled .NET apps to Windows Phone?

When Dalvik would have been designed, there wouldn't have been an App Store. The model for mobile development wasn't clear like it is today.

I agree that it's a great solution: the AOT cost is, in practice, tiny. The flexibility (and, I expect, reliability) provided is with the cost.
I held ASIC miner and I got huge dividends AND it increased in value while I held and ended up selling
Machines are cheap. Developers are not. I would rather optimise for the latter.

Edit: since when having ADTs are so taxing for the machines? I did a quick search and I found no source saying they are expensive to implement.
http://www.roguebasin.com/index.php?title=Articles
http://www.waitersonwheels.com/
This post made me remember something: with the mail client which is built-in into Windows Phone, it's impossible to send plain text mails, even when you use Gmail.

And, on top of that, the mails are sent with the Calibri font. (Sorry for the off-topic)
In most of the roguelikes I've played mobs don't continuously respawn like that anyway. If you stay in a dungeon too long, either they'll be no more mobs and you'll starve, or higher level mobs will randomly start popping in.
I think you're conflating "what's released and out there" with "what's being used or distributed".

I'm saying you can test on the versions distributions are actually shipping (and the ones they're about to be using). In a lot of distributions you can rely on that staying stable for a period of time.

If your application depends on an older GTK library the solution is simple: depend on that version or ship it with your application. This is pretty unusual in the Linux world but old hat for Windows developers where you can only really depend on Win32; and for anything else your installer makes sure it's present.

And finally, for the third time, I'll state that I'm not saying there aren't legitimate issues with how GTK+ is developed. There clearly are... I'm just saying that some of the things Morten wrote show issues in their own development process as much as anything else.
Ah, but the box is a big deal. I'm a DIY speaker builder, but for musical instrument rather than hi-fi use. The box is an integral part of the electromechanical system that determines the response (and to some extent power handling) of the speaker at low frequencies. The box may be a plain box whose volume is its main parameter, or may contain other structures such as resonant ports.

Most woofers are designed so they have to be in an appropriate box in order to be useful. Without access to the process for designing custom woofers, the DIY'er has at our disposal two main variables for tailoring low frequency response: Woofer choice from off the shelf models, and box design. And there are some tradeoffs to manage, such as low frequency response and box size, so that there's no ideal box design for all uses.
Machines have a cost, developers have a cost. One must optimize for both costs, and assuming machines or developers were free compared to the other would be very stupid.

There are many problems that require some efficiency to solve effectively, especially in pike's field of systems.
I usually do a “man strftime” (included with man-pages) from the CLI.
Thanks. I like that example. Do you recall the algorithm they were implementing?
I think what happens with all intermediate or senior programmers is that we start to think about the best solution instead of just getting the job done.

Most code we write will either not be used or eventually rewritten anyways.
Agreed. One would almost think they were trying to both publish and bury this story simultaneously, as the headline is practically unintelligible.
Yes, with this approach you never see situations like "I killed a vamipire bat, let see what did it have... Halaberd?"
> "While commercial musical equipment is usually of quite usable quality, commercial speakers unfortunately are not, unless you go to exotic and extremely expensive brands. The reason is simple: Good speakers, by law of physics, need to be large. There is no way around this basic fact."

Is this as true as it was in the 1990's?

A lot of people have high-end small speaker systems with branding such as 'Bose' on the front. Maybe they have got old and their ears have changed, but even if they once had big-box speakers due to the physics reasons, they have moved to the small speaker 5.1 things and it is now okay to do that. The sub-woofer doesn't have to be stereo either.

I don't know, but has new thinking fundamentally changed how hi-fi is done from the twin speaker stacks of old with lots of tweeters/woofers/crossovers to these new-fangled mini-5.1 things?
Yeah, they have some good stuff!
> For example at 10Khz the wavelength is far too short for 'phase' to impact arrival time.

It's the time-of-flight difference between when the one ear receives the wave front and the other from a change in the sound that gives us the directional information.

Absent any change all we have to go on is volume so we rotate our heads to the point where both ears receive the signal equally strong, then the source is somewhere in the plane that bisects the head of the listener.

Rotating one ear forward gives us the clue about whether the sound source is in front of us or behind us. (Fails to work when it is directly overhead.)
Pimp your iOS Crashlytics Reports
Well, I'm no super fan of go, but given the ideas they were working with, I think they ended up with a fair compromise. I mean, if you want Haskell (or ML), use that?

I think it is a question of how far you're willing to take generalization over how easy it is to come up with a reasonable concrete solution to a concrete problem.

See eg: https://groups.google.com/d/msg/golang-nuts/DLxFvfdRKBY/NDkW...

The c mindset of unions/structs coupled with functions doesn't contradict the idea of "chose the right data structures".

[edit: It appears others have made this point better while I was typing. The gist seems to be (to paraphrase another comment): (abstract) data types and types are not the same thing. types can help with the implementation of ADTs, but that's not really relevent to the 5th rule.]
> If an amp has a distinctive sound, it has failed to achieve it's core design goal.

What makes you think the design goal of an amp is always to have perfect sound reproduction? That may be true for a home-theater system or if you're playing wind/string instruments, not so for a guitar amp. We have the (digital) tools to get pure, 100% uncolored sound, and musicians hate it.
Knex.js - A SQL Query Builder for Javascript
What distro/OS are you using now, might I ask?
Start by reading this:

http://www.amazon.com/Acoustical-Foundations-Music-Second-Ed...
If you'd like to try it, you'll get 20% off your first three bags with the code 'hackernews'!
The point of the convention is making the text fit on a 80-character fixed-with screen. QP-encoding the text won't solve that problem, as it will only create a very long line that is encoded in a way that has literal line breaks into it, which isn't the point.

What should be done, I believe, is that e-mail _clients_ should detect the 78-character convention and rejoin the lines into paragraphs if they think it would be best.

What Gmail does when sending mail is right, and the alternative view is that this convention should be dead and they should just throw it away and send very long lines.
"You can argue that advanced language constructs will make it easier to write correct code to implement data structures, but it's not a magic bullet."

There is nothing advanced about ADTs.

"The Go authors argue that a simple programming language with loops, pointers and arrays is all you need to implement any data structure you need."

It's all about increasing the level of abstraction. There is a reason we don't code in assembly anymore. Of course machine code is all you need to implement any data structure, but how convenient is it?

"I find this a good example of a data structure for which I see little or no benefit in being modeled as an ADTs:"

So you found a single counterexample which (according to you) would not benefit from ADTs.

" On the other hand I don't know about good examples of ADTs used outside of the context of functional programming, do you have some pointers?"

I dislike pointers (a necessary evil if you have mutation I guess...), but here is one example:

data Gender = Male | Female vs type Gender int; const ( Male Gender = iota; Female )

Combine the first with pattern matching and you find yourself in awesomenessland (ie. code becomes readable, type safe).
Yes; I can't stand the approach of hiding meaning especially on a Desktop website. Horizontal navigation at the top for the win!
The three scrapers each run every 5 minutes.
UTF-9 and UTF-18
And if your problem requires only one of each, and needs them for the same amount of time, then your optimization would be the correct one.

Now scale this to a situation where solving the problem requires ten thousand machines for each developer working on code, and where each minute of time spent writing code translates into two days of machine time running that code, and the numbers start to look different.
Which distribution supports it in general? Sure, there are particular instances of it being supported, but it's not supported in general.
Let me start by saying that I really like the clean look. I'm a fan of flat design. From a design point of view (visually encoding information that is) the layout doesn't make a lot of sense though. Putting one team above the other (as ntaso pointed out) isn't a good idea. Not only does it imply ranking, it also takes away the opportunity to show which team plays on which side and can't handle double-digit scores all that well. "FRA 7 : 11 BRA" works a lot better. I can see why they did it though. If the teams weren't stacked there wouldn't have been any room for the pretty clock (which I like a lot). But that's not how design is supposed to work. The indicators next to the team's names are completely unnecessary. Which score belongs to which team seems fairly obvious.

The info graphics part seems a bit over the top as well. A (animated?) clock icon, the time itself and the subtitle "Local Time" seems a bit redundant. Surely the unit explains what the information is supposed to be. "96,000 people" doesn't need "Attendance" added to it. Let alone the huge icon. The local temperature doesn't have a subtitle and I figured out what it is anyway. And again, the indicators ...

The "POSSESSION" (not sure why this one is all caps) graphic I like. Kind of. Three indicators - really?. The one in the middle makes perfect sense but the other two? The shirts are unnecessary as well. You already have the colours inside the graphic, put the names of the teams in there. The rounded corners don't fit the visual language either; make them square like all the others.

The "Formation screen" is okay I guess.
Really great explanations of how to make coffee and how to store it. Thanks!
And who else is in a similar field? 3% of all programmers? In that case, fine. But most people I see raving about Go can afford the performance hit any time (if there is any).

PS: Coding go is my day job.
I'm getting pretty sick of hearing this trope regurgitated all the time.

Developer time is often more expensive, but it's always a one-off cost. Machine costs are ongoing. Machines can also impose hard limits on scalability.

In the real world, software optimisation is often necessary. Ever play a computer game? Those have pretty hard limits on much time they can spend processing. You can't just throw hardware at the problem to make it go away when you don't control the client.

"Just add more hardware" is also an ecologically unsound and unsustainable approach. Ever wondered about the carbon footprint of the average data centre?

Maybe one day we'll have optimising compilers so good that thinking about machine-level data structures won't be necessary. They've come a long way in the last 20 years, but aren't quite there yet. In the meantime, if you ever find yourself actually needing to make something run within some hard limits on CPU time, RAM, etc., listen to people like Rob Pike: he know's what he's talking about, even if you don't like what he's saying.

In the meantime if you're working on an MVP, by all means optimise for developer time. In that context it's almost always the right decision.