skysight-inc/HackerNews huggingface dataset:
There's a big difference between learning how to program and starting a library/project every month. If you want to learn how to build something, which is what programming is, there is a straitforward way of learning how to do so.

Phase 1 is where you learn what programs look like. Pick any language. Learn all of the syntax and and meanings behind everything. Get to the point where you can start a project and write some code down and get a simple solution to a 1-step problem.

Phase 2 is when you pick a long term goal. Something you want to build. Maybe a game, maybe a website, maybe automate some portion of your life. After that, you write out all of the things that go into making that happen. An itemized list of absolutly every feature you want to include. Then you go to phase III

Phase 3 you break every goal into sub-goals, and those sub-goals into further subgoals so you have a tree. Stop breaking into sub-gaols when your goals are something like "Read config from file", "Grab user from database", "Render N many objects sequentially to the screen", "Wait to hear from clients wanting to connect".

Phase 4 is when you read up on how everyone else is doing all of the things you want to do. Make a huge list of mappings from sub-goals to stack overflow links on the topics.

Phase 5 every day, pick one of your sub-goals and implement a little prototype doing that sub-portion of your code.

Phase 6 reduce your tree. Go through every sub-goal and merge it into it's partent subgoal's prototype. If you get to the point where the code is messy and hard to follow abstract, optimize, and clean your solution as needed. Do not proceed to the next sub-goal until you are completely happy with how your current sub-goal looks.

Phase 7 test, test, refine, refine, clean, clean.

Doing this may take a year to get 1 project done but it will be the cleanest, most organized, and probably gest example of how you can write code. I think this one project would be worth more then 100 other projects where you "do it live".
So you think people who avoid unnecessary killing are ethically fucked up?
Hitler, is that you?
Ok, for my purpose I would be far less interest in programing language which has no idioms, no critical feedback, that is basically a mutual admiration society.
Conversely, lack of mutability makes dynamic typing much easier to reason about. Since variables typically can't be changed via side effects, you can do local reasoning about your code vast majority of the time.
Gartner gives Dynatrace top marks for application development and support
Because good configs are personal, not global. An email workflow for an accountant would be very different than an email workflow for an HR manager and a CEO.
Obama used a cybersecurity link for the first time to warn Russia
> "the feeling you get with OCaml is that once your program compiles, it most likely also runs correctly"

The feeling you get with Clojure is that, when you write and test each function (using CIDER) and get live feedback to make sure they work, you can combine them into bigger functions that most likely also run correctly.
* The Stasi were terrifying enough in a non-networked age - with smartphones, facebook, etc. they'll have so much more data on us.

* IMHO the political climate we live in could easily produce another Stasi within a generation.

* If that we get something like that again they'll have a decade or more information on you, and information you are leaking right now could be used to coerce, blackmail and threaten you.
There is a different between prototype and project. If you're experimenting with features you're not making a project. If you're making a project (I hope) you're not experimenting with features. That should be done in a prototype.
Don't sit around doing nothing, take care of the team's personal problems, make people feel part of something.
No, I was talking about (Common) Lisp's generic functions (http://clhs.lisp.se/Body/m_defgen.htm). I realize I did not give enough context. Define a generic function:

(defgeneric garnish (what with-what))

Specialize it on one or multiple arguments:

(defmethod garnish ((c cocktail) (f fruit)) ...)
(defmethod garnish ((s sandwich) (h ham)) ...)
...

But you can use it like a function:

