skysight-inc/HackerNews huggingface dataset:
A smart marketplace for education – Australia
Find best courses from Australia's top institutions.
It makes me so happy so see some hate for Angular. I decided to specialize in front-end web development a few years ago because the state of back end frameworks was so abominable. I escaped to HTML, JS, and CSS so I could quietly develop in peace. Now we have Angular, Knockout, Bootstrap - please for the love of all that is good, just stop. This nonsense is nothing but mountains of technical debt. When I tell this to framework fanboys, they counter with "But you can get things running so quickly using frameworks." This is the definition of technical debt (doing things fast now at the expense of doing things slow later) but it is also complete nonsense. I challenge anyone to a contest to create a quick font-end site where you can use as many Rube Goldberg contraptions as you like and I only use jquery. So then when they back down because they know they will lose their excuse is "But Chris, you are just so smart - the average dummy developer can't do what you do." My final rebuttal is "If you agree that I am such a genius, why won't you listen to my advice?"
This. A thousand times this.
Dealing with the sales and marketing people in my own company is the same way.
Sales Guy sends me an email. Two minutes later, he walks over to ask me if I got that thing he sent me, ala Peter Potamus.
The reason people push for phone calls is because the other person is more likely to say yes on the phone. The only goal of the initial email is to give the other person not enough information to say no, so that they have to take the phone call.
6 Minutes That Can Change Your Security Start-up's Life
Franz Kafka - The Castle is in the public domain and everyone should read it. IMHO it's his best work.
http://www.24grammata.com/wp-content/uploads/2013/07/frans_k...

(not sure how good this translation is, was the first pdf when I googled for it)
I'm a programmer, and I also own WonderProxy (https://wonderproxy.com/) and Yes.

I had someone from a rather large company email me, all super interested, get them started on a trial then they'll pay like tomorrow. They just need to get started ASAP!!!!!!ones!!!! That turned into needing to talk to some business guy, who absolutely needed to talk to me on the phone, so he could ask me for our address and a phone number, which I emailed to him.

I deal with this sort of thing probably once a month. The larger and older a company it is, the more likely I'm going to need to jump through some hoops, rather than have them use our nicely automated purchase process. Filling our vendor forms, agreeing to their anti-bribery policy, giving them a "direct" email rather than support@, agreeing to net-60 rather than net-30 or pre-payment of service.

Is it awesome, no. But I do it. Joel Spolsky's customer service tip #6 (http://www.joelonsoftware.com/articles/customerservice.html) comes in handy. Pretend you've got a puppet, and you just need to make the puppet say something that will make the customer happy. It's not you, it's the puppet.

Because I've managed enough of these situations, we've built up a sufficient pool of customers that we have enough money to hire (part-time) someone more comfortable dealing with these tricky customers. Now I deal with them less, and more of them sign up. It's a fantastic circle really :).
The OP can't "make" his/her father do things, however they can suggest things. They implied the father wants to/is open to new experiences.
> all of them will stay in a niche <

C# has had generics since 2.0, so ALL is a bad choice of words there.
What does your example have to do with functional programming?

You've written two factories, pretty much exactly how AngularJS uses them, in an imperative style.

Regardless of which, this doesn't in any way solve the issue Angular Services are designed to solve (IoC).
Mystery of 'ocean quack sound' solved
Maybe it's just that I am a programmer too but in this situation the one that need to learn communication to me seems the business side. If someone told you how they want to communicate with you after YOU requested to communicate, you should comply. There is no requirement for the programmer here to waste his times in endless meeting that result in nothing. Sales people might have time for that and that's because it's what they do. Programmers have other stuff to do.
Scrolling through HN has made me think about this often myself. Very nice article.
What the actual fuck is this? I read this as "in order to do a hello world, you must first create a hello world service to create the hello world factory to create the hello world sercice so you can print hello world on the screen."

Well, you misunderstood, and now you're ranting according to your misunderstanding.

I'm not an Angular, expert, but I'm pretty sure that the situation is this:

1. "Hello world" does not require any dependency injection whatsoever. (ie. it does not require services, providers, or factories). Note: if this was not true, I would agree with this rant completely.

2. If and when you decide you want dependency injection, if what you want to inject is a simple value, you can just provide it directly, without using a service, provider, or factory.

3. If and when you decide that you want to provide a dynamically-generated value, you can specify a function instead which will get called whenever the value is requested. This is called a "factory."

4. If and when you decide that you want your factory to just "new" an object instead of running an arbitrary function to provide the value, you can register that object type as a "service."

5. If and when you decide that you want to configure that object type first, you can register it as a provider.

If you want to stay at step 1 forever to keep things simple, groovy.

