skysight-inc/HackerNews huggingface dataset:
Thanks. Sure it has, I explain what (and how) I improved here: http://blog.algolia.com/improving-ranking-twitter-handles-se...
I am reminded of a simple diagram a therapist drew for me (on a whiteboard, no less): a triangle connecting "mood" to "thought" to "behavior" illustrating how the human mental state is a feedback system and that you can adjust one thing by applying pressure to another.

Sure, it is simple and obvious, but seeing it visualized that way, coupled with the idea of "mood hygiene" was helpful to me.
I just took the small comics from the sidebar, and put them as my desktop background image. I find they give particularly short but useful advice as to how to proceed once procrastination attempts to strike.
Pros: Vi's ability to be easily mouseless, and it's wonderful "editing language". By "editing language" I mean that editing commands follow a syntax with verbs, objects, modifiers, etc. The "dw" command, for instance, deletes a word. Then you learn that "p" is a paragraph object. Can you "dp" to delete a paragraph? Of course, because that's how it goes in vi/vim. Want to delete 4 words? 4dw. Want to change a word? cw deletes and then puts you in insert mode. Does that work on paragraphs and other things? Of course. Learning new things in vim is kind of like compound interest in terms of payoff. Every text object you learn gets multiplied by all the verbs you know, and any new verb can be applied to all the text objects you know.

Cons: vimscript
Trusting a doctor with stuff like your health, but not trusting them with information about what you eat, comes from a very obscure reasoning.
:) probably negative right?
I agree, I don't think it will be very successful...
I've worked in the US since 2001 and have never had less than 15 days paid vacation.
Two Huge Companies Betting On Firefox OS
What I'm trying to tell you is there's no formally correct in English. There's no Academy of English that tells people how to speak. What's right is what most people say. Most people say "themselves."
Parceria Público-Privada 1
npm install -g is more like apt-get install

If you don't want global state you could use a VM?

It's global because it is not per project. For example, I don't want to install a tool in every folder that I might happen to use it in. (Or bother setting paths and symlinks)
A lot of the arguments against Java seem to focus on "Time-to-Hello-World". While I agree that the first time you execute a program and see those magic words appear on your terminal, I don't think we should judge a language on that. Visual basic has a very short TTHW (esp. if you take into account the time spent on learning about terminal emulators for most languages), that doesn't make it a good language.

If you take an OO programming language as your teaching language, you need to introduce a number of concepts first.

Hr 1: Talk about classes and objects. Introduce the Car and Bike object, that both have the method 'steer()', the attribute 'wheels' and only the car has the property 'hood'. Introduce return types here, as well as arrays.

Hr 2: Then explain how the 'color' on Car is public, while you'd like the accelerate() method to be private.

Hr 3: Explain how some methods and attributes are static. what is a property of the concept 'Car' and what is an attribute of an instance?

In Hr 4 you introduce them to the classes String and System.

Your students will now know:

-class
-public
-static
-void
-String[]

You can now tell them about the 'magic' that makes things start, the 'main' method.

Class MyFirstProgram {
public static void main(String[] args) {
System.out.println("Hello World");
}
}

No magic, and a nice start to becoming a proper OO-programmer.

If you want too teach them FP, Haskell is not a bad way to go. If you want to teach them OO, Java isn't as crappy as people say it is.
Postgres has no problems joining against any sized CTEs - at least that's what I'm seeing here with a considerably sized dataset (600 GB raw table size).

But: The optimizer will first fully resolve the CTE expression and only then join. If the join condition eliminates many of the rows selected in the CTE, this might indeed yield a much worse execution time than doing it inline.

