skysight-inc/HackerNews huggingface dataset:
They think differently.

Take a look at Smalltalk at Xerox PARC, AI lab and Scheme language at MIT, Plan9 at Bell Labs, Erlang at Ericsson, Go at Google, FreeBSD and OpenBSD projects, etc.

For an individual achievements - Linux 0.9, viaweb, arc, clisp, nginx, redis, sqlite, git, vi, emacs, etc.

Each particular story could be enough for learning almost everything about software engineering.

Erlang is a story of applied principles, methodology and design decisions - real-world functional programming success.

Plan9 is an example of what system programming really are, that less is really more and good is really enough.) Take a lot at src/lib

Arc is a prove of concept that lies in foundation of the "On Lisp" book - that you could evolve a language together with your software in a bottom-up process. And he did.

The story of Scheme language you could read in MIT AI memos, where, actually you could find all you need to know about programming.

Go is an example of how ideas form Plan9 and language design comes together in a unique language with unique features.

The evolution of the Lisp is another example. Systems should evolve.
Some things you can look up quickly. Being functionally innumerate is not something you can fix with Google.

The tedious details of whatever god-forsaken CRUD framework is flavour-of-the-week with the cool kids probably WERE beneath him.
I'm also on the same boat and taking Udacity courses. I have noticed, however, as Front-End development progress and gets more complicated, that general CS knowledge will be of great use.

I took the CS101 last month. The only new thing I learned was Hashes. However, I think it was well worth it. Hashing is probably one of the most important concepts in CS. Also the course was entertaining. It helped me also review old code I wrote. I figured two cases where I can use hash functions to speed up code.

I'm taking the Software Testing, and Design of Computer Programs this month. If you are free (no job/freelancing/errands...), you can do each course in 7-10 days. Granted, you'll be fully committed to them. That is, you can* do these 3 CS years in just 3 months.

* depends on your mental abilities; but I think as a self-taught Front-End, you'll tackle it.
Software engineering and/or programming is a vast, vast field. Anything you can express logically, someone somewhere is expressing in software. This "or you're lucky enough to be working within a narrow area where your deficit doesn't matter" should read "or you're lucky enough to be working outside this narrow area so your deficit doesn't matter".
from all the questions this is the one you MUST know if you want me (or anyone) to trust you with a piece of code. It takes one hour (in wikipedia!) to learn everything you'll need for a day-to-day work complexity assessment with the Big O notation.

They asked us this questions on our high school final exams, I'm sure you'll manage.
There was a point where they said something along the lines of "the rocket is on an anomalous trajectory", and I was wondering what they hell they meant by that, since they didn't follow up on it.
It's not only about specializing yourself.

It's about knowing where you want to go, what you want to achieve, and be able to focus enough to go there. Vision + Execution.

For me focus is at the same time "fast and slow".

You have the focus on the long term vision of your career, products etc. That means, yeah, probably choose between your 10 projects. But again, it depends the goal you set yourself concerning those 10 projects. If you're a pragmatic OSS commiter ("I commit the changes to this lib' I really need for my main product"), then 10 projects is okay.

Then You have to focus, during your day to day work. Where do I head with this feature? What do I want to achieve? What problem am I trying to solve here? Did I think about all the edgy cases? Did I test everything? Is the code better now than before? etc.

It's hard work.

Be Driven, Be focus.
Why Plan 28 decided not to use Kickstarter
I am too, a CS student at university.
I've got a Github account with around 10 projects, just side-projects when I had some time.

Even with that, and fairly high grades, it was still a slight challenge to get a placement. Said placement is just to give me an edge over fresh graduates, I'll have a year in industrial experience over them.
Pardon me for asking, what are your programming achievements, besides writing a long-length comments and blog posts?) Where could we see your code?
It would be better if it grayscaled the favicons too. They look like out of place splashes of color in the browser now.
Open source Electronics coloring book for kids
Hop - A Suitcase That Follows You Around Hands-Free
And how is this ANY different from Google which knows far more about you then Facebook ?

