skysight-inc/HackerNews huggingface dataset:
take a look at these things: http://www.pcengines.ch/apu.htm

reasonably cheap X86 boards with 3x gigabit ports that run OpenBSD wonderfully.
On the flipside, Software Engineering, the actual degree, didn't exist at the school I went to even 10 years ago. It's pretty damn new. I'm curious what you want to call all these people who do more software engineering work, and have more software engineering knowledge, than someone with a Software Engineering degree.
Cutting olive oil with cheaper vegetable oils is much more acceptable in my books then boiling down rancid sewage grease and selling it as new cooking oil.

But you're right, capitalism causes cost-cutting measures all over the world. However dangerous. Not just in Asia.
I worked as a hardware and software engineer in my post-undergraduate pre-PhD job. I had a bachelors degree in physics, but not engineering, so did that count?
The problem is that the industry doesn't value formal education. If they did, companies would hire engineers coming from school based on their academic accomplishments, not on having hacked something on the side.
> Be grateful we live in a time where our greatest annoyance is someone contacting us with a job opportunity.

I've said this before, and will say it again: there is a world of difference between being approached by a recruiter who has been explicitly commissioned to fill a position, and being hounded by a recruiter who is just trying to fill their quota.

Hell, some time ago I got so annoyed that I disgorged my thoughts to a post: http://bostik.iki.fi/aivoituksia/pages/recruiter-anxiety.htm...

I still try to maintain a reasonable approach to them. I get an insane amount of recruiter spam at my work inbox, which I ignore. Everyone is trying to get their (live)stock hired by anyone, for anything. Some of the more enterprising ones will try to inmail me with their solicitations. Most of them contain a magic phrase "I noticed you are looking for developers". I've started to send these individuals a canned response: "If you found that out, you also read that we don't accept agency resumes." I also include the link to my post above.

Seems quite an effective repellent so far.
>We want to apply values to variables and get the DOM updated. The popular two-way data binding should not be a feature, but a must-have core functionality.

Strongly disagree. I find one-way bindings and one-way data flow much easier to reason about. A little less boilerplate code is not worth mental overhead, cascading updates and hunting down the source of wrong data in my experience.

What is important is not updating the DOM from the code and instead describing it with a pure function. React, Cycle, Mithril, Mercury do it, and it's time we get used to this. This is the real timesaver, not two-way bindings.

`Object.observe` is the wrong way to approach this problem. If you own the data, why invent a complex approach to watch it, if you could update it in a centralized fashion in the first place? Here is a great presentation on that topic: http://markdalgleish.github.io/presentation-a-state-of-chang.... I strongly suggest you read it ("Space" to switch slides) if these ideas are still alien to you.

Even Angular is abandoning two-way bindings. http://victorsavkin.com/post/110170125256/change-detection-i...

I, for one, welcome our new immutable overlords.
Great post, and something not many people consider when starting a startup.

This happens with any mid-high ticket item you sell, unfortunately. I ran a hosting company for 6 years and we had rampant fraud even back then. The "tells" were often the same--high-$ orders submitted by someone who hadn't talked to you first, etc.

I do remember a couple of gems from my time running the company. Once, I had a friend who lived in the UK at the time call during UK business hours to verify that a customer had actually placed a large order. (This was back >10 years ago when calling the UK from the US was quite expensive--it was easier and cheaper to have my friend call!) It turned out the order was for real, and we got a happy new customer.

On the flip side, we had a customer order and pay for a server for 6 months with no usage. Suddenly he started using it--for spam! Usually when this happens it means the server has been hacked. Not in this case, however. The dude was a bona fide spammer wanted by the FBI. We seized the server, called the FBI and reported it.

