skysight-inc/HackerNews huggingface dataset:
I'd love to know how those corporate conversations go exactly. Is it so blatant as saying "no you won't work on these anti tracking features?" Or is it more "this will be so you focus on" which conveniently excludes undesirable stuff?
I didn't even want Trump, but the people on the left gave me no other choice. Many people like me are just sick of the political correctness and the vindictive racism from the left that is marginalizing anyone that isn't a minority.

Instead of cleaning your wounds and learning from your mistakes, you double-down on what caused the anger and divisiveness in the first place.

The mainstream press was caught red-handed when they colluded with the DNC to first destroy Bernie Sanders and then take aim at anyone against Hillary Clinton (which happened to be Trump).

Instead of being outraged by this, we blame the messenger, which could have been Russia or any disgruntled person angry at the fact that the press and the DNC can do as they please with impunity.
>>Nuclear weapons are BIG concern and very tangible.

I'm not saying that they aren't a big concern, but are nukes really that tangible? Unless you live in Russia, where nukes are literally paraded on the red square every year, how do you feel their presence? I mean, as far as I know, the government could by lying about having any. They are all stashed in submarines or silos somewhere, luckily it's unlikely that we will ever see one detonate, for your average John Smith nukes could as well be terrawatt lasers mounted on the moon. I wouldn't call them tangiable I don't think.
Thanks! This looks great!
Like so many elements, audio is under-appreciated. Indeed, the Thief audio was excellent. Without it, and if it were less professional, the game would have been far less than it was.
Because the entire programming model breaks down at I/O. When you have to compromise the language's _raison d'être_ to perform a basic function of the computer, the cognitive dissonance is real.
I'm a recent clojure convert too (haven't used clojurescript much).. I have to say, the only thing that annoys me about it occasionally is its marriage to the JVM. It took a few months to get into it from a C++/Python/Go background, but now, hacking in other languages (maybe less so in Python) feels like sculpting while wearing oven mitts - needlessly tedious and overwrought.
But, to make a unit test by coding the function, making a lovely structured literal of the input data, running the function in the repl, and then pretty printing the hand-verified output to paste in as the expected test result is just the least effort I can imagine for that kind of coding process. I'd count myself as happier if every language had as strong a system for printing and reading in data literals.
> ...
If everyone performs optimally...

I guess it's a lucky thing that'll never happen? I seriously think the only skill involved in investing is a combination of humility and an admission that you're not smarter than everyone else. It keeps you medium conservative and provides solid returns.
This is simply not true. I was there when my entire org got rid of its test team and the people who stayed were not more likely to be H1B holders. If anything, the reverse was true.
Nice! For a threaded Rust implementation, see https://github.com/ojensen5115/jwtcrack
I really appreciate this comment. I hope that at some point I see the balanced outcome of such approaches to technology. I'm so close the the "throwing out the laptop" scenario you describe.
> Software has security vulnerabilities. So, even if the software is trusted, there could be a zero-day vulnerability that is exploited. I'd rather have software stopped in its tracks.

How? When the zero day hits, the program has long been marked as trusted and the firewall will just happily let it go along. Besides, even if you're an experienced user and the firewall is smart enough to figure out that the application is talking to a server that it's never talked before (which isn't even sustainable for a lot of applications), it's very likely that you'll see the alert way before you read the news about the zero-day, and you'll just shrug and allow it to continue because you trust that program.

(Edit: maybe personal firewalls got smarter since I last used one and there's something else I'm missing here?)

> Maybe macOS apps are different, but I never had this experience during while using little snitch for almost 10 years.

The kind of applications that actively snoop on users as a business model -- the ones that you want to block in the first place -- sometimes even do this deliberately (which is something that I know from experience, not something that I suspect). Inexperienced users quickly figure out it's the firewall that gives them trouble, and they'll pick disabling the firewall over not playing with their toy any time. This works for pretty much any sort of permissions.

For example, last time I ran it on my tablet, Instagram's application was crippled to uselessness because I had disabled camera access (my girlfriend only needed to post a photo on an account that she managed): as soon as it opened, it spit out a big fat error message saying it can't access the camera and that you should allow camera access if you want to be able to take photos. As soon as you tapped ok, the same error popped up, and the application never loaded.

macOS apps aren't any different, you're just running the right ones :-).
Laziness is a real problem for reasoning.

