skysight-inc/HackerNews huggingface dataset:
No. Don't write classes. Write useful abstractions. It doesn't matter what the abstraction is (a class, a function, or something else you programming language supports)as long as it fits your current architecture and can be easily modified for possible future extensions.(I will agree with the author that one giant monolithic function is probably a bad abstraction).
I would argue that this repetition is not essential. It happens when you assign a constructor argument to an attribute directly without any modification. But there are case where it doesn't appear:

- the attribute has a different name
- an attribute is set whose value is a function of more than one argument
- an attribute is set to a constant value independent of constructor arguments

In languages requiring attribute declarations the minimum number of occurrences is 2 (declaration and initialization in a constructor). When declarations aren't required then it's just initialization.

How often such circumstances occur is another issue. The form of initialization that you mentioned is probably the most common so languages can provide shortcuts in this case.
http://icanhasinternets.com/wp-content/uploads/2010/05/hater...
He mentions stop writing classes talk in the very beginning.
There are many things that can be done with out a database.

I believe he set the restriction so you wont be going through a process of building something simple with a database. He wants something different.

Mine was a chess playing Lego robot. Although there was no database involved it was something unique.

You could still do a web-application that will do something specific. You don't need a database for those, you just need to find something that needs experimenting. It is not essential in completing your project ( although it would be nice ) but you must show the work you have done, the obstacles you have faced and what needs to be done next in order to be finished.

Also he said no database. So you can still save some basic stuff in a text file or XML file.

But it is up to you, what you feel comfortable with.
If you are good with css,ajax etc you can do some jquery fancy stuff to display something.
If you are good with c/c++ you can do an opengl world.
...
...

Find your strong points and build something there.
Health Checks for Route53
To be fair, they have mostly fixed the IO API with Java 7 (NIO2). This covers various Files# helpers as well as a proper Path abstraction.
Given their crimes, I'd actually want to revoke their charter.

We allow people to get limited liability for joint enterprises. This is a privilege. Either we put real people in jail, or we start revoking charters.

Protecting unaccountable institutions because their greed might result in good things is a complete abdication of governance and simple common sense.
I've heard conflicting stories lately on whether on not the subdomain vs path issue still impacts SEO with Google. Can anyone with some knowledge shed some light on this.
Heh, that makes sense. I was thinking "wow, the article is about typography and the body of the post looks appropriately good; if only they hadn't ruined it with the stupid static header..."
I visited the Da Vinci museum in Florence, Italy, and Da Vinci was far ahead of his time, inventing the idea of the helicopter, bicycle, parachute, machine gun, scuba, and many others. A true genius. Oh, he also painted the Mona Lisa, probably the most famous painting of all time.
The programming industry walks around in circles and there is no beacon in this darkness of ignorance.

There is no professional culture and new generations of developers successfully forget all the experience previous generations have accumulated.

Also, some piece of advice from a seasoned programmer to the web-programming-children: if you are not really a serious developer, if you write your freaking websitee on Django, or whatever a framework there is, you don't really need a methodology, because you are doing an easy task, you can write in whatever language/style/paradigm you like, even on Brainfuck. But please don't extrapolate your humble experience to the entire industry and don't tell people working on large complicated (real) projects how they must write code, because they have some experience you don't have.
We see this curve with most new software tools: we get them and start using them for everything, because we couldn't before. Then we realise this is bad, and stop using them at all. Finally a balance is struck.
classes are exactly the pattern that tends to evolve into monolithic piece of code. Worse, they are harder to read and debug
If there was a way to distinguish 2:2 from 3:1, it would affect how networked games played out. It would affect how ordering violations were resolved, which is pretty important in games ("Did I block before that punch landed?"). It so happens that the cases can't be distinguished, so it "doesn't matter".

As an analogy, what would the world be like if the speed of light wasn't invariant with respect to velocity? It happens to "not matter" because the speed of light is invariant in that way, but it's still an interesting question.
Iran is not a client state of China, though. Few people in the Chinese leadership want a nuclear war with the US, or with anybody else. They will keep Kim Jong Un on a short leash; we in the US can take our eye off of that particular ball.
> Which means ultimately that they are dangerous, right?

I think that's the implication. The worry is that the claim isn't reliable. A driver who can control a vehicle at higher speeds than you will always appear "dangerous."

And similar claims were used to exclude women from the Indy 500 until years of women in F1 and NASCAR illustrated the prejudice was absurd.

It's admittedly a tough call though. On the one hand, the claim's being made by insiders with vested interests and skepticism towards outsiders. On the other hand, the cost of letting in dangerous drivers is far higher than the cost of prejudice, so there's a reason to err on the side of caution.
Half of my team works remotely, but one of the problems we have been struggling with is - how do you mentor junior programmers?

