skysight-inc/HackerNews huggingface dataset:
In regards to templates: yes - there are drastically different ways to do templating. Enlive style templates are plain HTML files and clojure transformation functions, hiccup style are clojure data structures that mimic html structure and render to html and there are the placeholder template languages involving intermixing a crippled language and HTML (Django templates, Ruby's ERB, etc).

It would be business suicide to demand all your web designers learn clojure edn syntax in order to write out HTML in hiccup. They have work to do and they are experts with their existing tools, including quite complex IDEs.

If the html is being generated programmatically by clojure devs then hiccup type formats are extremely efficient. String building techniques suck worse for HTML than they do for SQL.

By far the most common types of template languages are the placeholder type. People love them. I hate them, moustache/ctemplate style templates are an excellent attempt to remove logic from them but why not just go all the way towards an enlive style if you recognize this benefit? I'm not the right person to defend them but the general argument is that designers can learn the crippled DSL easily and they can implement the simple parts of the template logic themselves. Moustache style templates are also useful if you are templating something like plain text that doesn't have structure.

And yes, I absolutely think that the single library to do HTML escaping with extremely paranoid defaults is the right solution. But a security person is going to be nervous that developers will not use it every place they should and unless I'm remembering incorrectly the request was for this to be integrated into the templating library to remove that error path. I'm not even sure how that could work properly outside of the placeholder paradigm (it has been done well in Haskell using types to track escaped/unescaped segments if memory serves).

In regards to frameworks: I think you are right about this position, I just really very much disagree that there "must be some way of unifying this in clojure" outside of an opinionated framework. The problem is the lack of ability to enforce a specific dataflow / data transformations that can be audited for security and generally applied. Enforcing a specific dataflow is the definition of a framework IMHO.

I fully agree with his push for more and better web security related libraries (I'm tired of doing these things myself but don't have the security expertise to create general solutions that anyone should trust) but some of it struck me as "if we just limit the expressive power of clojure for web development we can mitigate a large swath of security issues". He's absolutely right, but I have found that tradeoff to be a very poor one to choose outside of the simplest of CRUD apps.
That is false. A free market is properly defined as a market where the use of force is barred by the government.

So when the government itself initiates force in the market, it is not a free market.

There is no such thing as a monopoly without the use of force. You can temporarily have companies that have a very large share of their respective markets, but monopoly is not properly defined as "a very large company."

A cartel is just an opportunity for other people to make money by undercutting the cartel. For instance, if the cartel is maintaining artificially low wages, the competitor can take advantage by paying "normal" wages and getting the best employees. Hence, a cartel is not stable. (Unless it has government force backing it---as all modern successful cartels do.)
Yeah I think they realize, like most vendors, that most people don't even come remotely close to using that much bandwidth. Even using them as a proxy for nextflix will probably just end up being 300G a month.
Ha. Only the Das Ultimate doesn't have printed keys. I got the Professional which has printed keys (http://www.daskeyboard.com/model-s-professional/). I'm not that show-offy about touch-typing. ;)
Would appreciate it if you would expand on that. (My comment was general in nature.)
> Just the fact that people need a ton of shell extensions to make it barely usable is a problem in itself.

Idunno, FireFox pretty nicely demonstrates that a simple, straightforward platform with an emphasis on extensions can be great. Your use-case doesn't necessarily match my use-case, and letting the users get lost in a sea of config files to customize them has kind of proven to just cause havoc... so why not focus on extensions?
King.com opens IPO at $20.15, closes at $19
He probably means "insei" or "yeon'gusaeng". [1]

That is, students striving to become professional.

[1] https://en.wikipedia.org/wiki/Insei
For anyone wondering, X-ON and X-OFF are flow control characters. A device sends X-OFF to say "my buffer is full, stop sending data" and X-ON when it's ready to resume.

On most Unix terminals, these have the effect of pausing and resuming the display when a bunch of data is scrolling by.
I've used Weblocks, Slava Akhmechet's CL framework, and I think it's pretty good. The database interface is abstracted so you never have to cons up SQL directly. Session handling and CSRF protection are built in. I did find an XSS bug or two in it, which I've fixed.

You still have to pay attention to XSS when writing your app -- there's no way around that -- but I don't think there are a lot of holes in the framework itself, and it makes it relatively easy to write a secure app.

I can't offer you a guarantee, of course, but I can tell you that I'm less nervous about Weblocks than I would be about Rails.

EDITED to add: Weblocks does have a pretty substantial learning curve, but once you know how to use it, it can make for very high productivity.
Living in the UK, I've always seen it and for some reason never questioned what the Gr meant!
I have only a Bachelors (math) and work at a non profit research institute as a software engineer. I've contributed to a number of publications and first authored one, and had my name on some grant applications so I guess I count as an academic.

