skysight-inc/HackerNews huggingface dataset:
I disagree. When I code for my own amusement I might see myself as an artist but when I do professional work I definitely want to see myself as an engineer as well as a craftsman.

To me it feels as if we are just at a very early stage. It takes huge amounts of time to learn software engineering, putting aside mastering it and humans haven't been practicing for very long. So I'd guess that we're just clueless enough to not be able to feel like engineers yet. We learn most of our practical abilities from experience so thats an argument for craft, but once we get a better understanding of what we are actually doing, and formalize it, our job will probably be very engineery. There is just millions of problem domains and no formal education on the domain of writing software yet (no a CS degree is not it). And I think there is a class of applications that are already so well understood that they do get developed in an engineering fashion already.
I only objected to you defining engineering as "what an engineer does". It does not devalue the profession to challenge that assertion.
thumbed up a silly cat video just to show someone later on your phone?

But there are lots of ways to share YouTube videos, forwarding a URL being one that does not even require any YouTube account or bookmarking for yourself to load it up later.
Aerial Views of Devastation in the Philippines
This lists some of the reasons: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de...
That changed very recently - I think Sundar Pichai was announced as taking over Android (from Andy Rubin) at I/O this year.
It's a guided search, so what? There is no fallacy here, deep blue is not intelligent. You can solve any problem with enough computing power and a basic search. No one has ever claimed otherwise or said that it would be intelligent.

What people did predict wrong is that it would take general intelligence to solve chess. As in, if you solved chess, you could also pass the Turing test and everything else. Here is a quote from Douglas Hofstadter:

>There may be programs which can beat anyone at chess, but they will not be exclusively chess players. They will be programs of general intelligence, and they will be just as temperamental as people. "Do you want to play chess?" "No, I'm bored with chess. Let's talk about poetry." That may be the kind of dialogue you could have with a program that could beat everyone.

And they would have been right if computers hadn't become exponentially faster.
None of the languages being compared against were released in the ubiquitous-internet age with things like Github and widespread blogging to drive interest and adoption.
One thing that I like about Android is that developers can choose to minimally style buttons and similar UI elements and these differences will be applied to whatever the base device theme is.

This means that users will get a consistent user experience throughout various applications and won't have to run around trying to figure out what's a button and what's a text input.

Sadly, this project essentially destroys all of that work and something tells me it won't work correctly on the most customized devices (like the old Motorola RAZR running 2.3 for example).

Nice idea but I don't think it makes much sense in it's current state.
I was hoping that a more substantial point was going to be made than this piece of fluff. Here is the substantial point.

If you're building a skyscraper or a bridge, an engineer has to sign off on the design. If the design subsequently proves to be defective, said engineer is personally liable. In many places, calling yourself an engineer when you are not licensed to sign off on designs and be liable in this way is against the law.

We can debate whether or not extending this principle to software development is a good idea. What we can't debate is that software development does not currently work this way. You, the software developer, are not an engineer. If you think a design is bad, you do not have both the legal authority and responsibility to stand up, declare it so, and force the design to be changed to something saner.

But saying you're not an engineer because software projects don't succeed like projects done by real engineers - that's both silly and wrong.
Aerial view of Tacloban
Good luck. It could be 6 months you will never forget regardless of what happens in 6 months. Many work really hard chasing elusive goals and forget to enjoy today.
It's great that the author has taken the plunge and I hope things work out well for him.

I'd caution others away from such a drastic move though. 6 Months is an incredibly short amount of runway to go from 0 to paying your bills by "starting, and finishing new projects".

My own experience was similar. I had a secure job with a good salary, but something was missing (first world problems). I was looking for new challenges and quitting my day job seemed like the best way to live the dream.

I'm risk averse, so instead of quitting, I talked to my boss and arranged 6 months leave without pay. It turned out to be the best decision I could have made. Even though I had experience with building a couple of larger side projects in the past, I drastically underestimated how long it would take to finish my first project. The 80/20 rule is no joke (might even be closer to 90/10).

To top things off our hot water heater needed replacing and a roof leak led to some emergency renovation work. By the end of my 6months leave I had a 90% finished product (great!!) and a $10k credit card debt (not great).

It's been a year since I took leave, and even though development has slowed down, I shudder to think how things would have turned out if I had quit.
Woman injured while typing fake profiles for dating website sues for $20-million
Airbnb uses distributed computing to analyze the huge amount of data that it generates every day[1]. The results are used for all sorts of things: assessing how Airbnb affects the local economy (for government relations), optimizing user growth, etc.

[1] http://nerds.airbnb.com/distributed-computing-at-airbnb/
When did Carnegie ship sub-standard steel the way MSFT shipped sub-standard software? The Bessemer process he invested in produced steel of higher quality.