This is a example of success, not failure: you pay for only as much complexity as you actually want to use.
This doesn't look very much like communication with a "business guy" to me. Successful "business guys" tend to waste little time and get straight to the point, just like (good, non-autistic) programmers. Perhaps he was thinking of marketing/sales people, who tend to believe that they can somehow cheat or force their way into a better position to sell something by withholding information or by being obnoxious and insisting. They are often not very good "business people" ...
Piketty Is Right: Everything you need to know about his book
Oh thank you. I didn't know anyone actually read those. I mainly started my blog to give myself a boost in confidence every now and then and help me get a 9-5 design job eventually.
I've been slowly coming to this realization myself lately, I thought our situation was just outside the mainstream of what most people work on, but maybe not.

Our team builds data-intensive biomedical web applications (open source project for it all here: http://harvest.research.chop.edu). Much of our UI is data-driven, so many of the bugs we encounter are at the intersection of code, config, and unique data circumstances. While a lot of the low-level components can be unit tested, individual apps as a whole need functional testing with real (or real enough) data for us to consider them sufficiently tested. The effort required to mock out things is often higher than just cloning production and running new code on top of existing data. This gets complicated in a hurry when you also have to introduce schema migrations before you can test. It's almost like we need to be doing integration testing, far, far earlier than you would normally.

Furthermore, the reality is that what started out as a Django app now has almost as much client-side JavaScript as it does Python code. This complicates the testing picture further, and I suspect many teams pushing things further in the direction of true web applications are starting to bump into this more and more.
I wasn't sure I was supposed to be expecting more as a guy?

Most of my male-to-male interaction occurs because of shared interest. Usually a 'man activity' such as working on a car, house, or yard, working out, riding motorcycles, that sort of thing.

But there's no talk about feelings or things like that. I could help a buddy cut down a couple trees and nothing of the sort gets discussed. I'll come home and be asked, "So did Mike say how it's going with his new job/girlfriend/whatever?"

I reply, "No. Was I supposed to ask him about that?"

I think the only time there's any real discussion about things of that sort is the other activity I share with other guys: drinking alcohol
The world has not had TDD for a long time, and software got delivered.

That's an argument against any kind of improvement; you can replace "TDD" with anything introduced since people started writing software.
You're right. Strangers are outwardly friendly for no apparent reason.

Politeness norms. For whatever reason, in the US, there's a certain base line expectation of cheeriness. Especially in service staff like waiters or flight attendants. ("Hi, welcome to McTuckey's. My name's Megan and I'll be taking care of you tonight.")
1) Very, very flippin' cool!

2) Erase Text option menu location
Using version 0.7.2, the "Erase Text" option is displayed under the "Translate" section (certainly not where I would ever intentionally look for it).

3) Select Text -> Right-click changes selection
After selecting my text, when I right-click the selected text often (almost always) changes. For example, with the kitten text, I selected both paragraphs, but when I right-clicked to go to Translate->Erase the first paragraph ceased to be highlighted. After erasing the second paragraph I tried in vain to select and erase the first paragraph, but everytime I'd right-click the selected paragraph only a single word would still be highlighted. I eventually tried erasing text while only one word was highlighted and the entire first paragraph was erased.

4) I really appreciate the Security & Privacy section of the project page.

5) I would love to see a Firefox version of Project Naptha!
An Eavesdropping Lamp That Livetweets Private Conversations
And why do you want long-term friendships? The article seemed to imply that they were good because they were healthy.
which isn't available on Linux
Using Data to Find the Hottest Startup Cities in the World
Fingerprints aren't as unique as first thought
Thank you! I came here to say this, but you said it a lot more politely than I would have.

There's a lot of hate for certain design patterns because they are seen to introduce too much complexity or boilerplate in small projects - but are absolutely essential for large projects.
I've run into this before and basically what it comes down to is that these are people coming in with a sales mindset and don't understand (or choose not to understand) that time = money for some people and they're not going to spend their time listening to someone's pitch unless they have some indicator it's not a waste of their time. They seem to think, "If I can only get him on the phone..." but totally
fail to communicate why someone should get on the phone with them. Recruiters do this a lot too. "Let's talk about this opportunity I have with a client." Not when I don't know who you are, who the client is, and whether the job has any of the attributes I'm looking for.

You may have indeed missed out on some business opportunities but maybe those weren't the ones you wanted anyway. If someone can't articulate why you should be interested in a simple email, a lot of the time it means they don't have much of value to offer you.
A) As I understand it, IPv6 still has private addresses, although they contain a random element to attempt to minimize collision when private networks are merged. http://en.wikipedia.org/wiki/Private_network#Private_IPv6_ad...