Reasoning about pure functional data structures in the absence of laziness isn't that difficult, any more than the many mutable data structures that have copying/rebuilding/rebalancing that takes place only sometimes. The benefit of pure functional data structures is most visible when there is some kind of sharing -- concurrency of some kind -- in which case, reasoning about side effects becomes more difficult.

There are good approaches to handling in-place array update and similar operations in pure functional programming (the ST monad, for example), it's just not the default. As long as the side effect is somehow accounted for in the return value, referential transparency is maintained; we might say the return value is there to help us reason about side effects.
I've been playing with mailerlite.com, and been pretty happy.
My main use case is unsupervised feature extraction from blob text. One application may be to extract all noun entities from a news article, so you can automatically figure out who the article is about.
Very nicely written, I have to say it sounds very similar to my experience using redux/react. Although there are some things like homoiconocity you don't get writing functional JavaScript I do feel the learning curve is much less steep than ClojureScript.
It may be a botnet that's targeting users in the UAE, and therefore connecting to the tor network from there.
It is, but it's similar to covering a start-up after their initial hockey stick growth. How to maintain growth is interesting, but definitely not the whole story.
I did something very similar at a slightly early age, and I still have the code. So I've decided to put it on github. The last-modified-date on these files is 1996.

https://github.com/pjc50/ancient-3d-for-turboc
Hi, thanks for your comment!

1. There actually are instructions (button in the top left corner, shown during the game). I guess it should be more visible to be useful :)
2. Great idea, I'll certainly think about it!
Because Rust!
The right tends to prefer to reference labor participation rate, whereas the left tends to prefer unemployment rate. The reason for this is obvious: right now, unemployment rate advances the narrative of the left, and labor participation rate advances the narrative of the right.

The argument from the right is that unemployment rate does not include the very large number of people who have given up searching for work (and have found some other way to survive, be it government assistance, or family, or charity, or illegal activities, etc.). This argues that the economy is actually in much worse shape than the unemployment rate would suggest.

The argument from the left is that labor participation rate does not clearly indicate who really needs or wants to be working, only who is and is not working. This argues that the people out of the work force don't actually need to be in the workforce and therefore the economy is actually fine.

If ever the unemployment rate works out better for the right, and labor participation rate better for the left, you will see the sides switch which metric they prefer to reference. That's how humans work.

Calling those who don't subscribe to your preferred narrative "stupid" and "crazy" is probably not helpful.
I'm not familiar with that meme, and I wonder how it came to be. Maybe from people who got on the nerves of others who do not suffer fools or lazy people gladly?

Personally, I work in a environment where most of my colleagues are also engineering professionals, and most everyone is friendly and helpful. And while probably being the most stereotypical tech nerd in my department, I still get occasional commendations for my good team play.

BUT...

even I will not for long put a good face for lazy whiners who would have me do their job for them, and hold their hand through every trivial aspect of things they should either already know, or be able to figure out for themselves with a bare minimum of brains and effort. And, unfortunately, those people are not quite unheard of.
check the first link in the post
I totally agree, I'm a weird case of a greedy guy who moved to Vancouver for its moneys (and most of its moneys are Chinese, and to lesser extent Indian). When Chinese moneys in Vancouver were not enough for me anymore, I went to China for even more of Chinese moneys.

Life is weird.
> That's true, but I'd say the amount of time involved in setting up a GitHub/GitLab account is pretty insignificant. Probably comparable to the amount it takes to subscribe to a mailing list.