EDIT: my point is, one guy advanced the state of the art and the other retarded the state of the art...
You can't have actual oversight of your employees if they are actively lying to you. Therefore, you should fire employees that lie to you.
Dismissing all other organizations as worse at "gardening" than Google was a bit offensive.

And the lowest bidder for contracted work often sucks, or finds ways to bill more than the original bid. :)
GitHub Activity Dashboard
This 'bash' feature, among others, was in ksh before bash existed.
Use C++ if you're interested in writing high level abstractions that resonate with the underlying hardware.

Assembly and C map very closely to actual hardware, but don't have a very high abstraction capability.

Haskell, Erlang, Python, LISP, etc. have abstractions up the wazoo, but there's big box labelled "magic" between what you write, and what gets run. That's because it's easy to construct systems which have nice theoretical properties, but are completely incongruent with shipping chips, requiring a black box in the middle that is doing who-knows-what kinds of translations, continuously.

Intel will never ship a CPU which natively executes functional code, for example, because fundamentally computation is an imperative process. You have information (entropy) and you want to turn it into a useful result; that involves moving bits, comparing them, performing simple computations on them, and iterating. That's what chips do, and that's what C++ does too--the fundamentals--but with more abstractive power than C when it is needed.

If you think that being both "in tune" with the hardware and achieving high abstraction in a single language is difficult, you're right--and C++ is difficult to learn and use. There is no free lunch there. But the results speak for themselves. Almost every single piece of software I use on a daily basis is written in C++.
> When I started to realize the value of storytelling, I gathered a group of friends to meet regularly to improve our storytelling.

I see what you did there
true, but an org chart is a reflection of strategic priorities -- not the source.
I have to strongly disagree and I think the author has gotten it wrong.
There have been quite innovative alt coins in this first wave, the most prominent ones being Namecoin, Litecoin, Peercoin, Primecoin, Freicoin and possibly Anoncoin as they have all found niches that they can cater to. Litecoin has the second largest market cap and has the honour of being the first major Scrypt coin Peercoin has the third largest cap, it introduced Proof of Stake as an alternative for Proof of Work and in the latest round of alt coin investment it did the best in terms of market cap increase to coins ratio. Namecoin has a niche as a alt DNS Primecoin allows Proof of Work to be useful rather than selfish to the network as is the case with Bitcoin Anoncoin recently integrated i2p and Zerocoin to provide greater anonymity for users Freicoin had a great idea with demurrage, very capitalist, but it failed because people want a currency that's either going to hold or appreciate in value and also because 80% of the funds were held by the Freicoin foundation rather than the community.

There's also a second wave of altcoins coming, ones not based on Satoshi's algorithms. The best example would be eMunie, which from what I hear is very close to release.
Ask HN: My team's been invited to San Francisco, I'm still working on my degree
I'm based in Sheffield, UK, in my 3rd year of my 4 year physics degree. I've been working on a software product with a small group of friends over the course of a few hackathons and it's very quickly gained some attention - we were offered free accommodation and mentoring in S.F. for three months (food & plane flights would be covered by us), as well as other similar offers in London (from a business who is interested in the product). I'm amazed by these offerers, given the product is still in the mockup phase.

The team, who have completed their degrees is ecstatic and planning to go at this full time starting asap. Since we have no money between us we'd have to take on paid work whilst building enough money to survive the 3 months in S.F.

I'm keen on trying to take a year out of uni, leaving sometime before christmas or after January - if it can be arranged with the university, but everyone who I ask seems to think this is a terrible idea. (Not least because I would be stuck with a visitors visa if I didn't have a degree). It's possible take a year out starting in the summer, but the team are quite opposed to this plan.

By staying at university am I passing up a really rare opportunity?
Success or fail, would employers view this as a positive move or a reckless one?
This will make things easy to use docker on my Exynos board, last time I tried it there was no ARM compatibility.
Googled about it, but crouton only installs Ubuntu in a chroot of same kernel. Thats similar shit as Motorola with 2nd-boot.

The question is to free the Chromebook from Google spyware completely, including kernel, device drivers, and OpenGL acceleration.

Is any of those Chromebooks able to boot into backup cycle? Means boot with DCHP, TFTP and NFS root?
Let's hear how this targeting of engineers from specific European telecoms firms could somehow be an anti-terror measure!?
The History of Python: The story of None, True and False
The ChromeBook has been explicitly designed and marketed as a low-cost alternative for people who just want to access the web. Most ChromeBooks are around $100-300.