I think the bio field is desperate for people with software skills and it is actually pretty easy to get into if your willing to take a pay cut vs industry software rates.

On the other hand, I was getting recruited by a machine learning company based on my open source contributions etc but interest dropped off when they found out I didn't have a PHD (and wouldn't move to the bay area).

I think the reality of bio research is that it does involve a ton of mundane work and that even when working on a novel project we spend a lot of time doing server admin, cleaning, processing, reformatting data, building databases and data portals etc. Every time the scale of a study increases one of our tools breaks and getting things to scale often involves more hacking then pure research.

Occasionally one of us engineers come up with a novel approach worth publishing and more often we make a contribution to a larger study that is novel biology even if it isn't novel analytically.

I would contrast this with, say, machine learning researchers chasing percentage points on well established data sets like MINST or even doing kaggle competitions. Our data tends to be less settled more noisy, heterogenous, missing etc and have questions that are less well posed (eg often one disease is actually many with similar symptoms) so there is a lot more mundane wading through things.

I'm not sure what my prospects are if/when I decide to change jobs but I'm hoping that my open source contributions and papers would convince an employer that I know what I'm doing enough to continue working on novel problems.
I noticed the google.tw from AWS instances that are hosted in the US. Seemed odd to me at the time, but it's even more odd that it's the same on workspace instances too.
"it has been done well in Haskell using types to track escaped/unescaped segments if memory serves"

Right, that's done in Hamlet (which was developed for Yesod, but is its own library).

http://hackage.haskell.org/package/hamlet
And then one day the military, say, realize they now have a bunch of useless "military jets" built on top of a "passenger airplane framework".

The He 111 started out as a civilian plane, then became a bomber. But to be fair, it was always a bomber masquerading as a civilian plane.

http://en.wikipedia.org/wiki/Heinkel_He_111

Which is all fine, if it does the job for you, but you're not designing the airplane, anymore than microwaving TV lunch is cooking.

I don't think this is a very good analogy at all, unless it comes to something like App Engine or Heroku, and I'm not sure even then.

I know when Rails came out the hype was so huge, that everyone believed they and their dog can write big complex web apps. Nope. The only result of that is a bunch of people making beginner mistakes and getting "pwned" all over the web.

The smart move would've been to see this coming, then intervene, thus cementing that big huge groundswell of mindshare with better informed members of the community as a result. The thing is, we programmers are more apt to act like old-time barnstormers and solemnly shake our heads at the pilot who stalled and crashed, than to invent stick shakers and automated stall warnings.
Node.js does not. Maybe Redis does for it's advertised use case of caching.

Node.js was commonly hated on for missing crucial scalability features that are being fixed bit by bit. But why people bothered to reinvent those features on top of node instead of using adequate existing systems is a typical tale of tech for tech sakes that asks to be hated on.
is it

$ms-ratio: $golden;

or

$ms-ratio: golden;

?
Local securities law usually prevents you selling shares to the public without a lot more accounting.
Props to them for understanding the benefit in competing with Snapchat. Kind of late in the game, but better late than never?
The EC2 C3 instance type is going to be about the same price as DO for 1 year reserve and less than DO for 3 year. Spot pricing will also be lower than DO for C3s. On top of that EC2 is far superior to DO in many ways: EBS off instance storage (DO is local storage only), volume snapshots, IPv6, load balancing, private IPs, multiple IPv4 addresses, 8 data centers globally, firewalls, VPN, VPC, PCI DSS compliance, companion services like S3/CloudFront/Route 53 and much higher default quotas just to mention a few. DO is essentially a VPS with utility pricing.
Cracking China's Skype Surveillance Software (2013)
More details on how he did it are here:
http://cs.unm.edu/~jeffk/publications/foci11tomskype.pdf
I decided not to pursue and English degree because yeah right I'm not paying tuition for that, not after all the debt I accumulated from my CS undergrad.

It basically means that continental philosophy is my hobby. I try to keep up with 'real' academia through following certain people on Twitter, and submitting papers to conferences, reading things...
Sure, but then Huawei can say, "well we can't support our hardware if you don't let us access it". Or maybe they would say, "Ok so would you like to pay for on-site support?"

The "phone home" model is one of the safer ones to my knowledge, if only because it allows a blanket "-A INPUT -j drop" rule. Outbound connections should be filtered, yes, but inbound is even more important.
> So far the only action is a negative