Yes, and now you have yet another remote internet account to manage, to worry about platform compromises, your government commandeering, etc etc. And you don't necessarily have to subscribe to a mailing list to send mail to it.

> Huh? A branch in git is literally just one file on the disk, and the diff has to be downloaded anyway regardless of whether you're sending it by email or by PR.

I host large git repositories. Creating and managing that file is not computationally trivial on an extremely large and extremely active repository.

> There is: it's more user-friendly, and thus makes it easier for people to contribute to your project. When the success of a project depends on people being willing to devote their free time to work on it, it's important to make that experience as frictionless as possible.

It might be more user-friendly _to you_, but to someone whose internet connection is a 2G GPRS connection, on a computer whose operation comprises a significant portion of the user's monthly power budget, email is infinitely more user friendly than a web app. Your speculation regarding its essentiality to the success of the project is a little off-target, considering we're discussing the kernel of the operating system that runs on the majority of mobile devices, servers, and supercomputers worldwide ... and it doesn't do pull requests.
Lumo[1] probably fits your use case perfectly. It's a ClojureScript REPL running in a NodeJS context. You have access to both bootstrap-ClojureScript-compatible libs as well as the whole NodeJS ecosystem. The REPL has some nice ergonomic features and comes with a TCP socket REPL you can use with Emacs inf-clojure and (I hear) Cursive.

[1]: https://github.com/anmonteiro/lumo
EasyWorship 6 Crack 2017 with Activation Product Key Full Download
A problem I found with article is the talk of opacity of statistics techniques in the guise of "big data" used in social media corporations. Statistics used by individuals and companies is nothing new. As a counter-example, I feel the public has greatly benefited from statistics in the form of quality management embedded in the proprietary processes of manufacturing and large service corporations. Stuff like TQM allow us to take for granted so many things. I think the issues revolve around who owns and gets access to large data sets, mathematical literacy and the morality/ethics of various players.
I wonder why DDG bang search is praised like its a first time phenomena ?

What ? ... did people live in a cave all this time ? It existed for more then a decade all around. Some examples include early Opera, chrome, vimium plugin, Surfraw (linux CLI search tool) etc...

Anyway, DDG is refreshing. You can even turn off adds in the options. Google may be a great search engine but as far as I am concerned, it can delete 'don't be evil' phrase from its mission statement.
Main reason I don't make the jump into fully functional language, is the difficulty of refactoring. It's nice if you get the program structure right first time, but of course that doesn't happen and so the inability to easily pivot makes me stay away. saying that, I do get hit by bugs that come from state, and each time I wished I'd used the functional approach, but it's not enough of a reason to make me switch.
Is that a personal project? I would be careful using any of the cutting edge technologies on the commercial projects.

Imagine the maintenance issues the developers that follow you will have if you do not pick the stack correctly.

For commercial projects, I would urge you to use something that is well-adopted React or Angular 2.

If the project is personal, then why not just have two smaller projects to utilize both tech stacks or even combine them. Nobody depends on you, and you have all the flexibility to play around and write the software as you please.

If you do end up playing with both, share your experience, and tell us which technology you prefer.
There's a patch floating around the interwebs that lets you do just that. But that's a real pain.
I think the suggestion was more that you identify specific search urls which did not return a good result (hence the user went off to google). You could do this anonymously without tracking anyone or their usage of google or other search engines, or looking at the results on google.

As a DDG user I'd be really happy if you did this and think it would be the best way of identifying searches I'm unhappy with. I go to google now only if I'm not happy with the results from DDG.
And so the history of programming has been a series of advancements in both removing barriers to composability, and building new programming technologies that better facilitate composition.

This is like saying that the history of architecture has been a series of advancements in reducing the cost of structures. This is the fallacy of narrow focus a single sexy metric. (See below.)

Stage 4: Composability is destroyed at program boundaries, therefore extend these boundaries outward, until all the computational resources of civilization are joined in a single planetary-scale computer