Windows RT machines are usually between $300-$600, and were marketed as "Windows" machines, which brought with it a set of expectations that Windows RT machines were not able to meet. People assumed that "it runs Windows" meant that it ran their apps, but that just wasn't true in this case.

I am aware that there are some ChromeBooks that are really expensive, and Microsoft introduced desperation price cuts at certain points, but that's the basic story.
Atlantis backed Litecoin and usage of that currency increased.
It doesn't have to be a major player, just one to make enough difference.
Now now, you're ruining our anti-academic passion play! Next you'll be telling the industry weenies that they learned from professors once!
I don't think the comparison is supposed to be a value judgement of C++, Java, or Python. It's just an observation about how quickly the Go ecosystem has matured. Of course the internet played a huge role in this!
We could channel charity money through ideas like this.
Then do that. Getting the funding should be no problem at all with the people already working on it.
Man. I really miss IRIX.
I disagree for two reasons:

First, software engineers exist in a broader culture. The connotations of the various words in our respective languages are not in our control. "Engineer" and "gardener" have very different connotations. In a profession that sometimes struggles to gain respect, it would not behoove us to use a term that (wrongly in my opinion) is associated with lower social and professional status. If we could rewrite the English language and define "gardener" as a person with rare, hard-to-learn, and highly valuable skills, then perhaps we would do well to embrace the term "software gardener." But we can't.[1]

Second, software is engineering. This article seems to define engineering as Big Design Up Front. While that may describe part of what engineering can entail, it's not a complete or general description. If I had to describe engineering generally, I'd say it has to do with understanding and manipulating complex systems, analyzing and fulfilling requirements, distilling vague notions to concrete implementations, and building things that work. Software fits all of that.

[1] As I hinted above, I don't think it's fair, right, or accurate to denigrate actual gardeners as compared to software engineers. I'm stating the way most people perceive social status, not the way I'd like them to.
I've always romanticized the burning ships metaphor and will embark on my journey in a few months. Graeme ... did you move to the US? I'm a canuck in the US (established, have a decent job) but moving up to Canada in the near future. I don't have any concrete ideas about what I'll be doing ... just want to do something independent like the blog author. You describe your first few months as being dismal. Any advice you care to share?
Yes we can whine. We whine and will move to a different product.
Start a company on the side. There's never been a better (easier) time.

Can you start a company while you are in the US on an H1B? (Obviously, many people do.) There seem to be two schools of thought about whether this is legal with the IRS - research it, and maybe talk to a street smart immigration lawyer.

What if the company you start isn't actually incorporated, but is a side project allowing you to expand the skills you will need as a startup CEO - funded by the cash flow from your job? Or perhaps your company is incorporated outside the US?

Also, for anyone dissatisfied at work, I highly recommend the test at JOCRF.org. It's well worth the money.

Source: I've been in your shoes, and this is the advice I wish someone had given to the younger me.
Reddit is not a monolith. There are thousands of communities for every interest beyond the defaults.
> You ran with this "three complete type systems" line in the last thread,

Verbatim even.. a copy paste :p
> I was astonished to discover Groovy is now over its performance problems

It isn't. Gradle still ships with the slower Groovy 1.x, and Grails, altho it ships with Groovy 2.x, doesn't actually use any of the faster static-typing, presumably because it's still too buggy.

It would be nice if Gradle used Scala or Kotlin as its build language instead, but with a name like "GradleWare", I suspect someone from VMWare is pulling the strings to keep Gradle tied to Grails (and Groovy).
If I had your problem, the first thing that I would do is try PostgreSQL to see if it does the joins fast enough. Second thing that I would try is to put the data in a SOLR db and translate the queries to a SOLR base query (q=) plus filter queries (fq=) on top.

Only if both of these fail to provide sufficient performance, would I look at a map reduce solution based on the Hadoop ecosystem. Actually, I wouldn't necessarily use the Hadoop ecosystem. It has a lot of parts/layers and the newer and generally better parts are not as well known so it is a bit more leading edge than lots of folks like. I'd also look at somethink like Riak http://docs.basho.com/riak/latest/dev/using/mapreduce/ because then you have your data storage and clustering issues solved in a bulletproof way (unlike Mongo) but you can do MapReduce as well.
Yeah I just saw a comment on my site with this link. I honestly didn't know that Wikipedia had a system like this before. Thanks for the link!

I still think though that they should do a better separation between the actual information and the story elements though.
Awakening from a nap to see something you worked on #1 on hacker news is quite nice :-) hope people get a kick out of this!
Probably because of the name Windows - people had high expectations of it, which it did not deliver for obvious reasons - you want 'real' Windows, you go with Windows 8.