B) I agree there are inconveniences and complications with using private addresses in ipv4. But it seems to be necessary thrift in the ipv4 world of rapidly expiring address space; using public routable ipv4 addresses for machines which do not communicate with the public internet is perhaps a luxury we can not afford, even in cases where to do otherwise is inconvenient or complicated.
Lots of "fucks", only one instance of "cunt". I am very disappointed.
And... depends on what you are consulting on.

I live out of consulting, and my biggest projects is writing experimental consumer behavior simulation engines.

Is not that TDD does not have a value, it is just impractical

For once, since they are simulations, they are trying to predict the future, hence there is no right answer, there is the "Acceptable" answer, or the "Defensible" answer; so having a little test on the side that tells me that I am still producing the predicted result does not help much because there is no such thing as the correct predicted result

Sure I can do test to make sure I match the excel spreadsheet that I receive for spec, they would tell me that I copy the formulas correctly; but then, for seconds, I bring the results back and they test it with more real data, and they realize that we need to tweak 100s of different little formulas (which invalidate all the unit tests), change the order of a few of them, and introduced a couple of new ones (as I was told once "because I don't know what I was smoking that Tuesday, so we should use this new one"), and of course "can we have these changes for the end of the day?"

So it all unit tests are voided, make all those changes which are simple enough to be done in a couple of hours. And I am not going to know what is the correct result because there is no valid spreadsheet now, so I don't know in advance what is expected, hence I cannot write the test first

And wait until I try to tell them, the modifications will take 2 hours, but I need another 2 days to write the new set of unit tests, which since I wrote with the result of the modifications instead of before the modifications, they will not prove anything

Rinse and repeat 10s times a month for the last 4 years...
Aereo: If you shut us down, you'll need to shut down cloud storage
‘Sell me this pen:’ The real answer to The Wolf of Wall Street’s challenge
Owner of Warrior Forum sells to Freelancer.com
Ask HN: Physical status indicators in your office
So most of you will probably have a LCD panel in your office to display live status, such as build status, system monitoring etc. Now that is fine for large floors, but a bit overkill for many 2-3 person rooms and simple, discrete metrics. Also, I love physical indicators. Our Nagios system controls an old traffic light (from Ebay) using a Pi. It was fun to make, but also a lot of work. Ideally, I'd order a bunch of physical indicators and all my employees get one to hook up to their primary target.

So what do you have in your office to indicate live success and failure, apart from monitors? What works best for you? What was the easiest to implement?
I like the independence achieved here, down to not having to deal with people with conflicting communication styles.
"The battle for talent is as important as the battle for customers." I totally agree .. With an amazing product, customers won't be able to not use a CRM system such as Zendesk.
Odroid-U3: A quad-core 1.7GHz ARM single-board computer for $59
Here's a car factory in javascript [...] And here's a configured car factory

Great, now where is the part where the code that provides the "my dealer" string can be completely unaware that makeCar() exists?

Oh, it doesn't exist? That's the problem that Angular DI is solving.
Here is a great video explaining the history of "America" and its usage around the world:

https://www.youtube.com/watch?v=NVMZC4y4zXU

tl;dw? Skip to 3:40.
The Ultimate List of Customer Development Questions
I think you're describing a sales guy versus a programmer. In my experience, "businesses guys" are actually professional bullshit detectors. It's one of the reasons you want them in on the actual contract negotiations. A skilled business guy has an amazing way of boiling things down, spotting inconsistencies, and seeing where relationships are likely to fall apart.

Sales guys on the other hand are professional bullshit machines. They heavily rely on being able to read your tone and state of mind so that they can tailor the message to whatever they think will resound with you the most. And that's way easier to do on the phone.
I think it's more concrete. FactoryProviderProviderProviders provide a common set of procedures for programmers to provide programs [sorry, second cup of coffee]. All that framework makes the landscape familiar and allows the procedures which worked for generating Java code to work when a person wants to generate JavaScript. It provides space for algorithms for writing programs.

The tradeoff is that it will never be done in a way that optimizes on logical insight. Simple currying would be simpler but the boss still might not understand it, and it's better culturally if the boss doesn't understand sixty lines of boiler plate than twelve lines of mathematical reasoning.

The advantage is that the programmer can know, if I do these things I will get close to the result without worrying over much about the degree to which I might lack deep understanding. On HN there are plenty of people comfortable with the idea of factories as curried dispatch constructors. But that's not the typical case.
There is nothing worse than being in a relationship where you do all the work, give it to someone else, and they reap all the rewards. This happens, time and again - not just in our industry, but in the broader world at large as well. In some cases it called "abuse", in other cases its "just normal business behaviour".

But I've started to notice more and more that there are big divides between "good developers" and "business people" and that these big divides are, fundamentally, prejudiced. "He is a tech guy, he doesn't 'do' business", or "that person is a business 'type', they don't 'do' tech" = prejudice, intolerance, and bigotry, plain and simple. It works both ways - "we tech people" do it, and "so do they".