Smalltalk tried to do this with the Image, which contained everything within it, including compiler, source control, and development environment. (Smalltalk started out as an Operating System.) However, what this actually did was to sequester the community in the boundaries of the image while the rest of the programming field was busy building varied forms of infrastructure to allow interaction.

I think this hypothesis also offers an explanation for why Go is popular, even though the language is “boring” and could have been designed in the 1970s.

Java won over Smalltalk because the Java community understood much better how to win mindshare. Ruby took over Smalltalk's pure object schtick because it could play nice with the rest of the programming world, and it had a killer app in Rails.

Go wins because it is exceedingly well designed for convenience in a myriad of ways where other languages drop the ball. You can have very fast incremental compilation in C++, if you are careful. In Go, it just works. You can have a good deployment process with Java, if you are careful. In Go, it just works. You can have easy to use concurrency in other languages, like C#, provided you find and learn the correct libraries. In Go, it's baked into the language, and people can learn how to use it competently with about as much effort as learning how to implement FSM using switch{}, and very good documentation and tutorials are dead easy to find.

A Lamborghini is way faster than a Corolla. A Ford F300 can haul many times more groceries. A Corolla doesn't have remotely near the potential for track day fun as an Ariel Atom. The above 3 qualities are sexy metrics, but in terms of overall utility and convenience for the largest number of people, for the most favorable cost/benefit, the boring old Corolla kicks butt. (That said, I'm pretty sure that someone can figure out how to disrupt programming in the way that companies like Tesla are poised to disrupt the above story. It might well be a "boring" version of functional programming that has many "just works" qualities.)
The biggest thing missing from Haskell docs is examples, I find. The mathematical language is tempting when you’re writing docs, because it’s succinct and precise, and can say a lot about how something’s implemented:

-- Endo is…
newtype Endo a
= Endo { appEndo :: a -> a }

-- ^
-- |
-- …the monoid of endomorphisms…
-- |
-- V

instance Monoid (Endo a) where

mappend (Endo f) (Endo g)
= Endo (f . g)

-- ^
-- |
-- …under composition.

mempty = Endo id

But not so much about how to actually use it:

-- If you’ve got a list of functions…
pipeline :: [Int -> Int]
pipeline = [(+ 3), (* 2), abs]

-- …you can compose them with the generic mconcat.
run :: [a -> a] -> a -> a
run = appEndo . mconcat . map Endo

run pipeline (-1) == 5
Protonmail added support for TOR this week but that can't be it
Most of us don't "change the world". You're not supposed to change life for mankind, you're supposed to change life for one other person and that's enough.

I don't know what you did and what you failed at, but I guess there was at least one thing you didn't failed at. One thing that you thought you would like to do more often and get good at.

I tried to freelance as a fullstack developer, I sucked at acquiring new clients, made mistakes and got very depressed. I was broke again and took a job at a B2B startup in my city. I don't need to commute, I ride there everyday on my bike. It's not rocket science but it's challenging enough and requires a lot of communication skills.
Too much about 1 or 2 hours. Should be focusing more on my day to day grind of building software, managing team, and looking for clients.
You can use the certbot on your local machine and setup a txt record on the DNS of the domain.

Let's Encrypt will verify ownership against that text entry.
> I have to say, the only thing that annoys me about it occasionally is its marriage to the JVM.

Clojurescript can be hosted entirely in js; here's a repl: https://github.com/anmonteiro/lumo/
It must be something that was posted on hacker news lately!
Great, great stuff. Terrific article.

---

It does seem to perpetuate -- or at least not make clear -- a misconception.

> 3D rendering without shaders

> We won’t use any 3D APIs at all

Those are two independent statements.

Metal, OpenGL, WebGL, and Vulcan are not a 3D APIs. They are (2D) rasterization APIs using shaders. Any 3D-ness of the math is external to them. In contrast, OGRE, Java 3D, and three.js are 3D rendering APIs.

Two independent choices yield four types of ways to do 3D rendering. E.g., in browser they could be