The guy had the nerve to then charge back ALL of his 6 months of hosting through Amex. (Turns out that was part of the scam--Amex allows you to charge back exactly 6 months of purchases.) We filed a counterclaim with Amex, but they sided with him (any merchant who accepts Amex will not be surprised by that story.) We contacted Amex directly letting them know their card holder was a spammer, but he charged tens of thousands of dollars a month on the card and we got nowhere. I suspect in this day and age of social media, we would have gotten a lot farther with it.

Years later, I heard Microsoft, of all companies, finally tracked him down and got him arrested: http://www.nbcnews.com/id/18955115/ns/technology_and_science... He had the nerve to use his real address with us, too, which I hope helped the FBI's case. I have the dubious honor of having talked to him on the phone when he was spitting mad after we shut his server down.

There are some real whackjobs out there. Unfortunately, you'll often meet them when you run an online business.
The tax reform that they lobbied against would have made it similar to the way some other countries do it:

The IRS sends you a form with all the numbers filled in. After all, for many people, the IRS already has that information.

Here's Norway's version:

"You will receive a tax return from the Norwegian Tax Administration in March/April if you work in Norway or on the Norwegian continental shelf. The tax return gives an overview of your income, deductions, assets and debts for the last income year.

You must check that the information in the tax return is correct and complete. You do not need to submit it if there are no changes to be made."