It's not his only action, although it may be the only action people are interested in, or the only action that we remember because it has drawn so much attention. I would be interested in a more comprehensive history of Brendan's life.
The problem with this line of thought is that large criminal enterprises have political goals, and sufficiently large governments have criminal elements with criminal goals within 'em.
I wish all these millions of investment dollar would go to a better version of BitCoin. BT is a major breakthru but it is still in an alpha stage. The main problem is that it is deflationary, to support a global economy it needs to slightly inflationary.
Even though I'm fully aware of the 'correct' pronunciations, my preference for "Gee Enn You" and "Nome" is too strong. The standard way of pronouncing those is too cacophonous for me.
I've always dismissed that as pseudoscientific nonsense, but it would be amusing if fringe astronomers like Zechariah Sitchin turned out to be even partially correct.
I use PHP for my start-up, I would like to have used Python but the reality is that while I'm ok with Python I'd spent 3 years working every day with PHP plus Laravel solves most of my architectural problems with PHP.

In a really ideal world I'd love to use Go but while the language fascinates me as a one man dev team I pretty much stick to languages with large and "complete" available libraries (as they act as a force multiplier).

In the really long term is one of the purely functional languages though not decided on which.
And also on Unity (if you're into that).
Well, most important is probably availability and stability of domain relevant libraries in either language. There are areas Haskell has well covered and areas where it's thinner...

It's also been the case historically that Haskell had much better concurrency support - I'm not sure whether that's still true - in which case a more parallel workload might push Haskell-wards (if it's not so parallel that simply spinning up N entirely separate processes make sense, in which case concurrency support doesn't matter).

I'm not familiar enough with the current state of OCaml, or with Haskell libraries outside the domains I've been playing in, to really give a thorough run-down of specific domains, sadly. I'd be interested to see it if someone else took a swing.
I tried it once. Worked perfectly. Really wanted to pay for it, but failed to do that.
Clearly not "worthless" if you plan on spending your career teaching or researching in academia. Otherwise...people should really, really count the cost.
TwitchInstallsArchLinux?
The first slide is to blame, not the overall design. I scrolled from the get-go, but that's because I didn't engage with the "play" button on the first slide which seems like the only thing they want you to do. If there were no way to interact with something in that first slide, you'd scroll.
Why? Javascript isn't class based. Why not embrace the paradigm of the language you're using?
Obviously, but I'm just clarifying here.
> I'd watch a movie with someone using an Oculus. It'd be a fun experience.

Really? I wonder if it would actually feel like watching a movie with someone, or if it would just feel like watching a movie alone.

VR, like social media, has the potential to connect us with people distant to ourselves, and distance us from those nearby.
In Silicon Valley, Men with advanced degrees earn 73% more than Women in the same industry and with the same degrees (according to Silicon Valley Index).

this was shocking so i went to the source: http://www.siliconvalleycf.org/sites/default/files/publicati...

This percentage is down from a striking 97% in 2010, meaning that men with graduate or professional degrees in Silicon Valley were earning nearly twice that of their female peers.

progress, although we are far from the finish line.
Note that is the result of a poll, not from statistics about actual estates.

(I don't expect it is particularly wrong, but it isn't a very strong number. Apparently a larger percentage of those over 60 think they will have money to pass on http://www.interest.com/retirement-planning/advice/interest-...
)
There will always be a person with top level access. In networking these people are chosen by trust.

For example. You can become a Juniper Networks Certified Internet Expert but that doesn't mean you can get a job. People still need to trust you.

And a good spy is someone people trust.
Finding the cause for bee disease using arduino
That says a lot for their customer service. I know a lot of companies that would have had more of a "you break it, you buy it" style attitude. Good on them!
They are different threats. You can't say a criminal isn't a threat. One will oppress you, one will stab you. Neither is good.
Your comment disturbs me a little…
One of my gripes with Excel was that it imported and produced TSV data
by default when you asked for CSV.
The Office Time Machine
When GNOME 3 came out, I was upset and hated it. Then I moved on to running i3 without a DE and I don't think I am using a DE again. It's surprising how little features of a DE I need. Right now, I have nothing that requires a DE.
It's true that Glacier is a bit tricky, but you can easily cap your retrieval costs (with a bit of margin) if your use-case allows you to choose a maximum retrieval rate, rather than thinking in terms of retrieval amount. If your peak hourly retrieval rate for a month is N Mbps, your cost is no more than $3N. So for example, $30 for a month that includes 10 Mbps retrievals, $300 for 100 Mbps retrievals, etc.

A bit more detail in an older comment of mine: https://news.ycombinator.com/item?id=7147325
Absolutely. A few years ago, even I, a low amateur dan, was able to beat the strongest AIs with the computer taking 9 stones.
Which is not a viewpoint from someone who "likes" it. They have an objective, professional point of view. He doesn't like it though.
Tried it. More bells but difficult to make accurate. Hard to use if you can't see the floor corners of a room or if dealing with short narrow spaces.
Upper bounds are information about what you know your package works with. It makes no sense to throw this away. What does make sense is improving our tooling to allow this information to be ignored in certain circumstances.

I've been on the other side of the fence with a large app written a long time ago that did not specify upper bounds. Now that app is essentially unbuildable given the time I'm willing to put in. If I and all my dependencies had followed the PVP and specified correct upper bounds everywhere, I would still be able to build my app today. No, I wouldn't be able to build it with the latest version of other libraries, but that's not what I want to do.

If you don't specify upper bounds, the probability of your package building goes to ZERO in the long term. Not epsilon...zero. That's unacceptable for me. If it works today, I want it to work for years to come.
"reproducibly crashes on all screens. Except one"

This reminds me of the story about a large telecom company in North America and one in China. They were able to show that their code was stolen because they had the same bug.
And oh boy he likes to remind me of this lesson. :-)
Well, it's a good idea, but in typography sizing and spacing is entirely based on a slightly more abstracted approach: the baseline grid. The baseline is the imaginary line which runs across the bottom of type, and the grid's vertical spacing is equal to the leading, or line-height. Therefore, body type set at 10pt/14pt will always align with a 14pt baseline grid so that elements on opposite sides of the page will always align and various type sizes will flow more naturally into the design.