Oh that's right. It isn't. Which makes this idea that Facebook is going to die as realistic as Google is going to die.
Medicine Nobel to Gurdon, Yamanaka for stem cell research
It's more shocking to me that half of these news readers actually preferred apps to browsers.
Yeah, I mean, I'm also a self-taught, workaday programmer, and I agree with you. Understanding time complexity to a degree that you can communicate about it isn't something to shrug off. Don't be proud of ignorance.

The problem is that the perspective expressed by the GP comment is a pure expression of the "don't know what you don't know" adage. Sure, you can hammer out solutions to problems, but the more exposure you've got to more concepts in your field, 1. the bigger your toolkit and 2. the quicker you can start drawing conclusions about the problem.

I'm actually pretty shocked someone's confessing to not knowing what big O notation is and proud of it.
>take pictures of your friends, post them publicly, identify them by name in a worldwide, searchable database

Facebook's data is only public if you want it to be.
You're asking the wrong question. A better question would be "what have you achieved while being a programmer?".

Possible answer: Learning a skill that most programmers shy away from, are afraid of, or down-right scorn, thus giving me (him) an almost unfair advantage over virtually every other programmer out there.
Get used to it. Pro-US attitudes should be more prevalent in all of Asia the more aggressive China becomes, since the local countries will need the help.

(Yes, there is some irony to be found here...)
Programmers in the first category should still be able to get a job if they can communicate their skill. Listing both old and new stuff (punch cards, Cobol, C systems programming, Java, Ruby, Python) always commands respect from me for a seasoned programmer. If they contribute to a current open-source project or have some free app on, it should be a no-brainer.
Note: What you're seeing today is just 1/4 of the test. The other three parts cover different areas.
The kind of interception abilities they're worried about come from intentionally introduced flaws in the software (or, less commonly, in an ASIC or similar). This is why cisco equipment can be manufactured in china and not cause worries (to the US) but the counterfeit cisco gear is a serious concern. Additional bugs or chips that didn't belong are relatively easily detected - nation states play at things like intentionally weakened random number generators or side channel leakage.
> Results of failure are still results

Yes! I would add that failing to replicate existing results is the only interesting outcome of a replicating study.