It is not about technology or programming language, but some of the words that a person with > 7 years experience uses can throw off a new programmer. And people ask less questions when working remotely.

Anyone has a solution for this?
>>or do you think it should be done with the acceptance and supervision of the world's scientists?

Firstly, no self respecting nation is ever going to wait for 'acceptance' and 'supervision' of some other nation. In fact that very thing implies some sort of master-slave relationship. Countries act in their own interests(just like every other country).
Are you saying Joe Armstrong doesn't know what he's talking about? He's a very googleable guy.
> And its not like North Korea is going to remain poor forever.

They are doing a pretty good job of being poor already. I don't think you can compare North Korea to those other countries, even China. North Korea is a world peculiarity; it is the way it is because of it's bizarre regime, in a way different from China. It is so totally isolated and the average person is so uninformed about what is happening less than 100 miles from it's borders. The kind of trade that would reduce North Korea's poverty, I think would topple the regime, a regime based on magical stories about unicorns and people that don't need to use the bathroom.
It is useful if you happen to have some coins and want to spend them without converting them to USD. Useful to some. I don't see how it defeats the anonymity. If you fear that the pizza service is run by FBI, you can always use your coins through a mixer.
I'm surprised they don't just keep the program alive underground and teach the drivers to shoot for second place among the amateurs.

It's not like they're incapable of driving slower.
10 years since POF blew up
Well, in the country it is viewed that prosperity has already arrived; it is the rest of the world that is in dire straights.
The normal on-screen keyboard (or physical keyboard for those few phones that have one any more) works just fine for text input to an app like soulver. There's no need for huge dedicated buttons when the normal text input works just fine.
15 (?) years late ;-)
It's fine for a moderate commute where you're driving less than 60 miles or so (assuming a 12 hour overnight charge). More so if you've got access to higher-output charging at another location. The case in the NY Times Tesla review is specifically for a long-range winter road trip, for which Superchargers are pretty much essential.
Started poking around. Here's one chunk of one of the pages at one of the higher resolutions:
http://www.bl.uk/manuscripts/Proxy.ashx?view=arundel_ms_263_...

Looks like the format is:

http://www.bl.uk/manuscripts/Proxy.ashx?view=arundel_ms_263_<page_number>_files/<resolution_level>/<column>_<row>.jpg

Pages work in this fashion: f001r, f001v, f002r, f002v, f003r, f003v, ... and ends at f283v.

At resolution 14, columns range from 0 to 33 and rows range from 0 to 24.

Edit: I hacked together a python script to download all images at resolution 14
https://gist.github.com/L1fescape/4761013

Now to figure out how to combine them all...
RESTify your API
Yeah, severely unimpressed with Hackdesign. I had high hopes when they launched. I thought they would offer a unique way to learn design (you know, given the name and all), but instead, they're just relaying knowledge that's already out there.
The adults are in the not in North Korea; I assure you. It is all well and fun the cry some sort of hypocrisy fall very weak to me. If you think the U.S. is bad, you're going to love North Korea.
North Korea is starving because the UN impose food sanctions every time NK do any thing which threatens UN imperialism.
I agree on almost everything you've written, but, getting the general userbase to understand this is... a challenge - the best we get is generally of the form: "It's crashing when I press this button", and a stacktrace (but that is thanks to the bug report feature).

My product have both a supporter and a product manager interacting with the customers, and they generally file the bug reports. They have the contact with the customer and try their best to fill out as much as possible. That said, they're not developers and every now and then they cut the corner and need to be reminded that "I cannot press this button" is not good enough - unless the error is sporadic, always, and I really mean always, include a step by step guide to reproduce and include any files or input that might be needed, and double check that it's causing the error.
Correcting myself: mean wait time would be 30/(2*n). As on average you'll arrive when another car is halfway through its charging period. So for a 6-charger station, 2.5 minutes wait time. On average.
I think it should be pointed out here that the NK regime is not actually crazy, they simply are very skilled at acting in such a way to extract concessions and aid to keep the regime intact.
Joaquin Phoenix Reveals Exotic-Skins Horrors
If you want people to know about you and your product? Great then the first thing you want to do is to make sure that you have a great product that people will love and it won't be just buzz and promotion.
I don't say that being active on the internet will harm you, but it may take away some of the time you would work on the startup.
So the choice is all yours, but in my opinion the answer is somewhere in the middle, like starting to promote yourself and the startup after you are starting to be in the last stages of release so you could build a buzz for it and help with the first weeks.
I'm not aware of Joe Armstrong having extensive OO experience - either as a programmer or a language designer. Could you fill me in? Perhaps the picture I have is completely wrong. Erlang is from 1986. Did he gather extensive OO experience before? In Smalltalk? Or on the side while developing Erlang?
I work remotely, but I also work from an office. I simply rented an apartment close to home.