Its got to stop. In fact the only time something positive ever gets done in society is when this prejudice is actively thwarted from taking over the social conditions in which one is working.
Somebody's got to decide which way to go with the diffs
How much time does it take to get a first reply? I had sent an email to join this challenge but still haven't received a reply.
Note: I sent an email via gmail (plaintext mode)
ARIN does not have the authority to reclaim the blocks allocated before ARIN existed.

This is the source of a lot of problems.
You have to keep appearances everywhere. I have worked in tech for three years across two different cities now. An old grad school habit of mine that has carried over is waking up insanely early, getting to work and getting my shit done and getting out around five. I have never had a job where I haven't got shit for being the guy who leaves work on the clock at five when everyone is going for their first burrito of the night.
I can certainly sympathise with the abstinence-only pride and shame cycle. My projects typically start with a test-first approach, which evaporates when the clock starts ticking.

It seems to me, first of all, that there's a threshold of software complexity, beneath which writing tests is a net loss in time and productivity. If you have (as I often do) a couple of hundred LOC spread across a few files, with one or two models/views, then there is negligible gain to automated testing - by the time you've set up/torn down the test DB, you could have refreshed the page in a browser 5 times and seen all the error messages in there. I accept that this threshold can be hit very rapidly once you get towards a modest website, even; but my day job basically involves writing toy SPAs with a very simple API behind the scenes, built and then left chugging along until they're out of date, so I often sail under it.

A bigger anxiety I have about TDD is that, while there are no end of resources on using tests to drive software design, I haven't come across much about good design of tests (suggestions very much welcome). I rarely have confidence that my tests are any more use than assert_true(true). You test for the constraints you anticipate when you write the tests. I don't trust my code-fu that far, and so my tests inherit their author's impostor syndrome.
Testing can be more difficult in some cases, if you haven't carefully structured your code. In python you can always monkey patch whatever outside dependencies you have, whereas in Go, you can't do that without structuring your code to allow it. Careful use of interfaces and dependency injection can let you do it, but if you don't know to use that style, you can get big blocks of code that become hard to test because they expect the whole operating environment to exist, which may be hard to do during testing.

If you want to write code in a Domain Specific Language (even if that domain is "math"), it's nearly impossible in Go. You can't do operator overloading or all the really crazy hacking on the functionality of basic parts of the language to make it work in fundamentally different ways (the way you can with numpy etc). Go will always look like types, functions, and methods.

Right now, Go has no user-defined generics.. this is actually not a problem for many projects, but if you happen to need a lot of specialized containers for different types (like red black trees, graphs, etc), then it can be a barrier. There are ways around it, probably the best way is just code generation to duplicate the container code per type that you need. The other option is just using interface{}, which is basically void* or "Object" for Go, and casting in and out of it... but that can be slow.

There's probably some stuff I'm missing, but those are the major points that I can think of.
Many cultures consider "The Americas" to be one continent - America.
For all it's worth: the Gimp devs were originally the creators of GTK+, which stood for "GIMP Toolkit" - so GIMP doesn't rely on QT.

https://en.wikipedia.org/wiki/GTK+
These sort of conversations only happen when the "business" person is looking to sell you something not buy. After many years I have learnt to ignore them.
The last example is different - remember to use Printf, else you get:
My name is %s and my surname is %s John Smith

I do this unfortunately way more than I want to admit...
Complexity? It's 2014 already.

Nothing complex about generics that the average modern day programmer can't grasp. We're not talking about some '00s enterprise drones that were never exposed to those concepts.

People used to talk like this about closures in Java too -- "too complex, who needs them", etc. Didn't turn out very well for the language's mindshare about the new generation of programmers...
Whether you use OO, Procedural, of Functional programming, you're still going to end up with some variant of IoC in order to keep your abstractions clean.
>> Most average or newbie salespeople think that they’re supposed to sell you the pen, when a really seasoned salesperson will actually turn it into a qualifying session to find out what you need. That’s the truth of it. It’s like trying to sell someone a house and you don’t know if they’re in the market for a house, what kind of house they want, how many kids – so how can you sell someone a house? That’s the point.

Probably the best distillation of customer development I have heard in one sentence.

Every sales pitch is a qualifying session. If you listen well enough your customer might just tell you something you want to hear...
Yeah, and it looks like they're not actually selling them - they're giving them away if you smash your old phone!
Picks: Microsoft signs Android patent deal with Motorola Solutions
If you aren't referring just to shuffling albums, as opposed to tracks, which many players can do, then you can achieve what you want with foobar, using this component: http://www.hydrogenaudio.org/forums/index.php?showtopic=7746...