skysight-inc/HackerNews huggingface dataset:
Signed Distance Field fonts are wonderful! I've been using a Unity extension called TextMesh Pro, which works very efficiently, and renders beautiful text that you can configure and decorate in many ways.

Beyond the obvious benefits of SDF fonts, it also has excellent and extensive layout, formatting and other useful features, like automatically scaling the text to fit in a given area.

The source code for the shaders and formatter and ugui integration is included, but not the atlas generator (although you might ask the developer if you need it -- he's engaged and helpful, and provides good support and quick fixes for Unity updates). It includes desktop shaders with many fancy features (outlines, drop shadows, beveling, glow, bump mapping, a surface shader that reacts to lighting and throws shadows into the world), and simplified optimized shaders for mobile.

I've used it (and read the source code to see how it works), and can testify that it works great on Unity's desktop, iOS, Android and WebGL backends. The code itself and the way it offloads so much work to the GPU is very beautiful and elegant.

TextMesh Pro - Unite 14 Demo:
https://www.youtube.com/watch?v=q3ROZmdu65o

Here's a benchmark that compares 5000 crisp TextMesh Pro objects rendering at 70 FPS, versus 5000 fuzzy Unity text objects rendering at 42 FPS: https://www.youtube.com/watch?v=rdc8UkxuSZc

Here's the same benchmark compiled with Unity's WebGL backend, with the same number of 2500 static and 2500 dynamic text objects. Nowhere near the 70 FPS of native code of course, but not bad for WebGL and so many objects -- zoom in with the mouse wheel to see the text up close: http://donhopkins.com/home/TextMeshProBenchmark/

TextMesh Pro on the Unity Asset Store:
https://www.assetstore.unity3d.com/en/#!/content/17662

Digital Native Studios home page:
http://digitalnativestudios.com/
I like these kinds of projects, but have thus far been unlucky with mono projects on linux.. I might try it out anyways.
0.0029% for injuries that require an emergency room visit, not injuries at all. Let's go for a conservative, 100:1 ratio of minor cuts vs injuries that make you want to spend a bunch of money on doctors, and we see that it's pretty darned dangerous. Dangerous enough that at work, we have mandatory training on how to open different kinds of packages safely!

That said, the state of blisters has improved, precisely because people complained about how easy it is to get injured with the older, plastic on plastic blisters that require either heavy duty scissors or a box cutter, and leave behind very sharp edges.
My first reaction was: how can that possibly work? I read the entire "why c#" page in the hopes of getting an answer, but it just kept going on about other stuff. Finally, at the end, under "Disadvantages of c#": requires a custom compiler. Which indeed eliminates my objection!
I got a lot of grief from fellow software developers at Progeny (RIP Ian) for having that book lying around.
Trucker Explains What You're Doing Wrong on the Highway
The app saves its state in whatever form it wants. The demo saves it in localStorage that is very limited. One really should look at something better like IndexedDB or WebSql (or something that hides the technical details, like localForage or PouchDB).
no subpixel rendering or hinting. Im confused - is there a problem with cpu rendered fonts that needs fixing? I didnt notice anything wrong last time I was reading schematics and datasheets on 4K monitor.
I don't necessarily disagree with your sentiment but Wikipedia was born after Google search appeared.
TextMesh Pro comes with an atlas generation tool. See my description above.
>"In order to use Microsoft's fork, you need a Windows 10 machine with the November update"

That does take the wind out of the post's sails a bit.
He is giving people what they want. If it wasn't facebook they would still be using myspace, hi5 or some other crap. There's no one to blame here, just a realization: humanity screws everything up eventually. That being said, the "open web" still is a rich place if you know where to look, but it sure would be better if the vast majority of people on it weren't social media drones.
The use of the grid reminds me of Qin 2006's
"Real-time texture-mapped vector glyphs":

http://dl.acm.org/citation.cfm?id=1111433

http://docdro.id/ynU32mg (Paper)

http://docdro.id/t6XiE97 (Slides)
Somewhat related: can fish shell do something like this? https://github.com/hchbaw/auto-fu.zsh

On the fly display of all the options. If so, to what extend? Some commands don't give autocomplete upon tab. Is there a way to fix that?
I'm using TextMesh Pro for a VR/AR application in Unity called Pantomime, and it works great for text in the 3d world space, as well as 2d gui dialogs. You can get up really close to the text, and it looks perfect. I posted some links to demos on the TextMesh Pro forum here:

http://digitalnativestudios.com/forum/index.php?topic=470.ms...

Some discussion about text in VR:

https://www.reddit.com/r/oculusdev/comments/34d8nm/reading_i...

More about Pantomime:

http://pantomimecorp.com
Probably like the new npm 3 dependency directories. If A and B require a common version of C then the hierarchy is totally flat (A B C at the root). If they require incompatible versions of C then there will be 2 C, one nested inside A and one inside B
I finally understood how to do a reverse polish notation from an example of a parser project. This is the kind of Open-Source projects README we should read everywhere. We understand what the project do, how it does it and why it's better than other solutions, plus we have very good examples completely commented and explained.

Really good work ! :)
This is really neat. Though in practice if you are using this kind of thing I'm pretty sure you will want to combine it with atlasing (i.e. construct an atlas of glyphs via render to texture). That's because it's a waste of time to rerasterize glyphs in the FS every frame (which appears to be 200+ lines) instead of caching the results and reducing the per-frame work to a 5-line FS that just blits. In most apps pans are more common than zooms and the same glyphs are used over and over, so this usually ends up being a win. Using atlases also reduces the number of raster operations because the same glyphs tend to appear on the page repeatedly, and by using atlases you rasterize each glyph only once. Even more importantly, though, atlasing gives you the ability to reuse a blitting fragment shader to render other content (images, figures, etc.) as well as glyphs from the atlas in order to reduce state changes.
When Hossein Darekshan went to jail, the Internet was for the pioneers, an uncharted territory. It was a place for the brave, required arcane knowledge (computer literacy), and basic understanding of the underlying systems. When he came out it was settled.