http://www.skatteetaten.no/en/International-pages/If-you-wor...
It's not the only industry that does that. "Audio engineers" don't always have formal education
Thank you. I did, in fact, make sure the name and the fact that it is a monitoring system were already public (and from an official source) before mentioning them in this post.
Laravel is the shame of modern PHP - ZERO OOP, almost all methods are static, no DI, array-oriented programming everywhere, a lot of hardcoded "new" (so you can't mock and test).
In Canada everyone with an engineering degree gets a ring. I do find it funny that I work with several Chemical and Mechanical engineers who hold the title Software Engineer, but myself with a Comp Sci degree get the title Software Developer.
many languages that do OO have that; Perl, Smalltalk, Objective-C, f.e.. But this seems more like monkey-patching.
Software developer, computer programmer, system designer, software researcher.

Engineer has a specific connotation to the outside world, developed over centuries. We'd like to use it because we tinker with programs, and invent new things, but it's misleading to the general public. Should I call my self a Software Surgeon because I fix up bugs?
I'm an electrical engineer and despise the entire usage of this title by non-engineers.

Most engineers live and die by standardization, rules and responsibility that most so-called software engineers would hate.
I can respect that. But to pose devil's advocate - why do you believe the education is special?

If we begin with a formal analysis, this sentiment begins with "Is it possible for an individual to learn everything required to be a fully competant software engineer without going to university?"

If you agree this is possible, that there is at least one human being capable of this, then the "special" meaning of engineer becomes limited to title and investment paid in a college education. It no longer is an absolute determination of skillset or intelligence.

There is data in favor of that statement. Google conducted a study that showed an extremely weak correlation between degree and hiring results, at least within its own company. And there are numerous examples of people who have accomplished quite a bit in the realm of legitimate software engineering without a degree.
Also, data bindings assume you are working with a DOM which isn't always the case. If you make a video game using canvas built-in data bindings just get in the way.
Engineer is a description of what someone does, not what qualifications they have.
School has very little to do with why software developers shouldn't call themselves engineers. Virtually nobody in our industry actually practices "engineering", in part because the industry is structured around staffing and scheduling incompatible with "engineering".

Having said that, this is a hacker/cracker debate; the ship has sailed on calling developers (and tech employees) "engineers".
Google-Advised Disney Cartoon Aims to Convince Preschool Girls Coding's Cool
I rarely refer to myself as a software engineer (except on things like LinkedIn where I'm putting my actual job title) and try to use terms like software developer when describing the job in general.

I understand where terms like software engineer and software architect come from but they seem silly to me.

Still, not as silly as things like ninja, rock star, jedi, etc
It's actually a card, not a ring. ;)
What makes you think it's even possible for a competitor to arise with DRM-free streaming?

The reason you don't see any DRM-free video streaming of non-independent content is because the content producers require DRM. They won't license their content without it. It's quite literally not possible for a DRM-free Netflix competitor to arise, because they'd have no content (or at least, no content worth watching).
This has been going on for over a decade in many cities in the world. Vancouver is probably another good example of this.
In some countries there is, and it's a legal thing. It'd be like calling yourself a doctor when you're not.
Please don't call yourself an engineer unless you're licensed:

http://ncees.org/about-ncees/news/ncees-introduces-pe-exam-f...
I would recommend against this in Canada, as it's illegal.
That's not a fair comparison. You can demonstrably learn every skill integral to software engineering outside of a traditional university.

You cannot do that with surgery. Or, well, you theoretically can, but it's much more hands on and almost certainly requires in-person mentorship.

But I take it your answer is "yes", then - if someone is a better software engineer and an accomplished luminary in the field, who progresses engineering itself forward, we shouldn't call her an engineer without a degree. Is that your position?

At the risk of being accused of developing a strawman - I'm not. I'm developing a baseline. Calling someone an engineer without a formal education is binary. If it can be done under any reasonably achievable circumstance, it's fair to say that you can be an engineer without a degree.
Actually, most Googlers work on creating ad-inventory, ie gmail, blogger, G+ etc. Only a small fraction work on the ads technology itself.

I see what you are saying though, most of that isn't shiny.
> I see news commentators calling Syriza "far left" - they are not far left, they are just socialists.

They do have a fairly strong far-left faction, which perhaps contributes to some of that perception. However I agree the party as such isn't, particularly the leadership that is actually in control of the party. Tsipras and his allies have fairly effectively sidelined the leftist faction over the past few years, in an attempt to turn the party into an electoral force that could win. The faction around Tsipras is inclined more towards a kind of pragmatic populist socialism, not a more hardline ideological leftism (Varoufakis is de facto in the Tsipras faction too, although I believe he's formally not even a member of Syriza).
Most of what Patrick (the writer) says is decent advice, and yes, it is important to publish your hobby junk, get feedback, go to meetups, and generally involve oneself into the community as it is not only helpful to one's career, but also fun.

That being said, I don't particularly agree on the "don't be modest" comment. Rather, it really should be "don't be ashamed of what you build" (with the caveat of no matter how shameful it is), that is, openly show people (both online and in real life) what you've built, the problems you're encountering, the solutions you've come up with, etc.

That is, proudly say to them "Hey, check this out, I built X, it's a Y, and I think it's great... but let me know what you think and don't be afraid of hurting my feelings."

And whether they reply with "Hey, you're right, it's great! Here's Z dollars for your startup", or (if you're testing on 4chan as I do) they say "OP, you suck, why does your site need this much JS? Go die in a fire, you worthless cuck", be modest and meek with your reply. Thank them for their input, actually consider the merit of what they're saying, don't get emotionally flustered or discouraged, and continue bumping your thread / iterating.

So I guess it's this really weird and almost conflicting mindset one has to be to have a good career experience; one needs to be proud and shameless about one's self and work, yet modest and meek when it comes to its reception and feedback.
Ask HN: Any Tools to Verify an Email Address?
I use gmail plugins Discover.ly and Full Contact. I've also used this web based tool: http://mailtester.com/testmail.php

Any others?
That's actually a far more interesting argument against calling people "engineers" than accusing them of not having skills netted from a formal education.

I agree with you though. It's like holding on to "literally" being used solely for the opposite of "figuratively." It's pointless.
(6.36 - 1) *100 = 536 ~= 540,

So what distrinctiont are you trying to draw?
The fact that they used plastic doesn't mean that the design was based on disposablity. You can still purchase ancient working ProPrinters on Ebay and there is still a long tail market for the [ribbons].

It was really HP that developed the throw away printer market with the Deskjet 600 series. The first generation Inkjets and second generation Deskjet 500's were designed according to the principles that made HP a respected brand for instruments and calculators.

[ribbons]: https://www.google.com/search?client=ubuntu&channel=fs&q=ibm...
Osh – An enhanced, backward-compatible port of the Sixth Edition Thompson shell
Welp, guess I'll go be a professor.
Yep the Ember team also seem to have come to the same conclusion on 2-way bindings.

My dumb takeaway is something like '2-way bindings demo well but are rarely what you actually want in real apps'.

I think (not 100% sure) Tom & Yehuda (of Ember) talk about how they became disenfranchised with 2-way bindings in their recent Changelog podcast episode on Ember 2 [1].

[1] http://thechangelog.com/131/
Honest question: Why do people care so much about or like having the year in the title? In some situations I can see it being needed to prevent big confusions, but many times I see people put the year in the title when it doesn't really seem to matter. In this particular case for instance, I don't see why it would be needed.
Satire aside, the really awful part is that these jobs are being advertised as unpaid.[1] Since it looks like this is a for-profit corporation and the interns will be providing useful services to the company (e.g., "finding, cataloging and uploading new products to add to to Whttl"[1]), this arrangement is probably illegal under U.S.[2] (and state) minimum wage laws.

Also, if you're not a Y Combinator company, posting job ads on HN (except in the monthly "Who's Hiring" postings) violates HN guidelines.[3]

[1] https://www.whttl.com/jobs

[2] http://www.dol.gov/whd/regs/compliance/whdfs71.pdf - see item #4: "The employer that provides the training derives no immediate advantage from the activities of the intern...".

[3] https://news.ycombinator.com/newsfaq.html
Who knows better, has the field to himself!
says this guy
https://www.youtube.com/watch?feature=player_detailpage&v=zO...
translation here
http://www.rastko.org.rs/knjizevnost/njegos/njegos-mountain_...
Surprised at the elitism evident in many comments here. It's a title. Nothing more. A lot of people seem to be saying you must complete an engineering degree to call yourself an engineer - what if I learnt the same skills without paying extortionate fees and wasting a lot of my time for four years? It almost seems like people are trying to justify their time and money spent at University by claiming exclusivity on the engineering title.

At the the end of the day it doesn't matter. The only people who really care about titles are hiring managers and people trying to get hired. Once you're in the job, as long as you have the skills nothing else matters.

It seems like the debates around the use of the word hacker or startup. A waste of time.
The printer that is being replaced looks like the Epson MX-80.
I would agree that Docker has some flawed fundamentals, that it has many implementation flaws, and that is over-hyped. Out-of-the-box it is even almost useless for real-world production usage.

But - despite agreeing with your words - I wouldn't put them together to reach the same conclusion. The container model with managed images seems to be a big step forwards vs the VM model: it encourages having immutable 'machines' that are disposable, which works very well for cloud architectures.

I would check out the kubernetes project and where it is heading: containers orchestrated across a cluster of machines, with seamless/automatic networking between the containers.
Probably because most schools don't have 4-year software engineering degrees. I don't think I've ever ever heard of a school offering a degree like that.
"The only people who really care about titles are hiring managers and people trying to get hired"

One thing I've been trying to change in my company's culture is caring about the titles of applicants. IMO titles are only meaningful within the same company and can't be compare outside. For instance, I've worked in companies where "Senior Software Engineer" meant "you didn't just graduate from college" and I've worked at places where that meant you had 10+ years of experience and showed serious technical skills.
Not the parent but the reason I like to see the year in the title in cases like this is because I've seen it previously. I looked at the title and thought, "I think I've read that before" but as it was here on HN which is mostly comprised of new content I thought it might be something new clicked through. If the year was in the title I would have immediately known I had read it before and not had to click through and read some of it to find out.
Hmm remind me again which university Brunel went to - he actually did an apprenticeship with a clock maker and learnt on the Job :-)
Bad abstractions are dangerous. Good abstractions are empowering.

cough React Native cough
In many countries, there is: you can't be an engineer without ... an actual engineering degree.
As a developer that recently made the transition from FileMaker, which is very user-friendly but limiting, to Rails, I love the new possibilities and the fact that Rails provides nearly everything I need and comes with established best practices, but I'm always a little helpless when interactivity (without reloading the page) is required. The apps I'm working on (internal, business apps) mostly work perfectly fine with a document-based approach and most features can be integrated as simple CRUD actions, but from time to time I need just a little interactivity - like in a classic scenario of an order with several line items that needs to calculate and display totals in a form as soon as the input changes. It's that simple, no need for a framework, even most libraries feel overblown for that use case.

I looked at various data-binding javascript libraries, but they all seem like targeting much bigger problems than mine. So I resort to classic jquery, data attributes and ajax calls, but it feels very messy, like a hack not intended to work that way. It may be the fact that I'm new to this but it feels as if I'm missing something very obvious whenever I have to deal with that kind of very basic interactivity and dynamic. It's a simple form that temporarily needs to calculate and process inputs until the user saves the record and solving this seems way too complicated and messy. Are there any options for those simple cases and apps that otherwise would do just fine with a document-based architecture?
How much is this misnaming the fault of companies, how much is this the fault of schools, and how much of this is the fault of society in general?

From my recollection, Software Engineering became A Thing at schools long before companies started calling their employees Software Engineers.

My general thinking is that engineering is a more practical application of science. Colleges don't have a Department of Development. They have a Department of Engineering. So even though it doesn't quite fit, maybe we can just stick the degree in the engineering department and obviously call it Software Engineering.

So schools do this - they create this "engineering" discipline that doesn't quite fit engineering. It seems obvious that companies and people are going to then follow.
It's interesting that you completely dismiss the hypothesis that they could actually be more productive in the fewer hours which I find quite plausible.

When the 40hr work week came in, it was in part pushed by industrialists because it produced higher productivity than longer hours. That was for relatively low creativity work.

Every investigation that I know of that has looked at this matter finds that working more than 40hrs a week gives you a relatively short boost (2 weeks or so) and within a few more weeks, you're producing less over your 60hrs than you would if you'd just worked 40 the whole time.

It's quite plausible to me that this is true for 32 hours too for particularly creative jobs.

It might actually be an advantage that helps them defeat the cut-throat competition to work a 4 day week.
> It's partially true, absolutely, no denying that US hegemony keeps others from employing military opportunism. But that has more to do with US interests in keeping geopolitical control for its own benefit than US sacrifice out of benevolence.

In the language of my previous post, you largely seem to be saying, "yes Europe gets some benefit by defecting against the US in a farmer's dilemma, but it's not like the US is cooperating out of benevolence!" Of course it isn't. The one farmer doesn't irrigate to help the other, she does so because she wants her crops not to die.

"And the US is doing such a bad job of irrigation! Sometimes it digs ditches that make no sense, and one time it flooded our fields and we had to step in and help fix it!" Sure, that's a valid criticism of the US, but it's hardly a defense of defection.
I LOVE ExtJS!
I think marketing is also a problem here. Even frameworks that realize shortcomings of two-way bindings feel compelled to support them because it's hard to educate newcomers to abandon their old ways.

“Two” looks better than “one” on a feature checklist.

Quoting Sebastian Markbåge from React, “Angular is intuitively better to most engineers based on previous experience and ideals. React is better in practice. This is a biased opinion, but based one large org's experience of trying both models extensively.”
Where have you read reports about this happening?
Fast and Furious 7
I partially agree with you, except for one very important point: Despite its flaws and hype, it is still incredibly useful.

I just wish it were easier for people to read the contents on the label. Right now everyone thinks it is good for everyone. It isn't, and there are some sharp edges that require RTFM'ing.