Also, ChromeOS is cloud based (good luck using it offline, lol) and easy to manage centrally, while RT is basically Android for tablets.
Thanks for the link. I can't remember the last time I liked a "new" website this much.
Crashplan might be worth checking put. You still need the NAS backup, but I have found Crashplan is good for the offsite aspect of it.
Still a problem for Google nonetheless.
24 Business Insights I’ve Learned from Billionaire Dan Gilbert
> They are doing everything they can think of to fence off their own portion of the web before it's too late.

<cough> AOL <cough> <cough>
I did - I got a PowerPC G4 or G5. The problem was I couldn't upgrade it past os 10.5 and the latest version of chrome at the time wouldn't run on anything less than 10.6 or something like that so nothing would work properly.
Or go with a 'Hac' - get a cheap laptop that can run Mac OS X, they work surprisingly well, updates and all...
No but it does mean it's possible to automate the work of further improving AI. It will also very likely be much smarter than human. Being exactly the same intelligence as a human is a very narrow target to hit.
> moving towards something I want, rather than away from something I dislike.

I loved this.
I would like to see the results of some database query tests, as a project im considering working with wants to use node.js and mongodb over php and mysql.
That's awesome. I can relate to this story. I quit my job around 5 years ago because I was unhappy with what I was doing. I took the planning very serious and paid off all my debt and saved enough money to travel around the world for a year while just working freelance and running various businesses I was starting. After five years though I'm finding that I work way harder and much longer hours than I was working at an office. It's almost impossible to ever open my laptop and not work. I miss that when I got to work, I worked, and when I went home, I didn't. I don't have that luxury anymore. But I have a ton of other awesome perks. I can live anywhere in the world so I generally live in places where the dollar goes a long way. It's been a pretty incredible experience.
OK, fine, C++ is worth learning to learn what not to do, BUT, only after you've learned every other language out there. It's a waste of time to learn it before other languages because you won't have the background necessary to really appreciate how bad the language is otherwise. You might actually think it's a good language and never bother learning all the other better languages out there. Also, anything that reduces the supply of C++ programmers available for businesses to hire is probably a good thing. Fewer C++ programmers means fewer C++ programs and fewer C++ libraries, so hopefully they'll finally start writing frameworks in something other than C++.
Go 1.2 Release Notes
There have been rumblings over the past decade or two about quantifying a practice and study aimed towards turning software engineering into a capital-e Engineering discipline, but evidently they never really go anywhere.

That's what makes it a stupid point: it depends on a specific definition of engineer that is not used (and is not possible to use) with software engineering, and that definition is oriented around chartering/certification of the professional themselves.

That he buttons the essay up in such a self-serving way is just icing: taking "engineering" too literally for the context, then calling himself a gardener.
This was an amazingly inspiring article. Thank you for writing it. It was astounding to see the degree to which you threw yourself in. Your points about marketing and joining meetups EARLY seemed especially insightful. And, you top it off with, "And then go build at least two awesome things that solve people's problems".

That is awesome. Well done!
Yup ... that's me. Except my home country is Canada and not that bad. I am moving back. A few years ago, I had tons of ideas. Just no freedom to achieve them (apart from the H1B restrictions, I have a very restrictive IP arrangement with my employer). Now that it is time to leave, I feel a bit lost. Looks like all those years not thinking has atrophied the innovative part of my brain. I'm hoping it can be rekindled.
Those Xerox Alto screenshots are amazing; I cannot imagine how exciting it must have been developing the seeds of the GUI way back in the mid 70s. Something about that font makes it more pleasing than anything we have around today.
Yeah, 6.001 never covered the bulk of what the book covers.

Still, I think Scheme is sufficiently different from mainstream programming languages that it's... like teaching git to a crowd composed half of SVN power users and half of people who have never copied a folder to folder.old in their life. You're balancing teaching "oh, here's how Scheme's different" from "oh, here's how you should have thought about it all along".

In particular I remember the OO system being pretty confusing at first, since my background, from high school, was C++. It makes a lot of sense that Scheme gets out of your way and lets you implement a nifty OO system using just closures, but to someone who expects a language to treat objects as first-class and lambdas not, you're inevitably going to be trying to learn the SICP OO system by comparison to the C++ or Java one.

All that said, I'm not blaming the language at all. I think the quickest fix would have been for MIT to offer either a placement exam or voluntary registration for two classes, one for students who were more-or-less new to programming and one for students with a strong background in something like C++ or Java. Both classes could have used SICP as a text and worked fine.
Think of a netbook running just the chrome browser and that's it.

However with chrome you can install addons, extentions and apps.

I love it
Sure, but then you become an outcast within your community - it's hard to keep your high morals when you're treated like shit and have nowhere to go. Much easier to just go with the flow and let the future generations judge you after you're dead.