Was it the availability of easy to use technology (smartphones) that created the market for populist interfaces or the simplification of interaction that made the demand for simplified devices? That's a debate. However as more and more people came online, they didn't want to explore the frontier. They wanted their patch of land. They didn't want diverse ideas, but affirmations for their beliefs, as News media has trained us all to expect from the world.

It was this way before. Most people's idea of music was limited to whatever was on the radio or MTV. Political discourse was limited to what was the news. The reason early Internet was the bastion of outsiders, freaks, geeks and degenerates because these people wanted to break new ground, wanted new ideas. Those people are still here, but they are minority.

I do think Derakshan overestimates the value of the blogospheres. My primary interaction was message boards, which were closed-off, and in many cases private spaces. That is whete I discovered new music, new movies and new ideas. They too still exist, but they are also minority, as far as reach and influence are concerned.
Of course you're correct, but the problem is Campaign C requires a far higher invasion of privacy. Now, not only do you want the advertisers to track the sites you visit - you're also proposing they somehow get information about everything you purchase?! No thanks.
While it seems simple in the paper, it is way more complicated to implement in practice as it comes with all sorts of edge cases.

https://lambdacube3d.wordpress.com/2014/11/12/playing-around...
It's amazingly smooth, I'd say 60+ fps, on my i7-3770K desktop (Geforce GTX970) with Firefox Developer Edition.
Or remove functions, or change the UI needlessly and for the worse. I honestly don't know how people can update their apps without having a backup to go back to. I probably would not do it if I didn't have one of my backups around. The different app stores should offer the user a way of going back to a previous version (if you already had it installed) but it seems that none of them do so...
Thanks for the feedback.

1. The icon buttons are labeled by its `title` attribute, may be not conspicuous.