Logically, type sizes from there (and this harkens back to manually setting type) should only be whole or half increments of the base type size (from my earlier example, this is 10pt), meaning appropriate sizes are 10pt, 15pt, 20pt, 30pt, etc, with agreeable modifications when necessary. However, good proportions would dictate that 10, 15, and 20 are too close together and as such designers would not use each, but probably restrict their designs to the highest and lowest point values.

I think it's important to remember that just because there are six included hX elements doesn't mean they should each be a different size. To create hierarchy, try changing capitalization, tracking (spacing between letters), weight, and other available styles in the type family you're working with.
Actually, the past 2 years of Minecraft development were almost completely spent on RAM consumption, renderer efficiency, recreating the renderer with an OpenGL 2.1 shading pipeline, switching from direct drawing to VBO's, creating compatibility with translucent objects, etc.

Since January 2013 they've spent almost the whole time on optimizing the performance.

And the only features they've implemented since where features people wanted really badly or features which came automatically – for example, after adding support for translucent objects they were able to add stained glass with just some few lines of code.
I still prefer the dark theme over the previous "lucky charm" theme ;)
Obviously sophisticated screenreading software could extract secrets through VNC, or malware could be entered via keyboard.

But the "VNC gap" immediately obviates the risk of unsophisticated attacks. No more viruses spreading over SMB. Rather limited bandwidth (preventing raw copies of The Hobbit in 4k from being ripped via VNC).

It isn't bulletproof, but you can't pretend it doesn't help.
>I have a hard time accepting, as a leader, someone who goes out of their way to donate to an anti-gay campaign whose aim is to do nothing other than deny the LGBT community something out of spite. It's not his beliefs that are the issue; it's that he's trying to impose them on all of society.

I wouldn't really say "imposing" is the right term. I think "trying to impose" something on all of society would look more like something along the lines of bribing politicians. Instead, he donated to a campaign that aligned with his belief. Aren't campaigns a mode of free speech by which people can get their message out there? Moreover, aren't beliefs (at least strongly held ones anyways) supposed to be something that a person is willing to speak out about? So, If you claim that he can hold beliefs but that he shouldn't be allowed to speak about them, then it really does become a situation where you deny his right to hold his belief.

Also, isn't a society a collection of people who try to figure out what rules everyone should play by? I like to think of these rules as a sort of LCD, something that everyone can agree on. And, as the members try to alter the rules, they also alter the LCD. The catch is that if one of the LCD "rules" is being reviewed, one side can't just shove it down the other's throat. If that happened, then the LCD would cease to be a LCD and society would then be torn apart. That's why a proper exchange of thoughts is important.

That, I think, also means that the exercise free speech should be accompanied by the willingness to dialogue in a respectful manner with people with opposing views. "But", you say, "he refused to make a public statement on his donation." I think it doesn't matter because it's hard to have that sort of meaningful conversation with a crowd/mob. So, while boycotting Mozilla is fine and all, I think the best course of action would still be a one-on-one discussion. Luckily, it seems like he is doing that at Mozilla with his coworkers.

Finally, this is a separate point from the one above, but if someone claimed to hold a belief but was unwilling to defend it in public, wouldn't that be telling about their qualities as a leader? Shouldn't a leader be someone who is willing to take the vision of his followers, hold fast to them, and proclaim them to the world no matter the circumstance? So, assuming we believe his statement about the separation of his personal beliefs and Mozilla's goals, wouldn't that actually lend credence to his ability to lead?
How much experience do they have marketing that tech? I've never heard of someone selling a Facebook-brand router. The few times I've heard of FB involved in an actual product, it tanked or disappeared, never to be spoken of again.

Facebook phone, anyone?

There's a world of difference between a potential item, like the FB phone and an actual, demonstrated item, like the Oculus Rift, so they might get some points there.

But their record ATM is non-existent, AFAIK.