This behaviour is documented on http://www.postgresql.org/docs/9.3/static/queries-with.html (at the end of 7.8.1)
Suggestions for Marketing/PR compaines for Web Startup
I basically want a "Razorfish" experience but on a much smaller (and cheaper scale). We are funded so not looking to do this on a shoestring but at the same time we are still small-time and cant break the bank. I like look/fee of http://www.e3.co.uk in the UK but want a Firm with experience working web startup's. In a nut shell show me an small agency (can even be a single person agency) that has a strong background working with known larger agencies, is now doing their own thing and can show me examples of start up's we now all have heard of, but we didn't know of them before XYZ Agency got involved. Thanks ;-)
You don't want to have to learn how to use a dynamic language effectively at the same time as learning how to do functional programming, so unless you already know python/ruby/similar I'd say you want a strongly-typed language, i.e. Scala or Haskell (or OCaml, which might actually be the best middle ground if you're willing to try it). Haskell would very much be jumping in at the deep end; it's elegant, pure, and forces a very different way of thinking. OCaml is a bit less purist, still quite elegant, and doesn't perform as well as the other two if that's a consideration. Scala is inelegant, but has seamless integration with Java and similar syntax; if you want to start incrementally it's the best choice, but you may find you're slower to adopt a functional style, because you can write "java-in-scala" and it'll work.
Which would mean something, if asymmetric warfare weren't as potentially devastatingly effective as it is or it didn't have huge ramifications for our ability to protect and enforce treaty agreements with friendly neighbors.

How do you propose to track the development, sale or transport of nuclear arms without an intelligence service undertaking covert surveillance?

How do you plan to stay informed of the actions and unit deployments of military forces by antagonists, or aware of the political allegiances and likely responses of your notional allies?

I mean right now in various former Soviet bloc countries, there's a lot of back-door manoeuvering going on which is fomenting political tension (you may have seen the unrest in Bulgaria recently, or you know, when the Russians invaded Georgia) in large part due to old cold war east/west divides - even if the prize these days is development and construction contracts (and probably a lot of bribes) and not determining which land gets turned into radioactive waste.

The idea that there are clear good guys who are definitely on "our" side is farcical - country's aren't individuals. They're large aggregate groups, pulled in a million different directions, and their governments consist of a shifting mirage of faces which may or may not be trustworthy and which a good deal of time is spent keeping up with to make sure 'we' know what we're dealing with at all levels.
Very much unfashionable for the HN crowd. Most of the new research in concurrency is happening in Java and funded by the high performance trading industry - an industry which is very far from the HN crowd. The new Java8 stampedlock is a good example. It's possible to implement it in C++ as well, but because of the guarantees required by the lock it is a very difficult lock to integrate into C++ code. On the other hand, the JRE guarantees the correct constraints for Java code making a stampedlock very easy to use [1]. The performance of a stampedlock also seems to be the best case for any multi-reader environment. [2]

[1] http://concurrencyfreaks.blogspot.com/2013/11/stampedlocktry...

[2] http://mechanical-sympathy.blogspot.ca/2013/08/lock-based-vs...
Eh, we could have easily left for another company, individually or as a group.
We have a better idea of what the high-speed train is going to cost than Hyperloop however.

When you have two garbage estimates, you cannot compare the two systems. The solution is to ignore the bad estimates, and recalculate the costs more realistically.

The fact that Hyperloop is modeled as a three-pylon design, and totally ignores some basic physics (such as Thermal Expansion: http://www.leancrew.com/all-this/2013/08/hyperloop/). So it is clear that the Hyperloop cost numbers are just straight up irrelevant garbage.

Granted, that is to be expected from an unbuilt, untested system. So I don't want to hate on Musk on this one. The nature of proposing an experimental design is that you won't have good data on it: costs, problems, theory... etc. etc. No one really knows how Hyperloop will _really_ work.

The benefit of High Speed Rail is that the systems have been built around the world. They have a better grasp of how much it is going to cost by nature of building their systems in other locations... and having experience with the problem.
Oh great and microwaves are what, not wireless? C'mon please read what people write before you blindly accuse someone of being wrong. I wrote wireless NOT WiFi!
But you know what, I'll still give you a free +1, because you tried to help.
The Paradox of Open Offices: What You Should Know
As someone who can't figure out Buffer, and doesn't want a product when I'm looking just for this feature, I appreciate the sentiment.
This reminds me of that one guy on the go-nuts irc channel who asked for help with his Ruby port over to Go. He was scraping a set of web pages in Ruby and migrated that over to Go for its easy parallelization. His claim was that Go was 3x slower in speed. He pasted some code that seemed fine, but left out the context of what he was doing. At the end of the day, it as just an attempt to claim that Ruby is faster than Go. If he doesn't provide the entire context with benchmarks included, I'm just taking his word for it.

On another note, I built an algorithm using a bitset. At first, I used one of the libraries the author linked, but then I saw that it was easier to just do the bit-bashing myself for my particular use case. It's not that difficult if you are familiar with C and C++ programming.

If, however, you are coming over from a language like Python, Ruby, and even Java to criticize Go is an easy thing to do. Those are very high level languages that protect you from needing to understand types. The object oriented parts of Java languages give you the ability to use polymorphism, which is not as straight forward in Go. You don't have a common base class. You only have interfaces. Trying to recreate generic structures and then blame the language for not having them is foolish. If you can't program without generics, stick with Java from the beginning. Or better yet, don't do a project in Go until you understand how to approach problems the Go way.

I happen to like Go for the very reason that you don't deal with generics. Seeing the types make it easier for me to follow as opposed to following a chain of inheritance. Getting rid of all the factory code trims my code down. This makes things easier to read when you are not the author.

Comparing Java's compiler to any other compiler is going to have predictable results. Java may have the best compiler out there.
The syntax tends to be a bit verbose, that is true. Java 8 will help a bit there.

But the major problem is that many of the Java bashers tend to criticise without knowing what is possible to do in the Java ecosystem.
My guess would be too much "noun oriented thinking".

Some of us came of age before the tyranny of King Java, learning such obsolescent tools as Pascal, Lisp and C back in school. (I'm gonna ignore BASIC and FORTRAN, other than as examples of what not to do) We learned how to pass around individual functions/procedures to support library code.

http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom...
+1 to this suggestion! Something that feels as seamless as Dropbox would make my dreams come true. And even better if it could sync to different providers of my choosing, e.g. Dropbox, Google Drive, etc. etc.
My always free windows client to manage amazon Glacier
I know there are others out there, but this will always be free for ANY use, and I created to do what I needed. Looking for a few folks to try it out.
"has made us all a despicable group of hedonistic thrill seekers."

This has been a problem since the Roman times if not earlier- people focused on the games raher than the politics. Humans have been hedonistic thrill seekers pretty much since always, as far as I can tell.
As Brian Beckman explained, as an aside, in "Don't fear the Monad" [1], these two differing views were born in the '70s and split two programmers into two camps:

The bottom-up people, and the top-down people:

- The bottom-up people start with the hardware and only add abstractions and trade performance where necessary (fortran, c, java)

- The top-down people started with perfect abstraction/logic and reduced/removed abstraction to get access to the hardware and performance where necessary (lisp, ml, haskell)

I don't think the two camps may ever get along. Kind of like our version of Conservative and Liberal. (nor should they, in the true spirit of democracy?)

[1] http://www.youtube.com/watch?v=ZhuHCtR3xq8
Ah you mean Smalltalk and Lisp Machines?
Not necessarily, but if you're blogging under that domain people are going to assume that's your name or something. Which if it is, is fine - someone got to the .com of my last name before I did (so I had to register the .net), and that's always a good resource to have. Otherwise to me it just seems kind of confusing.
Microwave requires line of sight. That's where its advantage arises. You can't assume line of sight with a WiFi router.
They actually seem to be using Georgia for body, and the headlines are in the same setting of Cheltenham they use in the physical paper.
Effects of Smoking Weed
Yes it is different because they are a spy agency. Just look at when Militaries fight each other. Are they committing Murder? Maybe in the biblical sense but not in a legal sense.

>So what makes them so different

They are the government. Dont agree with it but they have already determined they are legally different.

Nixon Quote: "Oh, when the President does it, that means that it is not illegal"

>namely, the creation of a super-class of humanity who have rights and privileges not granted to the majority?

Expand on this.
The idea was to build a visually appealing search engine for mobile devices. Essentially, the text based search results were converted to display the domain favicon with the ability for domain owners to register and manage their results image for subpages.

Screen shots:

[1]https://www.dropbox.com/s/xxc3n93dixve2h3/tbook.jpg
[2]https://www.dropbox.com/s/fdcucartroj8vbq/tbookobama.jpg?m=

Originally built using Google's API, then redone with Bing's API, this was due to Google's daily query limits being exceeded.
I miss the associate -vs- employee meaningless fad. I guess its inevitable that some other group gets a meaningless renaming fad.
Workflows of Refactoring
> the common or garden user

Reddit and HN traffic is not common. It's a small share of the general population, and further, probably overlaps little with the target NYT audience whom they want to upsell to a paid subscription. I read HN; my extended family has never heard of it.

This reminds me of people who are unaware of how small the combined market share is for rdio and spotify, or why networks don't abandon cable tv revenue for cord cutters, despite how seemingly convenient and inexpensive they are. Most people listen to the radio (in the car). Most people subscribe to cable.
My lineup was: Intro1/2: C++. Systems: Assembly. Data Structures: C++. Unix Systems: C/perl. Algorithms: C++. Software Engineering 1/2: Java. Networking: Java. Architecture: C/Assembly. OS: C.

SEng1/2 was introduction to Java/design patterns. That's it. It was the largest waste of time. Then, the holy grail, networking! That professor really threw us into the dark sides of APIs and tortured us. Very little direction and ridiculous projects. That's where I 'learned' Java.

Three years later, I cannot remember Java. I do not recall how to handle the Arrays or anything of that nature. I can still rehearse C++ code off the top of my head! There was no functional programming at my uni in _any_ course.
What makes code hard to understand?
Freer capitalism will maximise choice relative to alternatives. You are correct in saying it will not provide complete choice, for example I don't expect there will ever be a day - even if I had all the money in the world - where I could pay every last person on the planet to chant my name at once. Some things despite being physically possible will always be unattainable. Capitalism maximises the set of choices.

You are not beholden to company executives - you simply stop giving them your attention and money. Only in the case of monopoly and oligopoly can you be at the mercy of executives. Such problems are very real and the solutions much more difficult than those imposed by governments and moral crusaders, but they are necessarily worsened by the same. The reason we - at least in Europe - have a horrible banking industry is because the regulation around starting and running a bank is so complex it has the effect of restricting bank ownership to a very small subset of the population. The same is true for the insurance industries and many others. In the case of banking bail-outs mean that no matter how badly a bank is run, it will never go out of business (in Europe anyway). This is truly absurd, extremely damaging, and 100% the fault of people with moral agendas trying to force it upon the rest of us. You could own a bank, I'd love to consider you for my next account, but the incumbents won't allow that. I am beholden to shitty bankers because of the government.
“Bostonian” elitism in China irritates the country’s other college grads
https://en.wikipedia.org/wiki/Linguistic_description

^^^

Read it for your own good.
Plenty of computer science students at my (SICP-using) university had never programmed before attending, yet they're great at it. Your attitude is especially damaging to female students, who are even less likely to lack programming experience. Computer science isn't even about programming all that much.

> You can't study Economics if you've never heard of Keynes.

Have you ever even been to a university?
Changing naive recursion to tail recursion is a very common optimization in functional language compilers.
You may not have noticed, but none of the countries in the middle east like each other very much and satellite surveillance is kind of a big strategic deal...
You cant make that argument at the time of the Inquisition it was acceptable to kill people in that manner. Hopefully 600-800 years from now this kind of spying will be a thing of the past.
You might enjoy looking at Bigv (http://bigv.io/) from the well-known UK company, Bytemark.

They offer a cloudy-type self-managed virtual machine platform which is close to your £12 budget.
This guy needs to take a hard look at interfaces. Go didn't abandon generics, they just told everyone that interfaces are a better solution. You can write your code once as long as its formulated for interfaces.

As for sets, why not use a custom data structure like a balanced binary tree (such as a red-black tree)?
Yes, the 2-4 diagnoses he came up with in the first 35 minutes were always wrong. Only then did he get it always right.
>> Linode is great but I definitely see DO winning out over the next few years.

Not for my money, Linode rocks.
SPDY is just HTTP, just like TLS is. TLS does not replace HTTP: it wraps HTTP. Same thing for SPDY.

As a developer you never deal with SPDY. You just deal with HTTP and HTTP headers. SPDY is just a configuration option in your web server. There is no complexity to deal with, it just works.
I know there are other clients out there, but mine will always be free for ANY use, and I created to work the way I needed - so it makes sense :)

Looking for a few pros to try it out.
- Get enough sleep.

- Exercise (even walking) to keep the blood flowing well.

- Eat right & drink water throughout your work day.

- Eliminate distractions (HN) and arrange regular periods of silence each day(eg. no radio or podcasts on my commutes).

- Maintain GTD-esque dump buckets for stuff that shouldn't be stored in your head. Get those things out of your head and into your system so that your brain can more easily focus on what needs to be done.
Seeing this Brave New World thing pop up again. OMG sheeple wake up! People have become passive, drowned in irrelevance!

I find this line of discourse dehumanizing. "People" apparently includes everyone but the reader. Some would claim this is the conceit of such critique, a claim that only the reader sees the world for what it really is, the reader (and writer) are better than everyone else. But this kind of critique has gone on too long for me to feel this way – instead I think these critiques erase the reader, erase the idea of constructive engagement, they don't say "you, reader, are the smart one!" instead they say "you are stupid and purposeless, not even worthy of critique, instead I shall turn my eye to only the unnamed masses!"

People need to stop talking about "people". Neil Postman should stop talking about "people". Have the guts to say who you are talking about. Or if more likely you are only talking about archetypes, step up and acknowledge the universal inapplicability of archetypes to real people, each of whom is better than your out-of-focus description. When you multiple out individuals into a group you don't get a teaming mass – maybe YOU can only appreciate those individuals as a teaming mass, but don't project the limits of your perception onto those individuals. Life is bigger than any one goddamned sci-fi story.
Agreed, especially when it happens to you a dozen times in 5-7 years. I have ideas that I've had to wait 2 years for them to be implemented (by others, usually the big names) and I've had a few that took 6-7 years. Members of my family have startups so I have a sense of what it takes to make it work (operate), let alone make it successful. Part of the equation, though, is implementing in the right environment and/or point in time, like the article says.
I'm an advocate of assembly language on microcontrollers being an introduction to programming. PICs are great because they are cheap, basic tooling is cheap, and the instruction set is small.

It gives a student a period of getting familiar with computers as machines, rather than brands or software stacks. Plenty of time in the rest of your life for that.
The Degree Is Doomed
> Completely disagree. All the database developer "experts" I know of (including myself) hate the explicit join syntax.

[...]

> Maybe it's also because I come from the Oracle world where it is the standard.

IME, lots of Oracle experts -- who are likely to be longtime heavy users that started when Oracle didn't support explicit joins -- often prefer implicit joins because its what they are used to.

But its much clearer when you need to reuse and modify a query -- particularly someone else's query -- to have the join conditions clearly identified and distinct from filtering conditions.
Any proof that it is actually happening and not just your personal version of the Baader-Meinhof phenomenon?
That's an extremely elitist and exclusionary attitude you have there. Your post is also "begging the question". According to you, people interested in said subject should already be experts by the time they reach university. This is of course flat out wrong, as there are many counterexamples of people mastering and contributing new knowledge of a subject, many many years after attending university. I think you need a reality check.