2. Tap the `Enter` key on the keyboard can also confrim the cropping (Confirm by dblclick is also supported now).

I will continue to improve the app. Thanks again.
At first glance it looks like a plugin bundle, you could reach a similar setup by installing components manually , I wonder how easy you can add/remove features or extend my with additional vim plugins.
SSO is a separately solvable problem, and even so, I'm not sure it's a solution that needs applying here. It's not clear why any form of sign-on is needed—SSO or not. Almost everybody in this space is already using public-key crypto for authentication.
Confirm the cropping by double-click is supported now. Thanks.
You're right that early microkernels (Mach) were pretty awfully slow. But that was really more the early 90's. Even before 2000 there were new systems that were already much, much faster than Mach.

If you read the article, you'll see several references to papers that show microkernel performance on par with or better than traditional monolithic Unix systems. For example, "EROS: a fast capability system" by Shapiro, Smith, and Farber, in SOSP 1999. http://dl.acm.org/citation.cfm?doid=319151.319163
Just a request for clarification.

> Apps like Instagram are blind, or almost blind. Their gaze goes inwards, reluctant to transfer any of their vast powers to others, leading them into quiet deaths.

Not clear what "them" refers to here. Is it instagram or "others"?

> The consequence is that web pages outside social media are dying.

This seems to imply that it is the "others", but I'd love a second opinion.
Ask HN: How does Apple's “Silent Clicking” feature work?
Just purchased a MacBook Pro Retina and found this feature to be controlled by software. Any information available on how this feature works?
These environments make it really easy to "borrow" your neighbours equipment when they are not around. When I was a student I used to start the week with a trip around the big lab reclaiming all our labs equipment.
Thanks for the suggestion. But I think the app is too simple for that right now. I will continue to improve the app anyway.
https://news.ycombinator.com/item?id=10823740
One thing that is much easier to do in a microkernel than in a monolithic kernel is build a machine-checked proof of correctness. This is not to say that this cannot be done in a monolithic kernel, but the proof would have to extend to each device driver and service within the kernel, or at the very least, a large portion of the kernel would need to be disabled to bring the proof down to something that can be accomplished by a team of developers in a reasonable period of time.

A complete proof of correctness in a microkernel based operating system can be done in parts. First, the microkernel itself can be formally verified. Then, the communication mechanism between components can be formally verified. Then, each service or driver can be formally verified with regards to the communication mechanism, and its own contribution to the system as a whole. As long as it can be proved that the system will still operate correctly with one or all of these services or drivers in an invalid (crashed) state, then some level of operation can be guaranteed. In a correct context (fault tolerant hardware, such as a well built embedded system), such a microkernel architecture could be designed, and proven, to be robust.

The formal verification of seL4 is one example of this in practice.

Now, could one do the same proof-by-parts with a well designed monolithic kernel? Probably. However, the stronger the division is between parts, the more like a microkernel the monolithic kernel would become, until it would make sense to take advantage of IPC mechanisms between the parts to simplify the mechanical proof. Hence, we sort of come full circle.

While I appreciate both sides of this debate, I would rather run the risk of a slower but more correct system than a faster system that is harder to formally verify. This is not to say that all microkernel based operating systems are more robust than monolithic kernel based operating systems, but there is a growing subset of microkernel based operating systems that have been formally verified, and I'm quite happy about that.
Wouldn't that be cool?

Another neat idea would be to build on an existing microkernel like seL4, but write the userspace -- all the drivers, memory manager, filesystems, etc -- in Rust. The NICTA team already has proofs of correctness for the microkernel itself, so why reinvent the wheel? But at the same time, those proofs were super expensive and difficult to make. It would be awesome if we could get a reliable userland more easily by using a better language.