If we try to replicate a study and arrive at the same conclusions, we have learned little (the original result is a little stronger but that's about it).

If however, a series of new studies fail to replicate original results, we have learned a lot -- we have learned that those original results were false.

I think the whole problem is, ironically, psychological in nature. Results of studies become articles of faith; people identify with their beliefs and hate to admit they have been fooled...
But support is not free. When it comes for durability Huawei/ZTE devices are worst of them. I am sure same is true for their networking equipments.
I knew the answers to all of these questions two years ago when I had just graduated, but I've completely forgotten what heapsort is (despite having used it a few times in programming contests) and cannot offhand remember what "bipartite" means (googled, saw the wikipedia image and instantly remembered maxflow and Ford–Fulkerson although I guess a DFS is good enough to determine bipartite-ness).

Why is the ability to retain this information at the top of my mind at all times necessary for me to be a Software Developer?
For those who had no idea what this Currents thing was: http://www.google.com/producer/currents
I'm actually torn on the issue. I can see that a patent has the advantage of conferring exclusivity, but time and money consumed might increase time to market and the "sunk cost" of a patent and might deter a much needed change of direction or technology.

I've been touched by patents twice. The first time was as an employee of a start-up based on a patent by a PhD student. In that case I think the company got blinkered by need to "implement the patent" and got overtaken by others who were more flexible.

The other was commercialisation of WiFi. CSIRO owned the patent. Radiata the company did not own any patents (not sure if they licensed the CSIRO one). Within 3 years, Radiata got acquired by Cisco for AUD 560 million. I was later told by one of the founders that Cisco had decided to acquire whoever was first to market, and Radiata got lucky and beat Atheros by 2 weeks. Investing 2 weeks into taking out patents could have been very costly!

CSIRO eventually made about AUD 1 billion off their patent, but it took 20 years, involving a 10 year legal battle that cost them AUD 15 million per year.

Since then, my feelings have been that patents are fine if you are well established with deep pockets, but a potential liability otherwise. I'm always interested in data that challenges that view as I could well be wrong!
How to Opt-Out of PayPal's class action clause
In short, before December 1st you must send a written opt-out notice stating that you do not agree to the “Agreement to Arbitrate” and you have to include your name, address and phone number and email address used to log in to PayPal. You must sign the notice and mail it to PayPal, Inc., Attn: Litigation Department, 2211 North First Street, San Jose, CA 95131.
Not the XNA from Microsoft. But if you use MonoGame, you can publish on the win8 store.
Did you read the entire paper, or just the abstract?

I ask because I only was able to get the abstract, so there might be something in the rest of the paper for your arguments. However, the abstract seemed very careful not to make overly broad conclusion. It says the playing violent videogames is a good predictor for being agressive, and being agressive is not a good predictor of playing violent video games.

This is not sufficient to claim causation, which they do not (in the abstract at least), however this type of corralation that exists only where A preceeds B definantly suggests it.

As to you concerns about sampling, they seem to be following best practices for this type of study, random. As long as both groups you are comparing are selected using the same random, your results are valid (for the group which they were selected from). Most statistical tests (which I assume were used in the main paper) are designed assuming the groups are random, and will provide valid statistics.
I think that question 1 is not well formulated (unless that is the answer he expects). Equality makes only very limited sense for asymptotic notation.
There's a crucial difference between a good programmer and a successful one.

And the two aspects are certainly not mutually exclusive, and by that I mean: being a good programmer does not necessarily translate into being a successful programmer. The reverse is true too.

IMHO, to nurture a lasting career as a "programmer", you have to balance the two aspects. Be good and successful.
Sit them down in fron tof your system. Have them work on something. If they ca nmanage to pull through, hire them. If not, don't. If your system is so finicky that a newcomer can take down, then having this person break it for you will allow for a stronger system to be built. I don't get the fascination with asking stupid interview questions. Sit the person in front of a computer, have them look at your code, have them write some code, and then have them explain the code. After all, it is that very same code what they will be working with. Why not show it right from the start? To add, most applications out there are just front ends to databases. Why do they need to know X or Y? All they need to know is how to write a query and process the results. No big deal.
whoa. Looks like I have a new addiction: "insight porn". whoa.
Depends on the definition of jumping. Besides paid character transfer (which is a "true" jump from realm to realm) a lot of activities in WoW take place in "instances" and players from different realms may participate in the same instance (PVP matches, dungeons, raids). A few weeks ago crossrealm zones were introduced, so normal questing areas can now span several realms too.
It's kind of a hybrid between EVE's approach and classic UO's "shards as isolated universes" system.
Did OpenPrinting.org (foomatic) finally come to halt?
How do you quantify the 1% per 21 days improvment? There are no easy-to-get-at brain weight scales yet. I agree with your incremental change mindset, I just find it hard to measure.

An addition to your proposition that you needs make your decisions in order to improve: You also need to actively learn from your failures. Many people just go like "That sucks, it did not work out" without ever asking the Why. That's not enough to learn, and one could even learn the wrong lesson from a failure.
> Why is this an invalid approach?

One way to structure a compressed file is as a lookup dictionary. To decompress the file, you'll need to agree on which file is to be decompressed. If you need to have an agreed OS installation to act as a lookup dictionary before decompression can happen, by all rights you should include the size of the OS in your total of how large the compressed file is.

If you want to use an arbitrary OS, the "decompresser" would need to be able to identify the correct fragments. If you can do that, in less space than the original files, you've already managed to compress the data!
I wanted to ask this question regarding big O notation. When we say f(n) = O(g(n))
all we mean to say is that f(n) <= c(g(n)) with other constraints. My question is, why do we have an equal to sign, why is f(n) equal to O(g(n)).. they could have made up a new symbol to establish such a relationship... The reason why I think so is because I see equal to as a transitive relationship.. So, if a = b and c = b, then a = c .. This clearly doesnt hold when we use f(n) = O(g(n)) .. n^2 = O(n^2) and n = O(n^2), so n = n^2 which is not making any sense..
Can you give me an example of how people having a vested interest in the results of a survey would improve the results?

I always thought that if you have a question (like "should the government fund more particle physics") and you ask people with a vested interest (particle physicists) you'll get an answer aligned with their interest ("absolutely, extremely important") in which case why do a survey at all when you know what answers they're going to give?
China Warns of 'Prejudice' After Being Bashed in US Telecom Report
No, not neccessarily. There could be optimization opportunities in the more abstract language that perhaps cannot ever arise in the less abstract.
Yes, A perfect programmer is the one who can put himself at the end user level to demand features and the hero to deliver it on the other hand
> a business that made a mistake like this

I go one step further. I refuse to give information that provides more access to a business than they need to have or that can even affect any other service I receive from anywhere else.

Here, I'd like to give them a key that works only with glacier vaults that they have created, and nothing else. If this isn't possible, then I'll go without.
From the interesting submitted blog post, by a university teacher of mathematics:

"Learning mathematics takes time, and it has always astonished me how much better I understand material when I go back to it, months or years later, than when I first studied it.

. . . .

"Certainly I had little understanding of how an area of mathematics fitted together: my learning at University consisted of reading strings of definitions and theorems, with little idea where it was all going, making sure I understood each result before going on to the next one, until, perhaps, in the last lecture of the course the lecturer would say something like "and so we have now classified all Lie algebras" and I would suddenly find out what the point of it all had been."

Fields medalist Terence Tao has quite a few good articles on the work of a research mathematician on his blog. Searching around just now (while looking for something else, which Google didn't turn up), I found his post "On writing,"

http://terrytao.wordpress.com/advice-on-writing-papers/

which links to several articles by other mathematicians on how they learn and think about mathematics to write it up for other mathematicians to read.
70% of Irish homeowners would switch broadband provider
I bet someone will post an article called "If you can't read more than one paragraph to be interested in a project, you've got a problem"
Firebird Python driver FDB 0.9.1 is now released
Writing f(n) = O(g(n)) is actually bad notation perpetuated by lazy instructors. O(g(n)) is actually a set of functions, and the correct notation is f(n) ∊ O(g(n)).

(If the unicode breaks, that's the is-a-member-of symbol.)
> or you're lucky enough to be working within a narrow area where your deficit doesn't matter

This implies that non-algorithmic work is a narrow area. In my experience, it's the vast majority.
It seems to blur all my fonts a decent bit on os x with a hidpi display in a way that doesn't happen with accessibility. sub-pixel rendering issue?
Turning strings into strings, quoth the Turing machine.
The Organic False Dichotomy
I too was slightly unhappy with an equals sign being used like that, Wikipedia suggests that I was being a bit over-literal and it is considered acceptable:

http://en.wikipedia.org/wiki/Big_O_notation#Equals_sign
> We don't get to pick any definition of science we like.

Indeed, and the definition of science doesn't contain "must have a unifying theory" as a prerequisite.

> Science is not a search for truth, and scientific theories never become true.

Scientific theories may not become true, but science absolutely is a search for truth. There is a truth, and we're trying to get to it with rational means. I also notice you haven't offered an alternative to my definition, you merely disagreed ("Science is not a search for truth") and argued against a straw man ("scientific theories never become true").

> So your claim about mathematics is exactly, precisely -- perfectly -- wrong.

How so? You just said that mathematics is a science that violates the general rule, even the definition you hint to (falsifiability), and then claimed that this makes mathematics the most pure science there is ("your claim about mathematics is exactly, precisely -- perfectly -- wrong").

> You've just described religion, but science isn't religion.

No, I didn't. I described a way psychology could be scientific, i.e. by experiment.

You misrepresent half of my claims and hand-wave the other half. I didn't expect you, of all people, to do that.
Arrrrcamp 2012: Pirates on Rails
You've only seen 1/4 of the exam so far. Sure, there's plenty of software development which doesn't involve fancy algorithms or data structures... avoiding computer architecture, operating systems, mathematics, networking, databases, and distributed systems as well is a bit harder.
> Results of studies become articles of faith; people identify with their beliefs and hate to admit they have been fooled...

Exactly, and that's precisely the opposite of what science is. We should be excited, not intimidated, by falsifications and getting results we didn't expect.
No capital gains tax on employee share ownership for new owner-employees
I don't like them for software. But if it helps the business to get started, I will go get one. That's the bottom line for me.
Source code for Instant C# released on GitHub
A quick tutorial on how to use PDL::Graphics::Gnuplot for 2D/3D plotting [video]
Ask HN: Got unexpected feedback - where do I go from here?
TL;DR - Had overwhelmingly positive feedback on an idea, not sure how to take it to the next step!

Hey HN,

I usually build small projects that tick along nicely. The feedback I usually get is that they're useful, neat or fun ideas.I recently scoped out, wireframed, sketched and planned a new web & mobile app. It's something that distributed teams & startups might like to use.

It would be of use in my day job and I usually start at that jumping off point for my ideas.

I've spent a bit of time & money working with a designer to go through each screen and mocking it up properly. I figure getting it to that point makes it easier to share. I usually put the ideas into a working file then as my technical skills improve or if I have a bit extra cash I can hire a developer for the bits I can't do myself.

However with this project, the feedback has been like never before!

I've had 5 offers of pre-order (even without me asking "would you buy it") I've had several business cards with people saying "let me know when I can sign up" or "get in touch when your prototype is ready".

I've even had people tell me it's a "fundable idea" - which is something I had never even considered, I've always just bootstrapped my projects.

There would be a very steep learning curve for me to build a prototype for this, probably would take me months. While I'm eager and willing it defeats the object of a quick prototype that gets thrown away.

I'm building a mailing list of those who have registered their interest & I'm still gathering as much feedback as I can.

What kind of numbers are convincing enough to push this forward? What matters most in this situation? Quickness or proof of concept, showing the full potential?

Or do I take it all with a pinch of salt and let it rest in my project folder?

Thanks!
you should write so that it doesn't read like you are trying so hard.
Ah, right, I guess that's the salient point: Additional chips are easily detected. Thanks for the clarification.
It's not about punishing one party for the past, it's about which party would be most likely to make future spending commitments without raising taxes now to pay for them. (Probably the one that's been doing it consistently for the past 50 years and is campaigning on a platform of doing it now.)
Julian Assange's backers ordered to pay up sureties
SMO Fitzgerald Global: Selecting a Bond Fund.
I think they stop being programmers and become solution engineers. The programming changes with the times but the ability to design and implement elegant solutions to a given problem is a timeless (and rare in terms of 'really successful') skill.

Or, so I think.

That's also one of the reasons why I don't like the title 'programmer' as opposed to something like 'software engineer'.
Thanks, that's an interesting incentive to return to the real world for colours more often ;)
I see, thanks. I didn't know about rogue angels, it's too bad such scammers exist.
I think mediocre and average programmers can get by without knowing about these concepts, the usual .NET or Ruby guys who need a runtime to wipe up after them because they can't even iterate an array without stepping over the line, or don't understand what a pointer is. Those guys will never work for Google, but they can still earn a buck churning out reams of barely working, slow bloated software.