Personally I can't work from home because I need to make a strict separation to keep my sanity and I'm also the father of a 3-year old boy whom I can't disappoint every time he asks me to play with him.

Working remotely doesn't mean working from home. It depends on your preferences, but if you've got several people working remotely at a company, at least one senior is going to be working from a place where he could invite others to join him (like his own office, or a coffee shop, or something).

So how we do it right now: if the junior is from my country, I invite him to work with me for 2-3 months, to bring him up to speed. After that he can do whatever he wants.

Take this with a grain of salt though, as we are a small company and I don't really have much experience on this.
In that case he wants someone to also be continuously interact with him. Not all kind of work fit working remotely.

Next you probably are going to comment about how they still don't allow cleaning maid to work from home, right?
Wow, I'm sorry. I will just say you uninformed about the Korean peninsula. Seoul is a city that can be bombarded by shelling of conventional weapons in very short order. This fantasy of the US having nuclear weapons in South Korea of the removal of such would lead to peace is just no congruent with reality. I recommend reading up on it; it is very fascinating and much more complicated.
What if Everyone Jumped in a Lake?
I was able to pick up Python pretty effortlessly (coming from a zero programming experience background) through Udacity's search engine course. If you're coming from little or no experience, you can easily pick up on Python. Like everything else, it just takes time to get used to.

If you happen to go the Python route, here are a few resources that helped me:

Udacity's Search Engine Course
https://www.udacity.com/course/cs101

Google's AppEngine (for Python development)
https://developers.google.com/appengine/

Django - Web Framework for Python
https://www.djangoproject.com/
Revealed The top five Android malware detected in the wild
The US opened this can of worms and created an imbalance in the world. North Korea is surrounded by nuclear enabled countries (China, Russia, South Korea, and Japan).

That's irrelevant. NK gaining nukes would clearly be a negative development.

Also, did you just call Japan a nuclear power? Or are you just talking about nuclear power?
It's hard to take Google Web Toolkit seriously when Google themselves don't use it. I mean, it's cool and all, but a Rails-killer, it is not. And after all is said and done, if you had wanted to develop the site in Java, you could have just used J2EE.

As for Haskell-- are you serious? You'll never find another developer who wants to maintain your Haskell code.

I agree that Lift is a good choice, for all the same reasons why Scala is a good choice.

I would also add Revel, for Golang, to that list.
No, that sounds a lot like exactly the right answer.

To promote remote working we need developers that can help and teach a company to handle remote work. Not people who will just whine about how companies suck because they don't offer remote work.

Remote working is a skill, on both sides. Most companies that would theoretically not be averse to remote workers don't have that skill and can't properly evaluate that skill in others, so the only alternative to a long period of trial and error is to hire developers with a proven track record.

Either that or wait for 37signal's book to come out...
I've mentored junior programmers (e.g, some of my guys/coworkers are still in school studying Comp Sci despite my attempts to get them to drop out), and it doesn't have to be done in person. As long as there is good motivation and discipline and trust remote working can work perfectly well over Skype. Code reviews done through Skype will be incredibly resourceful.

However, if there is lack of trust or discipline, this will not work. But then again, if you are having this problem you should really reconsider whom you hire! I hire my guys as interns, and I can quickly figure out who I want and who I'll wish the best of luck after the internship is over (my internships are just really long interviews): the ones who can figure things out themselves, the ones who go through an issue tracker and look for new things to do, the ones who will constantly ask things on Skype. You can't mentor self-sufficiency!

Bottom line: the people you want to hire aren't going to be needing constant babysitting. Those people will do it themselves.