I wonder what it would take to get Rust compiling for seL4?
I think it's the same reason managers have a reputation for booking meetings far beyond what's reasonable. It works... for them. For the managers lots of meetings really does result in getting more work done. The thought seems to rarely cross their minds that meetings are crippling for almost any non-management role, doubly so if it involves any kind of creativity.
At scale 10% could be anywhere from 100(s) of racks to ten(s) of datacenters
I agree. The key reason is the need for the audience to be linear. That's what I'm addressing in the LMS I'm putting together for my company ;)

* Videos really do add a lot of value. But all video... makes it into a movie, despite exercises that can be done later, it is a movie experience.

* Videos create a personal touch and engagement with a user. That is valuable for a lot of people.

* Video in something technical lets others see workflow. I great example was for a beginner introduction to Spring where the instructor showed how to set getters and setters in Eclipse. Fantastic quick kill in terms of delivering something useful that wouldn't work in text.

* A lot of instructors don't like putting their face on the internet. They just don't.

* A combination of media all on one page is what I'm going for, and have mainly achieved. It does turn the page a bit long (of course assisted by sidebars) but text, video example, some interactive content, some links to resources be it citations, PDFs or other, work very well.

At least, for me.

And I'm doing this in a second language, Chinese. Nightmare, but really interesting. If you're in the LMS space and interested in getting in contact, email me at my QQ address in profile.
> the education for learning linux is generally expensive or not accessible

Wow, this is incredibly wrong. The cost of education to learn Linux is living in a country where you are likely to be literate and have access to a computer. That is literally the cost to learn Linux, guy. There is nothing like an MSDN subscription for Linux documentation.
Works as backspace. DEL is working, but not updating the screen if that makes sense.
Not sure how Mike can kick you out if he doesn't own the company. Sounds like either he does own the company, or he's not the one who kicked you out... Anyway I'm inclined to believe the company website. If you bought the company you've got access to the site? DNS? Or a contract? Doesn't seem like that's the case given your actions trying to get people to move away from Sails.

So yeah, you saying the project is dead when you know others are still working on it, and trying to tell other people to switch with you -- seems at best shady. Getting a project rolling is hard enough without an active saboteur. Not a great way to get your own business going. Seems to me -- outsider perspective -- you should just move on and focus on your own thing. Clean breaks, right?
Healing Autism in Children Through Parasite Treatment (2014)
Ideally you should always run a scan on your SSL to ensure it is configured correctly.

This is a great scanner and is free: https://www.ssllabs.com/ssltest/analyze.html
Can we talk about search dialogs that are not actually dialog boxes ?

I first saw it at netflix - instead of a search box in the upper right, there is a picture of the word search and if you click on that picture of the word search it becomes a textbox[1] that you can type into.

As if that's not bad enough, the word "search" can turn into a textbox faster than it takes to fully load the control, which means you get the textbox but cannot type into it for another few moments.

How much of an unimaginable asshole do you have to be to pervert a basic web UI component like this ?

[1] No, of course not a real textbox - some 50 kilobyte control from some web-authoring toolkit that masquerades as a textbox.
Formal verification is one thing, but being able to write a test suite for a device driver where you simply mock a small kernel API must be a game-changer. Not to mention that a formal protocol with a small surface area should make it easier to build OS-independent drivers.
CNNs are not rotation invariant.
Year in Review: 2015 in 12 charts
>Causal induction: sounds interesting until you dig in and realize everything is non-computable.

Wait, what?
Great work! Is there any WebGL source available?

The demo runs very poorly on my 15" MBP (late 2013, Intel Iris Pro). I'm not sure if it's just the sheer number of glyphs being rendered at once, or whether it's something specific that this GPU is having trouble with.

Some related links for those interested in WebGL text rendering:

1 - https://github.com/Jam3/three-bmfont-text

2 - http://mattdesl.svbtle.com/material-design-on-the-gpu