| 3D API | no 3D API |
---------------|------------------------|------------------------|
GPU shaders | three.js, using WebGL | WebGL |
---------------|------------------------|------------------------|
no GPU shaders | three.js, using canvas | canvas |

This article fits in bottom-right corner.

I take notice when I hear the oft-repeated fact that OpenGL/WebGL are 3D rendering APIs. At www.lucidchart.com, in 2015 we chose to use WebGL when available to improve rendering performance for (2D) diagramming. Were WebGL made for 3D stuff, it'd be a weird choice, but WebGL is for high-performance rasterization of all kinds.

http://webglfundamentals.org/webgl/lessons/webgl-2d-vs-3d-li...
Avira+Phantom+VPN+Pro+Crack+Full
I think this is what I'm not getting :-). To someone who's so sick of dealing with GTK3 and xdg and everythingd breakage that I'm contemplating getting a Mac more seriously than when I saw the PowerMac G5 specs, the idea that someone who needs to run this sort of applications would not rather run Windows or OS X is unthinkable. I mean, after every point release in GTK 3, I would rather run Windows...
Several months ago I reported a bug to a popular service which was allowing password reset & other emails to be retrieved with just a serial id from a service like sendgrid.
Fantastic that #2's description is:

> scheib's chromium.org fork for personal use, updated when useful to me.

--
EDIT:

Oh, but of course, it's just because he pulled thousands of commits from upstream...

Yeah, I don't think "contribution rate" is a great idea, at least not as implemented.
My recommendation doesn't carry into the digital space but does explore the history and constructs of early a/v propoganda. The author was the twelfth Librarian of the United States Congress and a critical historian. Considering the infotainment complex that has been created by cable news networks and the metamorphisis via the net his observations are more pertinent today than when first published in 1962.

http://www.goodreads.com/book/show/159979.The_Image
> Don't things get messy and ugly as the pure world of Haskell is being tainted?

Haskell is excellent at handling state. "Pure" doesn't mean no state, it means all state is handled explicitly in a type-safe way.

> How do I optimise Haskell code without having studied the language for decades?

It requires learning some new things, but honestly when I worked at a company that used Haskell I didn't really have to worry about this much. You occasionally make some things strict and there are some good heuristics about when this is needed, but overall it just didn't come up often.

> I had a lecture where we were taught Haskell, so I know the language

No you don't. You can learn Python in a lecture if you know Ruby; you can't learn Haskell in a lecture unless you already knew SML or OCaml, and even then probably not.

> The fact that everything is a linked list (bad for caching & performance) and everything gets copied around really turns me off.

Everything isn't a linked list in production code. It's easy to swap lists out for vectors wherever it's correct to do so, because you can write almost all of your code generalized to the necessary type class rather than specific to one single container type. Real Haskell code performs well, poorly-performing code is just used for examples when teaching beginners because it's easier and introduces fewer things at once.
Exercise a lot to the point of pushing your body to its physical limits. It will make you feel great, and improve your ability to learn new things and increase enjoyment of life.
Did they block pr0n there?
Let's suppose I search for 'jwt' and end up at 'jwt.io' (run by Auth0), which talks about what JWT is and lists a bunch of libraries. Let's say I want to use python.

One library checks for key lengths [1] and throws exceptions, another one doesn't [2] -- in fact it uses a quickstart example that should obviously fail.

[1] https://github.com/latchset/jwcrypto/ [2] https://github.com/mpdavis/python-jose
In my testing it struck a good balance between accuracy and performance. I was also impressed by the lengths the group goes to help people on their mailing list. That said, their licensing is not friendly so I generally have to rule it out.
Efficient game updates
Channel about chatbots/messengers/AI
Improving TrueOS: OpenRC
It isn't helpful for anybody but a narrow slice of mathematicians and computer science graduates.
If there is anything that YT needs, is playback when screen is locked (mobile). That's what I want to see.