Everyone is much happier because people work where they want to work. We still have 1 day a week where we all meet up in person (granted, that's still optional, but everyone shows up for camaraderie, and I bribe them with lunch). I work from many places, on my own time--and so does everyone else. As long as their output is roughly meeting the mean productivity of everyone else, it will work.

Here's another thought: when you bring someone on board, get them to work on a fun project. For example, I have my guys build apps with Twilio that book tables at OpenTable automatically using mechanize. Some fun apps will get them to learn a framework and language very quickly.
What is wrong with "The Go Programming Language: The Good, the Bad, and the Meh"?
Short Film Written By AI Is Rather Funny
Develop and learn to code the browser
The difference is so much greater than that. North Korea is a completely irrational regime. It is lost in a fantasy world. Pakistan, though it's stability is questionable, is not off on some bizarre ideological island. It's not as if the Pakistani government could convince it's citizens of the sort of nonsense the North Korean government does.
Why I'm writing the Happy Academic Writer
The US are the only country to have used nukes (in war)

They use to have nukes in sk, now they don't, but can still strike nk anyway.

So that leaves the hyperbole that NK and SK could negotiate a peace if the US withdrew. Why don't you think that is possible?

How about you respond to the inaccuracies rather than being a jerk and insulting the GP?
It certainly matters to adjudication. But perhaps the question players care about is not quite, "Did I block before that punch landed?" (a very important question), but, "I just blocked, but he hit me for some reason anyway."

That is to say, players get upset (1) if something seems to violate their own worldview, due to adjudication. Naively, we could solve that case by running the timesteps of the simulation slower than the greatest latency (or more accurately, when heartbeats from all players have been received for a given timestep). That would introduce us to another reason players get upset: (2) if the game is really laggy.

I'm glad you bring up relativity as an example. The best method games have for improving the real-time illusion is locality.
Quoting from the end of the article: "And our solution to monolithic code in Python are classes."

So, I guess the question I ask as someone who doesn't write a ton of python code is: Is that true? And if so, why? Is it not possible to compose a layered API that doesn't rely on inheritance / classes in Python?
Not quite the same, but I (still a junior programmer) have worked on a project with another junior programmer with a complimentary skill set. We've found great success in using a Google Hangout while we work. We can quickly share our screen to pair program and debug, and continue to chat/share ideas in an adhoc fashion.
I actually helped out with this design, would love some further note as to what felt "creepy" about it. Thanks for the feedback!
You might be surprised at what some five-year-olds are capable of. Besides, it's not like the kids are left to fend for themselves. Preschools have teachers whose job it is to help children learn this.
I have a bug to report!

"Issue trackers [vary] widely in terms of features from one to another."
Okay, I'll qualify that with: and its borders are disputed.
So you created your own string class?

Wrapped all the operating system's APIs in your own custom classes?

Built a lot of infrastructure on the theory that you might need it later?

Obsessed over the best way to shave some efficiency yak, without ever measuring whether it mattered?

Relax. You're a normal C++ programmer. I did all the same stuff, years ago. Now get a job at a company that doesn't suck, and relax. Try to get hired at Valve, or Blizzard, or some indie company. Don't work for the people you know suck and you'll be fine.
So cool. It could be really fun way to learn to draw by attempting to sketch his figures.
That's just totally ridiculous. You believe that this view of North Korean belligerence is due to propaganda. Wow. Why don't you tell that to some refugees; that's just incredible. I think you're letting some sort of cultural relativism cloud your judgment.

It is unstable not in the sense of "who is going to rule the country." It is unstable in the sense of they behave irrationally, have irrational beliefs and motivations. The same way that we, mostly, don't think that a paranoid schizophrenic should have unlimited access to assault rifles, any sane, knowledgeable person, would not want North Korea to have nuclear weapons. Wow, that is the dumbest thing I've ever heard.
This is the proper approach, I suppose. I don't use images for button labels in Gmail's interface myself, but I'm pretty sure that properly designed icons + tooltips with verbs (for both icons and textual labels) can be used quite effectively to differentiate between verbs and nouns: 'arrows' icons as verbs for moving stuff, 'boxes' images as nouns for storage places, 'tools' as verbs for some particular actions associated with those particular tools, etc. - just your usual common sense UI stuff.

Switched Gmail settings to icons for buttons just to check if this is being used here and immediately notice annoying inconsistency in Gmail's UI: Archive button has an icon of a storage box with an arrow (good choice), but has ambiguous tooltip saying 'Archive', whilst Delete button has an icon of just a trash bin with a proper action-tooltip 'Delete'. 'Report spam' has the worst icon by far, I think. Then again - manila folder icon for moving to label (which is a bit unclear) - it acts very much like the 'archive' action, but somehow doesn't have an arrow. Labels button tooltip - 'Labels' - also lacks the word 'apply/attach/add'. I understand that you can get accustomed to almost anything, but this doesn't mean you have to fight your way through UI.

I thought a bit more about this and now I think that a verb is more or less mandatory for buttons of actions, i.e. for buttons that change some objects properties or performs actions on the objects ('Apply labels', 'Move to trash' are probably better than 'Labels', 'Trash'). Verbs are not mandatory for buttons that just change your position inside the system ('Go to inbox' is probably worse than 'Inbox').
A Quick Look At The New GNOME Classic Session
99tests launches $99 demo pricing for developers
Ask HN: best constraint solvers?
Do HNer's know of any good libraries for solving constraint problems? Specifically, I'm looking for a Python library, as the project I'm working on is a Python/Django app. I've done a little research into this and so far I've come up with:

http://labix.org/python-constraint

http://pypi.python.org/pypi/constraint/

Just wanted to see if there were better libraries out there I may have missed, or if I would be better off looking in different directions.