3 - https://github.com/mattdesl/text-modules
It became a function because it always should have been one. However, since it wasn't always a function, they didn't have the common sense to pick a NEW function name (puts, println, write, writeln, echo, say, show, ...) and politely deprecate the old print syntax. Shortsighted and pointless.
Thank you for the reply! I appreciate the philosophy of hiring generally good people and letting them learn new stacks as needed. However, there's also something to be said for specialization. For example, I work in scientific computing and have never touched Rails. Even though I might be able to learn what you do, I think we'd both probably agree I'm not the right person for it -- so even just those few extra bits of info about Rails make it so much more efficient for both of us.
Thanks! This book looks interesting.
Careful with the headphones. If they are loud enough to obscure the noise of your coworkers, they are probably loud enough to damage your hearing if used every day.
Well, sustainable fusion is 30 years out and the singularity is 50, so there's that.

Internet of Extremely Shitty Things[1] for sure.

Actual Cloud (Now with Grey Goo!®).

Available now, but not pursued to the fullest: in-body medical/monitoring devices; self driving cars.

1. https://twitter.com/internetofshit?lang=en
You're wrong, enterprises aren't in the business of vengeance. Instaterm == quietly letting go. Anything else is a liability nightmare and distraction to the enterprise's goals. That's just the way it is, and it would be terrifying otherwise.
> now most devices are a lot smarter about their roaming choices and can more readily shift between multiple access points on the same WLAN.

One would think a 2015 Chromebook Pixel would be "smarter" but I have had horrible problems moving between APs in my house. I've resorted to tethering to my phone when reading in bed.

I've tried both using the same SSID on both APs and using different ones but neither work. I've had no trouble with android phones "roaming".
This looks great, but I don't understand much of the article. As a half-decent dev, what do I need to do to write "Hello World" on the screen?
I look forward to seeing it malfunction on the next season of Silicon Valley.
Before the tragedy of the Perl 5-6 transition, I don't think people realized how important backwards compatibility is. I understand your fear, but perhaps the most reliable team is the one that's already made the mistake and been burned.
I don't mean free as in price. I mean free as in freedom, and I mean proprietary as in non-free:
https://en.wikipedia.org/wiki/Proprietary_software
"Locked to contributors" is the new tyranny.
This is an exciting update. I've been watching with bated breath on this work.

@chrisseaton is startup time similar to today's JRuby, i.e. slow? I feel like that's always been a bit of a sticking point for JRuby.
It has crossed my mind to wonder if one could obtain many benefits of microkernels while somehow leaning on something like the Rust type system to prove isolation. It seems to me one of the big practical things about microkernels is forcing you to isolate off the modules. In practice, when you do not force isolation, developers will always find reasons to violate the boundaries. Even very well meaning and very experienced ones will still tend to poke holes in, and this is one of those things where once you poke even tiny holes, the flood tends to come in. Thirty years ago, that level of isolation required OS-level enforcement if it was going to happen.

But today, that's not the only way to guarantee isolation. We may also be able to do it via type systems. If we could create things statically guaranteed to be isolated but not requiring actual context switches, it should be theoretically possible to create things that are structurally microkernels, but do not need internal context switches because isolation has been proved at a higher level. Or, arguably, in some sense this would be something that transcends both microkernels and monolithic kernels to become something not properly called either.

I'm sure there's many an i to be dotted and ts to be crossed before this would work, and you'd still probably want to work out a run-time loadable module which would probably make things interesting, you need a story for how a device driver can individually crash without bringing the whole process down (though since Linux can do it, presumably it is possible anyhow), and a whole bunch of things. But it does seem like an interesting opportunity for someone to make a kernel that is, well, not the same basic kernel the C type system naturally affords.
Signed-distance field fonts (as described in that paper by Valve) is very different form the OP's approach.
"A user scrolling the page will find at some point that their mouse has come over a map which is now eating the scroll events and they are now scrolling the map instead."

This annoyance has been widely extant for ten years or more - I think I first experienced it with google maps as I believe they were the first to zoom with scroll ...

Seems easy to fix - sub window elements in the browser cannot zoom until clicked on ?

It's amazing that behavior made it through one browser version iteration.