skysight-inc/HackerNews huggingface dataset:
Wow. We really need to fix our install page if people are reaching this conclusion.

Hey, Nim dev here. I can assure you that Windows is incredibly well supported by Nim.

> a) No mention of MSVC support as a compiler option

https://nim-lang.org/faq.html#how-do-i-use-a-different-c-com...

> b) Installer does not install the complete required language runtime, and the end user must hunt the missing DLL:s by themselves.

The DLLs are all included in the .zip file. Even if they weren't, you do not need to "hunt" them, there is a link for them at the bottom of the download page.

> Need to manually configure various paths

You don't. It's easy to think that when you only read the headings though :(

Here is an excerpt from under the heading:

> The zip file includes a simple application called finish.exe that can attempt to add the first directory into your PATH. This tool also checks for the presence of a C compiler and can install MingW, the GNU C compiler collection for Windows.

The installation isn't perfect, we did have an installer in the past but it proved more trouble than it was worth (NSIS is very archaic and INNO is a PITA). Despite this, you won't find many languages with Windows support that is as good as Nim's.
I am sure I am in the minority here but I believe there are way too many people getting PhDs just to get a job. I am not blaming the candidates/graduates because that's what the job market requires these days but there is something seriously wrong with that picture. It takes a lot of public capital and goodwill to support PhD programs and in many aspects PhDs have become glorified professional degrees. I also see a lot of half-baked thesis that would not have passed muster two decades ago but advisors are more interested in building his/her brand within public and private domains.
I have a friend on the google maps team and we had a brief conversation about this library a few weeks ago while I was helping him out with some projects at home.

If I remember him correctly, this project started off as a 20% time project of just one employee. The more amazing part was it sounded like that employee had been working on the problem, largely by himself, for near a decade.

And now this project, started by one guy, is in production use for an application hundreds of millions (if not billions) of people use daily. All because he just kept working on it. Inspiring.
I really like the git extension. Actually I've opened Code specifically to resolve some issues. I can do basic tasks with git shell alright, but merging is a hassle to me. And it's so easy to do with Code !
Yea, but then you have to have 4x the processing power It's pretty easy to scale frame rates once you have stuff figured out, but I can see very good reasons to not have to try to get up to 120+fps right away. In addition, I'd imagine the ML they're using probably has a lot harder time distinguishing valid motion when the motion is 4x as small.

It's probably a very valid tradeoff.
https://www.usenix.org/system/files/conference/usenixsecurit...

A big part of the problem here is that vendors do a _lousy_ job of making this easy. An out-of-box Apache is a fairly good HTTP server, but it'll take you an hour with a good tutorial to make it a half-way decent HTTPS server. Not because HTTPS is inherently difficult but because no relevant expertise was brought to bear in Apache's implementation.

And this isn't just a Unix flavour problem, the IIS handling of TLS is garbage too. Microsoft has documentation that's incomplete or flat wrong, and then you're expected to muddle along following blog posts and video tutorials.

There's a LOT of cargo culting in this space. Almost every instance of the name "Middlesex" you see in an X.509 certificate is a result of this sort of cargo culting, because the postal county of Middlesex ceased to exist before X.509 was even created, but it looks superficially as though you need to specify a "county" in X.509 and so people based in London dredged up Middlesex. And it didn't _break_ anything so they kept doing it without knowing why.
President Trump claims Google is rigging search results to make him look bad
Holy shit. The most detail I know is the calculation of IPaddr from physical address.
Windows 10 KB4100347 Intel Microcode Update Boot Issues – TeckLyfe
I’m not saying that you shouldn’t do a coding exercise. I’m saying that coding exercises are overrated and far too difficult.

Programmers today think that TopCoder questions are “FizzBuzz” tests. That’s idiotic. Joel Sposky wrote that blog post to say that you should do an absolutely minimal check that someone can write code, then move on to more important things. It’s just bizarre how people have twisted that over the years.

But to answer your question: focus on what matters. Communication, writing skill, the ability to read code (this is easily 10x more important than algorithmic wizardry IRL), good habits (e.g. “does this person insist on putting all of their code in a single file?” - an actual thing I have seen!!), opinions that match your team, etc.

All of these things can be answered in interviews, but nobody cares to try.
Huohh
Jihogjpjghooh
I love pandoc, but I'm very surprised that such an established tool has (at time of writing) 865 points and is #1 on HN.

I guess it's not as well-known as I thought.
LISP sympathizer here:

I don't need yet another theoretical exercise in how to do computation in LISP, I need a concrete example of how to load and use getopts LISP code to construct command line programs in CCL (for example with CLON and CCL). Programs written in ANSI Common LISP which behave like every other program found in /usr/bin and /usr/sbin.

What LISP needs is more concrete examples solving everyday problems, like how to prop up a LISP web server? How to run LISP applications from one? How to perform string manipulation? Data extraction? How to connect to an Oracle database? SQLite database? How to package one's finished application into a pkgsrc or an RPM package? And so on, and so forth.

I'm over the concepts, but that doesn't mean I know how to solve everyday problems with the language, especially a programming language significantly different from any other programming language out there.

I spent countless hours trying to figure out how to get the shell program's getopts equivalent in LISP without writing my own getops implementation from scratch. No joy. The learning curve for writing a useful program is steep, and examples would give LISP adoption an enormous boost, like the Practical Common LISP book does (but it only solves one practical task throughout the entire book). Most people using a computer want to solve everyday tasks, so the examples should be task oriented, not to mention that dissecting the finished product is a great way to teach the language and the concepts, as well as doing things the LISP way. The link between UNIX and LISP knowledge is missing.
It does not work well with macros.
I use VScode as my main IDE, and have never tried emacs. But I've watched many videos on org-mode, emac setups, org-drill, over the years.

One thing I've noticed is there are very few good emac videos tutorials out there, at least compare to VScode and any other IDE.

Its a very powerful tool sure, if you memorize all the hotkeys and commands. But to get to that point requires a lot of memorization and practice, something I don't have the luxury of. Time spent familiarizing myself with a nice GUI interface like VScode to get the same job done is easier.

I almost never cut corners when it comes to adopting tools. I always adopt the simplest tool first, usually this is things like pen+paper, stickynote pads, etc. If the simplest tool suffices for all my needs, I don't upgrade. I believe dumb tools are always better, there's less moving components and more rigidity/opinionation. Plus I can touch and feel it, etc. However, I will always constantly do research and A/B test new tools almost everyday, just to see whats out there.

I think people honestly get too invested in their tools. A tool is a tool, nothing more nothing less. If someones first thought about you is "oh he's that emacs guy!", thats not a good thing.

But I still understand that people have lived and grown up with emacs, and its been something they have nurtured their entire life. They've built optimized workflows for any situation, and memorized hundreds of tidbits for making things work fast. Jumping ship is like tossing away part of your identity, so its not an easy transition.
Does it? It can access them, but clearing the existing ones doesn't necessarily clear the SW I think?
You don't need formal education to understand why some things are the way they are in C++, you need to understand how a CPU works. A small amount of assembly programming is sufficient for that - it is actually very simple to understand, just hard to write nontrivial programs...
How can I go about securing a server without a domain? Just a static IP? Let's Encrypt doesn't allow IPs and the owner doesn't care for a domain.

Context: small business with a web based application in a local server, all they need is to be able to access reports from their phone.
SOP has the security properties of a piece of wet cardboard. That is, most attackers will refrain because punching wet cardboard gets them wet and covered in slimy cardboard, some will punch it extra hard for the same reasons.
The other side I would pose is: do you want anyone to alter your responses? I'm currently trying to find the RFC, but I recall an ISP defining an RFC for tampering with HTTP responses in-transit. In addition, I also recall seeing Comcast (I believe) injecting JS to users that they are approaching their plan limits.

Obviously, not the end of the world. But do you want any third party to easily alter the response from your server to the client(s)?
> Anyone who can build an ML model to catch these clues is going to make billions.

You'd be surprised. IBM poured billions into Watson and appears to have been pretty successful in nearly reaching parity with a certified oncologist, but the results were dismissed because it didn't outperform them.

> At first, Manipal used Watson to recommend treatment options for all cancer patients, said oncologist S.P. Somashekhar. It found the software agreed with doctors most of the time, so Manipal stopped using Watson on every patient, he said.

https://www.wsj.com/articles/ibm-bet-billions-that-watson-co...
Two stories.

Firstly, I had a fair amount of websites with a now EIG owned company for about 10 years. It was just a shared host, but they're all low traffic, and I could easily add a domain name and spin up a blog/project. A few years back I needed https for an API I was working with - the cost was something like $40 a year for the domain, for a project that wasn't a money spinner. So I found another (read: free) way to access the API.

Earlier this year I asked again. It was something like $20-$100 per domain to put an https cert in place, even if I got it myself from LetsEncrypt. As the entire package was about about $100 a year (up 30%, with worse customer service since EIG took over) I finally took the step and moved all my sites elsewhere. The new host isn't much more expensive, but provides free LetsEncrypt with a click from the controlpanel. I now use https on most things.

Secondly, I have a few sites with a decent number of FB likes that have counted up as the result of some viral/social campaigns in the past. None have forms on, all are links to elsewhere. Currently those likes work as (not insignificant) social proofing. Move the site from http to https and I lose the count on the Like button.

The cost in the first point (or the effort/time/cost in moving everything) just hadn't been worth it for the smaller stuff. Facebook not sorting the counts hasn't made it worth it in the second. I suspect my reasons are 2 of many that stop people from upgrading - I guess I'm just saying that even with the best intentions, there are other factors at play that prevent John Everyman from making the move. Make it easy/default for him, more https everywhere.
Australia’s Simple lands $17M to grow marketing intelligence platform worldwide
Coordinate system != map projection.

As far as I know, the map tiles google serves are still in mercator projection -- it's just that mercator was always designed to be projected onto a sphere, not a plane, so now it looks better.

What S2 is, is a better way of representing sets of coordinates within GIS systems, such that searching for features that are close to each other, or within a complex polygon, can be performed much quicker than with other coordinate reference systems ie. floating point latitude/longitude pairs. They're storing points on a 3D sphere (unit vectors) as easily subdivisible 64-bit integers which have a logical order which is much faster to index / iterate over nearby areas.

Makes sense for applications like google maps; "find local businesses near point X,Y" etc.
Pretty sure? I'm just going off a cursory examining of the github repo linked on the website from the OP and a conversation I had in passing with a friend who works on the google maps team.

Also, I'm not a mathematician and everything I know about computer science (and most of math for that matter) I've taught myself or learned on the job. So... maybe I'm using the wrong terminology?

I'm 98% certain the library is the same one currently used on google maps web app.
Have you considered a Monolithic Dome? You'd have to excavate a basement, but the construction process is massively simplified (if perhaps still not DIY level).

http://www.monolithic.org/homes
Definitely looks like this is a book I'll pick up for myself soon.

Anyone else able to comment on their experience reading it, or recommend a specific edition/translation?
Congrats on the offer. Feel free - always happy to grab a coffee or a drink. London is a great city! :-)
Long term perhaps but short term it means increased salaries.
Yea, I have CLion installed but haven't actually gotten around to trying it out. I'm not a big JetBrains fan when it comes to their IDEs (I've used IntelliJ and Rider) but I will still give it a go...eventually.

Thanks for pointing this out though as it shows others that there are other options.
I have to put in a word for Racket's Scribble. Programmiclly creating documents is powerful, and this system makes it simple. You can also basically use it as a "Markup-less" system.

Scribble Code Example:

#lang scribble/base

@title{On the Cookie-Eating Habits of Mice}

If you give a mouse a cookie, he's going to ask for a
glass of milk.

@section{The Consequences of Milk}

That ``squeak'' was the mouse asking for milk. Let's
suppose that you give him some in a big glass.

He's a small mouse. The glass is too big---way too
big. So, he'll probably ask you for a straw. You might as
well give it to him.

@section{Not the Last Straw}

For now, to handle the milk moustache, it's enough to give
him a napkin. But it doesn't end there... oh, no.

Scribble -

Scribble is a collection of tools for creating prose documents—papers, books, library documentation, etc.—in HTML or PDF (via Latex) form. More generally, Scribble helps you write programs that are rich in textual content, whether the content is prose to be typeset or any other form of text to be generated programmatically. - https://docs.racket-lang.org/scribble/

Some languages based on Scribble

Skribilo -

Skribilo is a free document production tool that takes a structured document representation as its input and renders that document in a variety of output formats: HTML and Info for on-line browsing, and Lout and LaTeX for high-quality hard copies.

The input document can use Skribilo's markup language to provide information about the document's structure, which is similar to HTML or LaTeX and does not require expertise. Alternatively, it can use a simpler, “markup-less” format that borrows from Emacs' outline mode and from other conventions used in emails, Usenet and text. https://www.nongnu.org/skribilo/

Pollen -

Pollen is a publishing system built on top of Scribble and Racket. So far, I’ve optimized Pollen for web-based books, because that’s mainly what I use it for. But it can be used for small projects too, and non-webby things like PDF.

As a publishing system, Pollen includes:

A programming language. The Pollen language is a variant of Scribble, with specific dialects tailored to different kinds of source files. You don’t need to use the programming features to do useful work, but they’re available when you need them.

A set of tools & libraries. Pollen can produce output in any format, but it’s especially useful for markup-style formats like XML and HTML.

A development environment. Pollen works with the DrRacket IDE. It also includes a project web server so you can dynamically preview and revise your publication. http://docs.racket-lang.org/pollen/Backstory.html

They are Domain Specific languages that excel at outputting awesome HTML and PDF. They really aren't markup but really they are a Macro system that is built on top of a full Lisp (Racket) It is easier and much more powerful then anything I have seen on Pandoc and Latex (I use Latex still for specific targets but not for general papers anymore).

Racket has the best documentation period and it is because the documentation
Nice companion to: http://fetchrss.com/
> Currently those likes work as (not insignificant) social proofing. Move the site from http to https and I lose the count on the Like button

Surely there must be a alternative way of doing this?
I like Elixir and Phoenix but I agree with you.

First I think a very large number of developers don't care for functional programming.

Then Phoenix is mainly run by only two persons, Chris McCord and José Valim (who also manages Elixir and Ecto). If I compare the pace of development and what you get out of the box with PHP/Symfony (I don't know RoR) it's quite clear that Phoenix is not there yet (without even speaking of the difference in ecosystem size).

Having said that I'm excited for Phoenix 1.4 https://github.com/phoenixframework/phoenix/milestone/17
Self-signed certificate (or own CA and certificate signed by that). Buying a certificate for an IP is more expensive than a domain.
It is a problem that has yet to be solved. Venmo only solved it within the United States, as it is only available there.
Volunteer for habitat for humanity — you’ll learn a lot , meet new people , contribute to poor persons life
Humm, I don't think I had this be a problem. Likely TTRSS ignores this issue and/or just parses the timestamp until numbers come out.
> If you split the CEO pay across all the mass of workers, it won’t come out to much.

I agree that if you split the CEO pay it does not affect so much the employees.

I just wanted to highlight is that the CEO does NOT want the employees in the board as they may see the CEO's salary as unfair. So, to protect his own salary, the CEO keeps employees out of the structures of power.

Then we can argue if is that lack of power the one that keeps or not workers salaries low. But workers are not represented becuase is against the CEO best interest so her own salary can grow unchecked.
Good retrospective. Excellent playlist on youtube of early computer art, including some of Manfred Mohr's films that still have the power to hold the attention of modern, distracted minds ;)

https://www.youtube.com/playlist?list=PLmmzCSWIggxABGOurYq2I...
It's true that certbox is very easy to install and single run on stable machines with full command line access. Then a lot of Paas providers pre-package a let's encrypt feature to allow for simple setup of SSL cert (as simple as checking a checkbox most of the time)

Now certbox in itself is not really simple in my opinion, and one feels it very fast as soon as we fall out of the beaten path. For instance having it run for volatile instances isn't simple, or if the Paas misses the single feature you need (ex: wildcard support on heroku) you'll have to bear all the complexity again on your shoulders.

In particular the base principle is to renew the cert every 30 days, so inherently proper automation and error handling is the first barrier to entry for certbot. That's already a bit further than "a few commands" in my opinion.
Why would anyone that has that amount of mail go out of their way to get a phone with such limited capacity. At this point a phone with 16gb serves the purpose of being a burner phone.
O HAI, other four people, maybe five.

I'd never have thought that I'd need to put my audio speakers and bathroom scale behind a firewall would be a thing, but it's 2018 and here we are.

I threw my smart lightbulbs out entirely.
Because even in 2018 PHP is still PHP?
I "love" how many comments are one person praising pandoc for helping them in some workflow, and then commenters ripping into them for not using some other tool. I wonder if there's a corollary to some internet rule that the more generally useful a tool is, the more detractors will push for other tools to be used? It would help explain why programming language discussions get so contentious.

Pandoc is seriously a great tool! I love the way it's designed and have found it useful off and on over the years. Truly marvelous for making information available in any needed format.
FetchRSS – Generate RSS out of any web page
> I think this is the github issue referred to

I think so, too. Because it was not only referred to, but also linked ;-)
It is used to recommend treatment options, not diagnosis
I see so it provides "engagement value."

But if I send you money we could both read that attached message without the entire internet having access to it. Or do I have this wrong and the the fun is really in reading strangers transaction messages? If the majority of people are unaware that these messages are public wouldn't this mean that the "significant chunk" are a minority of Venmo's total users?
Notebooks may be suitable for scratching things, but not much else. The problems noted by the OP are very serious, specially in the scientific world, where many do not have proper software engineering skills. The real issue is that newcomers do not know better, and so they don't realize the damage they're inflicting upon themselves and others before it's too late (irreproducible code, hidden states, dep. management, etc).

Even the fast.ai library, which is a wonder, has broken notebooks. For those who try to follow the course at home, trying to run the notebooks is frustrating, as things are out of order and so errors pop up all the time. Jeremy is a wonderful teacher, but compare following a Fast.ai course video, which uses notebooks, to following a python video from, e.g., Raymond Hettinger [2], which uses sphinx and a shell. While the documentation style and ugly shell don't look nearly as cool, they are so much clearer and better structured.

Notebooks become popular because they fill one gap that was left uncovered. As the scientific community moves away from Matlab into Python and R, reading code - pushed, amongst others, by the popularity of Github - becomes a day-to-day activity. Matlab scripts were easily explorable because users would load them, set breakpoints here and there, and look at results interactively - exactly what notebooks aim to provide.
The difference is that what used to be breakpoints now become cells, comments now turn into Markdown and figures are inlined to add an extra layer of convenience. Yet all the awful problems of sloppy Matlab development are now masked, marketed as something fancy and start to pollute the Python dev. environment. Reproducibility and testing are gone, dependency management (which is not required for Matlab) breaks down completely, documentation is non-existent, and sharing becomes heavily constrained.

Notebooks may be suitable for scratching things, but not much else, at least nothing serious. Hopefully the slideshow above gets the attention it deserves. And in all cases, kudos for the Jupyter dev team for fighting the good fight, even with the drawbacks of their experiment.

[1] http://course.fast.ai/lessons/lesson3.html
[2] https://www.youtube.com/watch?v=9zinZmE3Ogk