(let ((currified (rcurry #'garnish :curry)))
(map 'list currified items))
Ask HN: What are alternatives to Google Alerts ?
https://www.semrush.com/blog/google-alerts-dying-5-great-alternatives/
mentions a few but there's gotta be more than that.

What are they ?

SEMrush Blog

Google Alerts is Dying: Four Alternatives for Mobile and Social Media

Google Updates used to be a useful service to deliver updates based on customized search queries, but it is now on the verge of obsolescence. This user friendly alert service was a dependable source of information, but has recently faced many perform
Sex isn’t welcome at CES 2017
I'm not allowed to say "I can't be bothered to deal with HR forms, I have actual work to do". Why do other people get that pass?
Posted previously: https://news.ycombinator.com/item?id=13266506
Wasn't that all he was doing? Also, could be mistaken, but pretty sure he was Ken Thompson.
> But here's the thing - there are at least two options that OpenSSL had (and still have) that would have avoided this situation and allowed for software projects to make a smooth transition from the old API to the new API[.]

Are these two options specified anywhere in the email?
Three full months of courtship? Really?
Manhattan Rents Grow Faster Than Sales Prices in November
Breathing Exercises for couples
Let's start using DuckDuckGo more often
Granted that DuckDuckGo.com is quite a childish name, but then so was Google when we first heard about it in early 2000s, wasn't it? I just switched to DDG recently and feel that not only is the interface fast and minimal (like Google used to be in those early days), but even the results seem to be a lot better (at least specific to the programming topic that I search too often). I'm getting a feeling that some day in future, DDG is going to become as big as Google, if not supersede it.
But a search engine's results are only as accurate as the number of users who search and contribute to it, so its my appeal to people to give a chance to DDG and start using it more and more instead of Google.
nobody except complete amateurs is using its own computer to do hacking. there are thousands if not millions of compromized computers in aws cloud and similar hosting services that in turn work as robot-hackers to compromise other sites. it is like a self building hacking network where each cell works to infect other cells. so atack, if it was any atack (as document does not have any evidence that it was one) was unlikely be runnig from a real IP but from a random AWS instance registered by some junior software developer from India who bought it to deploy a pet project that was hacked without him even knowing this weeks ago before the event.
Ask HN: Would you wait a day for less biased, more reliable curated news?
A couple friends and I were thinking of curating news together. Each one of us will tackle on a few topics each day, reading through most of the news of the selected topics, and with a bit of research, select one or more news articles that best describes the event, maybe with a little bit of "the curators context".

The goal is to help each other reach a less biased and more reliable source for news. The challenge is obviously the effect of individual biases, and the time spent curating news may affect the quality as well. One of the biggest trade off is that since we're going through news of the day, the curated news would be delayed, maybe as much as a day.

Instead of just posting them on a facebook group, we're thinking of throwing our curated news as blog posts, so that other people may benefit if they choose to use it.

What does HN think? Would you read curated news for less biased and more reliable information with delayed consumption on the event as a tradeoff? Any idea and feedback is great, as we want to further mature the concept (e.g. setting up some rules and baselines, as well as deciding on how to delegate each topic, etc.) before starting out.

Cheers and have a happy new year!
I don't understand why Facebook always gets 100% of the blame in cases like these. Don't get me wrong, I get the concern, but what happened to the old adage of "if you don't want something on the internet, don't put it there"? Are people never responsible for what they voluntarily share on Facebook? Whenever we put the blame on Facebook for the data they collect, aren't we just saying people can't be trusted to protect their own privacy on the internet? And if yes, shouldn't we change the conversation to how to educate people better on the dangers of the internet, rather bashing Facebook?
You're leaving out the time it takes to learn enough about email to know what the correct configuration is. And you're assuming that you're going to get the configuration right the first time and not have to continually tinker with it.
How could Obama secretly hack Russia?
I think it really depends. Recently, niche fields like SAP have seemed attractive to me. They are not too hard to pick up, generally high paying, and may even make it easier getting a job. However, I began to think.

I would say yes if you have experience developing enterprise applications. And by experience, I mean you've spent the last 5 years doing it for a living. SAP is primarily used by large enterprises, so people hiring for SAP positions probably will not hire self-taught a SAP developer with no on-the-job SAP experience or without experience working with enterprise software.

I, for example, would be screwed. I am 100% self-taught developer (i.e. no degree) with no experience in SAP or developing enterprise applications. While I could pick those things up with relative ease, I'd have nothing to show that I can work with those technologies (and please don't say side-projects)

To sum it up. Have you been involved with enterprise-ish stuff? If so, I'd say try it, if not, I'd stay away from it.
Really? I set up an IRC in a couple of hours. Why pay slack a few bucks over years when you can pay a decent admin a couple hours worth of work?

(I do admit I've not seen a good IRC phone client)
Just to be pedantic:

Each of the data points is an average of many users (and potentially have huge errorbars they do not show). Therefore for single individuals, this result may not be very predictive.

In fact, given that the distribution of number of posts likely follows power law, the average is hugely influenced by a small number of heavy facebook users. I would say this figure summaries more about top facebook users rather than the majority of users. So when "you" (an average facebook user) fall in love, this is probably not what facebook sees.
I did the switch. The hard part is leaving your previous shoes behind. While not mandatory you have to choose how to partition your time and set your priorities straight.

Chances are if getting promoted you are good at it, whatever that is, probably better than most your manages. Find someone that thinks in your same patterns and delegate as much technical issues to his guidance, so you will have no surprise if you need to turn your back at the technical aspects while solving budgeting/timing/serivces issues.

Be prepared to say no to improvements, that's a hard thing to do for programmers turned managers. If you have a chance, get a 10% contingency on tasks so you can gift good devs with time to branch out their ideas.

Be sure to rotate menial tasks to prevent burnout, it's easy to pin them always to the less skilled but that does nobody any favor.

Depending on your org structure it may be impossible to be autonomous on budget/spending/allocation, use that to negotiate timing. "I need x to finish in this timeline or need the timeline shifted by y" works most of the time if you're not happy with a given objective, especially if x is controlled from above.
Without shipped features or a trail of closed tickets to point at, what will be your measure of career success?

In my experience making a similar move, I initially made my gauge of success too dependent on others. I had to sit and think to create new metrics and measurements outside of what was currently done in order to show my success.
That's certainly a good way to learn, though it's by no means the one and only best way. I personally think the best way is to go to MIT and do an EECS major. But we all have our different ways of approaching education, and I respect yours as much as I respect a person who learns based on building simple applications the can relate to and engage with better because they're more interesting.
Funny idea. Good luck with the logo design, though... ;-)
They have audience options for ads (like age/gender/location, see http://searchads.apple.com/how-it-works/#features), meaning they collect data about their users as well.

Also, they colluded with other companies to, effectively, keep employees' wages down. Amount of money they saved was probably a rounding error for them in this case too.
>it's worth remembering that automation is going to result in that manufacturing resulting in less jobs. What's going to happen when people expect the jobs to come back but then they don't?

/u/Brightball posted this on HN and I felt it was a good response to your concern.

"One of the big perks to manufacturing is that it draws the entire supply chain around it naturally. Even if the manufacturing job itself isn't as abundant, the peripheral jobs that comes with it from shipping materials, producing materials, distribution, sales agreements, logistics, building construction and maintenance...they all provide benefits."
> I 've done a little playground-style OCaml coding and the feeling you get with OCaml is that once your program compiles, it most likely also runs correctly.

This is only a feeling. Without carefully testing the code to exercise its cases, all you know is that they are properly typed.

For instance, suppose we write a complicated function (or group of functions) which goes through a block of intermediate code (output of a compiler) and assigns registers to all the temporaries, introducing memory spills in situations where more variables are live than the available registers.

We might have a feeling that because this code compiles, it must be free of problems such as accidentally assigning the same register to two variables which have overlapping lifetimes.

That feeling is poorly supported by reality; it is the "safyness" of static typing.

Untested code is garbage. And thorough testing is difficult to impossible, so there is a bit of garbage in almost all software, unfortunately.

Statically type checked code has all of its code paths effectively tested by the compiler, but those tests have only the limited point of view of trying to show that the program contains a trivial type mismatch, a close cousin of the syntax error. These "tests" are not actually feeding values into the code and trying to make it fail or behave incorrectly with respect to its specification.
I literally work for a company that owns an instant messaging and group chat platform and everyone uses slack instead of our own product.
The "everyone" that you speak of was scoped for the village. And that "everyone" was not a specific someone.

[& p.s. your anonymity and privacy shot up as soon as you stepped away from your village.]
I cant speak for other countries, but why do American people seem to trust companies more than they do the government? I mean, it is completely known that companies are here to make money, and publicly traded companies are here to please their investors so they will do whatever it takes to do that. They study us, classify us, categorize us, manipulate us. They spend billions in research so they can make that 'perfectly tailored' ad to get us to buy their product. They are constantly buying our data and selling our data, JUST to make their investors happy, and we seem to always just shrug it off.

'Meh.'

I am honestly more ok with the government having this data to keep tabs on me than these hundreds of other companies treating my personal info like it's a trading card.
I don't think that statement is true.
It's not that dishonest. If the JVM supported TCO natively then it would be a no-brainer for Clojure. The alternative is to give up on seamless interop between Clojure and Java libraries.
The answer depends a lot on the industry/ product. But in general:

- Communicate, communicate, communicate. Give status updates. Ask for status updates. Get information from customers to your development team. Give updates from your dev. team to your customer.

-Be the voice of the customer. Know if it's more important to be really good or just get the dang thing finished. Let the development team know "we need to cut corners on this one because that's what the customer wants" if that's what needs to happen (of course, don't compromise safety).

-Take care of external roadblocks. Get API info, product specs, pricing, timelines, deadlines, etc... and find a way to effectively give it to the development team.

-Assume your dev team knows best how to build, test, and ship the product, but ask them questions to find out why. Don't be authoritative, but rather put on the attitude of a student. E.g. "I hear you saying we won't be able to ship next week. Why is that? What caused that? Is there anything I could for our next project that would help prevent this from happening?"

-Do project retrospectives.

-Learn the art of minimizing meeting length but maximizing their effectiveness. Communicate, communicate, communicate.
I would suggest getting involved with the project management institute, possibly getting a certification. The training for pcap or PMP certification is actually really good as to helping you do your job.
I don't think that's really a problem. The client handles it really nicely.
You have to delegate planning/architecture/development always. You can't afford to take deep dives into specific things anymore because you will be in charge of many more disparate tasks.

Every once in a while you can participate in some technical discussions but ultimately now you are responsible for them happening, not necessarily happening with you.
Let me be more specific: the question was "how will the GM industry will react"

‘substantially equivalent’ is a proxy for food safety and it's also a tricky standard. When interpreting this study's results the public and policy makers will look to academics:

http://www.nytimes.com/2015/09/06/us/food-industry-enlisted-...

Just by selectively funding academics that agree with them they can distort the debate.
https://www.youtube.com/watch?v=K38nFsZyY8Q
That's a great point. Even if it was say 99% accurate, that 1% would likely be the outliers that make or cost the most.
I haven't had a Facebook account for years, and my phone number was never associated with it. Yesterday I visited the site on my laptop to look up the page for a tavern that's re-opening. 1/2 hr later I got a text from 32665 with a Facebook confirmation code. WTF; creeped the hell outa me. I replied with "stop" and received verification that "Texts from Facebook are now turned off." I visited their site again to request whatever data they have on me, but even though I checked the "I don't have a Facebook account" button for the request they insist that I log in to finish the process. Not sure where to go from here with it.

[edit] grammar
Once mocked, Facebook’s $1B acquisition of Instagram was a good move
A guide to poor API management
The valuable part of this article is to limit a startup idea to one month of initial effort. And don't continue the effort unless after a month you can gain some sort of useful validation that there is a market for your idea.

This also means that you will have to stick to the basic core of your idea and skip lots of details, in order to have something that can be shown after a month.

I've seen too many startup ideas that people started working on that weren't necessarily bad ideas, but their plan was to make an MVP, the scope of which would take a team of engineers at least a year to deliver.
I think your idea is pretty cool

I just had another an idea about something tangentially similar just a few minutes ago. It'd be algorithmically curated news with no human intervention: https://news.ycombinator.com/item?id=13284875 . Do you think this would be somewhat related to what you're talking about?
You do realise you've wasted both my time and your own. If you thought about it from the start, it's obvious that I was referring to the learning curve. All facets of all Turing-complete languages are useful once you've overcome the learning curve. What varies is the length of time needed before you become proficient in using it. For another example...

The learning curve for manual memory management in C is a major issue, but not the principal of manual memory management itself.
This is why I like Scala's approach so much.

It will TCO automatically. If you want to make sure you haven't made a mistake, simply add the @tailrec annotation, and the compiler will give you an error if it can't TCO.
I think the reason is that government is vastly more powerful than any single company.
I'm using rig in a broad sense. The DNC didn't publicize banal episodes of tawdriness to the scrutiny of voters. If you're talking about the NGP VAN data access, that hit the news on 12/17/2015 when Michael Briggs (Sanders's communications aide) talked about it to BuzzFeed, and the story blew up on 12/18 when the Sanders campaign filed a lawsuit against the DNC over temporarily shutting down their access to the system until they could show that they had deleted any copies they might have had of the Clinton campaign's data.
Sugar Daddy Meet-Best Sugar Daddy App
The San Francisco Coffee Crawl
I see no relation from Red Vienna to right wing. Rising of right wing is a global emergence now. In Vienna the right wing candidate had a massive debacle in the last election.
I have a nearly five old idea that is very similar. Eventually someone will build it (well) and it'll become very beneficial!
> I'm surprised by all the negative reactions.

Welcome to Hacker News, where everything gets shit on!
1. Have clear goals. Be able to articulate them.
2. Communicate the goals to your team.
3. Understand what barriers your team faces in completing the goals. Eliminate the barriers, or adjust the goals.
4. Clarify your goals.
5. Care about your team as people.
6. Communicate your goals clearly.

The best boss I ever had was an ex-Israeli commando officer. Most people look shocked when I say that. Here is why he was great:

1. There was never, ever, any doubt whatsoever what he wanted done, and when.
2. When you told him what it would take to do that, he actually listened, and did what he could to smooth the path.
3. He never left basic humanity behind for any reason in his treatment of team members.
The mistake I often make when trying to learn anything is assuming that what I already know justifies skipping the introduction of the basics. Essentially, it's an indiscipline. I look at the material and think, I know that and don't actually do the exercise.

Anyway, my go to recommendation for functional programming is How to Design Programs with the caveat that it is really easy to fall into the trap I describe.

Good luck.
Just added two projects:

- A physics engine: https://github.com/aguaviva/Physics

- A Neural network: https://github.com/aguaviva/ArtificialIntelligence

The point was to learn the basics by implementing everything from scratch, I also wrote a tutorial to make sure I understood the theory.
If you like whoaremyrepresentatives, we would love feedback on [Act On This](https://www.actonthis.org/) as well.

We don't go down to as local of a level yet, but are more focused on giving information about specific actions you can take related to issues you care about.

While the current list of issues comes from us, we're on-boarding a couple of non-profits so they can use the tool to help organize volunteers at a state and local level.