skysight-inc/HackerNews huggingface dataset:
HN has some lists of sites that will always be dead, and some hellbanned users who's posts will always be dead.

All posts go to (http://news.ycombinator.com/newest). It's a good idea to visit that page and upvote the great content, ignore the not so great content, and flag the really bad stuff. I think, but I could be wrong, that any user can flag an article. But maybe there's a karma threshold.
Thanks. Feature requests, pull requests and even bug reports are welcome. In nearest days i'll write some documentation on how to contribute to project. Since it uses .less files, .css file needs to be compiled. If you contact me directly on Github, i could give you a hint, there is special .less file watcher included in source.
How to be a Good Hacker
Yeah, that's gonna be a tough one.

But I think the "square bracket list" things only ever occur in value position, and the headers only ever occur in root position, so it's not that hard.
XML is human readable. It was meant to be (this is why it's text instead of some binary format). It's just really, really verbose, which is what this JSON spec is going to end up being once it's dealt with all imaginable edge cases.
Financial Plan: Top 5 Financial Goals You Should Consider In 2013
Mozilla launches Firefox OS
You celebrate it if you want to, but I won't.

Why Feb 24th? And why devote a day to celebrating Apple?
The iPhone moved on from 320x480 back in 2010. Three year old tech in a new phone today is a bit odd. Half the resolution of VGA makes it a bit useless for browsing the web. And the browser is kinda the point of a smartphone.

Most of the give-away phones (free on any contract or about $100 without) here in the US have better than VGA resolution, twice the resolution of this bottom-end screen.
Soooooo, that $3,000 to pitch is actually a deal when compared to what TechCrunch charges, or what DEMO charges for a booth..... Both are wastes of money.
Vancouver sure, but you should check out the startup scene in Montreal. Lots of cool things going on.
Actually, I find the opposite to be the case--static typing helps me use unknown libraries. The types immediately let me know exactly what a function expects and what I should expect from a function. They also prevent me from using things incorrectly most of the time.

Essentially, the types are compiler-enforced documentation. They also make discovering functions easier--a type is a succinct summary of what a function does, so I can just browse by types to find what I want quickly. Augment this with great tooling like Hoogle (a type search engine) and you've got a truly awesome development system.
Check out Fastspring. They have a monthly fee though. However, since they are technically a reseller and not a pament provider you dont need merchant accounts, gateways and the like. Also integration is a snap.
This is a good idea, and it looks like you've done good work.

But the design choices are a little baffling to me. Why are all the corners so sharp on everything? And what's up with the bright blue colors? I know that this is mostly because you're trying to not just use the Bootstrap defaults, but the result is inferior to the default theme. As soon as you can, try to get a designer on board.
Nice, there are some flaws as it's very new, and doesn't seem to like things like Reversion's extra buttons or MPTT's tree admin, so I'm going to hold off on using it, but IMO it's definitely the nicest looking admin skin so far.
Population 128 million: http://en.wikipedia.org/wiki/Demographics_of_Japan
The MVP version would be to use PayPal subscriptions, not any of their APIs. To create a subscription, you just give someone a link, and their account will push money to yours every month. If they want to upgrade or downgrade, either of you can cancel the existing subscription from your PayPal accounts, and your site gives them another link for a new subscription at the new rate. You can integrate PayPal IPN to record the payments in your database to have a billing history. All of this involves nothing more than copying some links and wiring up an IPN script someone else has already written for you -- under an hour.
How many draws of a random number [0,1] are needed to sum to 1
So the objection to JSON comes down to a couple of things: no comments and fragility in face of a trailing comma. I wonder if the right thing though would be to fix JSON (maybe even call it something else) rather than throw the baby out with the bathwater.

Personally, of course, I think we should just use a slightly modified version of s-exprs which would be easier to parse.

(:keyword value)

where value can be an atom, list of atoms or a list of keyword value pairs. Comments could follow the Lisp convention and start with semi-colon and end with newline. Only 5 characters to escape, namely, '(', ')', ':', ' ' and ';'.
> The lack of popularity for static typing can be laid mostly at the feet of Java and C++.

If anything, I'd argue that Java is the main reason for the rebirth of the popularity of static typing.

Java is a C++ without the compiler getting in the way, so it exposed the power of what you can do with a type system (pretty weak one, but one anyway) when syntax is not tripping you every step of the way.

By making static typing popular, Java kickstarted a whole new generation of improved languages such as C#, Scala and Kotlin which leveraged all the good concepts introduced by Java (such as no more separation between headers and implementation) while adding important missing features, such as type inference and traits.
Why? I dislike those comments.
> - compiles to a binary rather than running on a VM;

To me, this is one the many reasons why Go will fail.
WSDL is an object notation for objects that describe what a web service should do. This could just as well be done in JSON. It would be marginally less verbose, too :-)

Oh, and it's perfectly feasible to translate a well formed HTML document into some sort of JSON object. After all, HTML is just a set of tags with values, no?
If a domain gets you to a website, what gets you to a location?
>Three year old tech in a new phone today is a bit odd.

It's a budget phone, this is obvious from the rest of the specs.

>Half the resolution of VGA makes it a bit useless for browsing the web.

320x480 is perfectly adequate. You do not need a high-DPI screen to browse the web - indeed, most desktop and laptop screens aren't high-DPI.

Now, you know what IS inadequate? 240x320 phones. They are genuinely useless for web browsing. But 320x480 is fine.
Ripple: Bills of exchange 2.0 (P2P Banking)
Can't we just stop writing clients for specific REST API:s period and rather just build one good API client that can easily be extended and adapted to any API?

That's the path I've been using in all projects lately - because frankly - I don't want to deal with a bunch of different API clients for Twitter, Facebook, Soundcloud, Instagram or whatever sites it is that I integrate with - all those different syntaxes and all that duplicated code etc doesn't help me - I want all of their individual differences hidden away for me and colleagues behind a single well known syntax which I myself can extend to expose the resources and methods that I need - like if I need it a method for posting a photo for the API:s that support that and so on.

My advice today would be: Pick a good HTTP client, preferably with good OAuth support, and then build your own extendable API-client on top of that and integrate all the different API-resources you need with that client whenever you need them.
"Python and Ruby (in particular these two) more than anything else allowed you to write really terse, expressive code."

If you like being able to write terse, expressive code, you'll love APL,[1] where Conway's Game of Life[2] can be written in one line as:

life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

[1] - https://en.wikipedia.org/wiki/APL_(programming_language)

[2] - https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
BlackBerry Z10 Could Lose ‘The Game’ In India With Price Tag Of Rs. 41,750
Also, I'm under the impression that Singapore's not all that gay friendly, which is something that matters to me as a gay guy.
Controlling LIRC from the Web using NodeJS
What I mean is that if you don't have exceptions and `return` returns only from a given block, it takes some serious exercise to break out of a "fn ... { ...each { ... match ... } } }".

Return will only return from one of them, so to signal an error from the match block, you need to:

- save the result in a mutable variable in a function

- do something that results in "false" returned from each block

- return the result from the function (probably casting mut->immut on the way)

What I'd really like is either a stack unwinding exception, or a `return` keyword that's different from the "last expression in a block" syntax. Last expression could give a result for a closure, match, if, etc. while `return` could always break out of a function. For example (pseudo-code, proper syntax doesn't matter here):

fn parse_into_list(s: &str) -> Option<Stuff> {
let res = do s.map |c| {
match c {
bad_character => return None
...
}
}
Some(Stuff(res))
}

Instead of:

fn parse_into_list(s: &str) -> Option<Stuff> {
let mut result: ...;
let mut correct: true;
do s.each |c| {
match c {
bad_character => {correct = false; false}
good_character => { do_stuff_with_result; true}
}
}
if correct {
Some(Stuff(result))
} else {
None
}
}
Feel free to add feature request to Github. Our first priority was to support all original widgets, we added just few examples on 3rd parties, but now we will focus on integrating and supporting most popular 3rd party packages - like model translation, django-hvad, mptt, etc.

Actually mptt tree package integration example is already added: http://djangosuit.com/admin/integrations/category/
It doesn't do some automatic sorting magic, but this is in our future plans.
As no-one else has mentioned it yet, here’s a link to a copy of Chris Smith’s excellent “What to know before debating type systems” article:

http://blogs.perl.org/users/ovid/2010/08/what-to-know-before...

If you’re at all interested in the real strengths and weaknesses of different kinds of type system but don’t yet have much experience in the field, this is a solid and impressively neutral starting point.
HULK SMASH SHA1 FOR PASSWORDS!

No seriously, before you get like a million users you should switch to a much slower hashing alg that's designed for passwords, not for checksums. Scrypt is good, bcrypt is good, and there are a few others. But here's a(n?) scrypt package on Haskell that will do it for you and has a really nicely designed API: http://hackage.haskell.org/packages/archive/scrypt/0.3.1/doc...
> The canonical Python example of this is defining a tree data structure:

def tree(): return defaultdict(tree)

But you're not defining a data structure -- you're just reusing the builtin dictionary type.

Try defining say a RB tree without using builtin container types, and you quickly see how poor these languages' support for new data structures is.
> So... still waiting for that perfect language.

Have you looked at the new, post-Scala, generation of languages, such as Kotlin? http://blog.jetbrains.com/kotlin/
I m surprised since no one has mentioned about Tel Aviv, Israel.

Number of startups have arised recently, and also considering their entrepreneurship spirit. It does seem to be a great place for doing a startup.
This is essentially racist (well, xenophobic), and doesn't actually solve the problems.
Ask HN: How to prepare for an interview at a startup
I've been contacted a few startups, who noticed the Open Source work I had done this year. They had requested to speak to me via phone to do an interview. What is the best way to prepare for such an interview?
Is there a resource that I could refer to?

The problem is that I have not had a formal CS education. I started coding ~1 year ago, and algorithms are not my strong suite. What kinds of questions do you like to ask and interviewee, what questions have you been asked?

Thanks!
I started to create one a while ago. But I found out that there was really no use for it. :D

http://x42.se/
I could have said "citizen" but that coinage sounded a bit too Orwellian.

Hey, if the cap fits.
Ask HN: Where do you recycle electronics?
Is there a website or some physical resource that someone knows that shows where different types of electronics can be recycled for free?
This is a strait up scam. NEVER pay to pitch.
> Of course it has a "VM" (aka runtime system)

VM != runtime system. VM == virtual machine, bytecode.
You can't really say that Java and C++ are not popular languages. C++ is only really popular, IMHO, because there hasn't ever been a good competitor to it in the compile to native programming domain except for C. However, Go and Rust, IMHO, are interesting approaches and I wouldn't be surprised if Go or Rust replaced C++ over the next 10 years. I imagine C will still maintain its popularity in very low-level systems programming.

The thing about Java is that it is really hard to write clever hard to maintain code in it. Sure, it makes it painful to develop with, but because it leads to maintainable code the code never gets thrown out and rewritten and almost by accident very large multi-million line code bases grow over time in it. These huge code bases lead to a lot of jobs for people doing maintenance on them, not because developers like the language, but because the code still works and never becomes impenetrable, as most large code bases often do.
Maybe someone here will know - is Firefox OS going to be customized by manufacturers like Android, or the same everywhere like Windows? I know it's open source so manufacturers could do whatever they want, but maybe there's some agreement I don't know about which will make them keep the standard ui. Anybody know?
Sydney. Amazing quality of life, beautiful, great weather, and an amazing city.

Close to most of Asia, strong economy.

Definitely, Sydney.
$100 in Google Adwords Credits
I work at a Google Adwords approved agency and we were sent 20 coupons for $100 in Google adwords credits if you deposit $25.

I don't have 20 businesses to hand them out to before the Feb 28th expiration date. If anyone is interested - the terms are http://www.google.ca/adwords/coupons/terms.html

But just message me and I'll send one to you. It's a great way to validate a new landing page, or SaaS product if you are bootstrapping.
I think language evolution will always be cyclical like this--dynamic languages sprint ahead, and the static languages eventually catch up.

The reason is that dynamic languages are so easy to build--they usually start out as hobbyist projects. Not to overly-trivial it, but these days most anyone can sit down with a compiler book and have an interpreted language up and going quickly.

So dynamic languages evolve quickly--it's easy to try new things, see if they work, see if they don't.

Static languages, on the other hand, are hard to build--you don't often see hobbyist language developers coming up with type systems in their spare time. Type systems are hard.

And the tooling for static languages is hard too--dynamic language users live in emacs/vim/Sublime, but static language users are going to want an Eclipse IDE, refactoring, etc., etc.

So, static languages evolve slower.

But once someone has put the time and effort into a static language, and has the tool chain polished, I assert that most programmers (of course not all) that sprinted ahead to the dynamic languages will find themselves tempted to wander back.

If the syntax is the same (once the static languages catch up), why wouldn't you want static typing, given that, even in dynamic language programs, 95%+ of the calls could be statically verified anyway?

(Admittedly, how you deal with the remaining 5% (reflection, macros, XML, whatever) is left an exercise to the reader.)

Great case in point: Groovy. The original creator, James Strachan, was a hobbyist, and I believe (admittedly putting words in his mouth), if not consciously, built Groovy as a dynamic language because it was easy. But now he prefers Scala, which is basically the same syntax, but with all of the extra infrastructure around typing/tooling/etc.
Interesting analysis of another amazing Feldman work, "Piano and String Quartet", including a visualization of the "Turkish Rug" formalism: http://www.cnvill.net/mfsani2.htm

Looks a bit like cellular automata. :)
I've been in a similar situation as the OP. I was trying to share an external USB drive with Linux, OS X and Windows 8 with my git-annex archive on it. Turns out exFAT doesn't support soft links (git-annex needs them to work), which is a feature I think should be supported by any modern filesystem. In general, you're shit out of luck with git-annex os interoperability :/.
If you want to see the kinds of tech research the military has been funding for the ARGUS platform:
http://www.sbir.gov/sbirsearch/technology?term=argus

A few of these include:

Near-realtime Forensic Analysis Capabilities for Moving Target Indicator (MTI) Data

High Resolution 3D Reconstruction from Wide-Area Video

Wide Area Video Image Storage Techniques
I've never been to SA, but from what I've read, the high crime rate is a bit deterring.
Isn't the pdf of a uniform distribution just f(x) = 1. What he gave was an exponential distribution with rate parameter lambda. The rest of the math seems correct. But the dependence on e is not surprising as it is relevant to the initial pdf. Am I missing something?
The difference is that it was kinda cool as a way to browse between desktops (and apps, to an extent.) But for browsing a stream of continuous information it sucks. There is no easy way to fast-forward/rewind to a specific point, etc.

Might work for a short presentation/tutorial form, which is what I think this site is trying to do.
We also want our code to be readable.
I like the idiom of mixed named and not named parameters in Ruby. You don't really need names for implied, required parameters. Consider:

protagonist.throw(potato, :force => 3, :at => zombie)

In this case a call to :throw without an object to throw is nonsense. Throw is a transitive verb, and the parameter is implied. On a throw method, the parameter is obviously the thing being throw'ed.

On the other hand, the optional parameters are totally obscure, and need to be named.

Similarly:

justice.join_in_matrimony(jay, bob)

The two unnamed parameters here are the things being join_in_matrimony'ed.

In other words: unnamed parameters are for direct objects, named parameters are for adjectives and prepositions.

Although arguably the Rubyish thing to do with prepositions is chain them:

protagonist.throw(potato, force: 3).at(zombie)
That is utterly stupid isn't it, how could the designers of YAML count a capital "NO" as a key as False. Wow.

Edit, holy fuck all these are booleans:

y|Y|yes|Yes|YES|n|N|no|No|NO
|true|True|TRUE|false|False|FALSE
|on|On|ON|off|Off|OFF
I very much like Go's approach to static typing. Go allowed me to retain the flexibility and ease of development that Ruby and friends provide, even though the output is fully statically typed. It's great!
Ask HN: Which revenue route should I go down?
Bit of background... I'm currently in the early stages of creating a new property directory focusing on student houses with added information such as internet speeds, distance to uni bus stops, crime in the area etc. It aims to address the dispersed nature of many different estate agents offering properties on lists which all represent data differently, combined with the complete lack of neighbourhood knowledge students have when venturing to a new city. Furthermore, I am a student trying to address the problem I had.

Now, the APIs for the added will cost money when the service scales. I'm currently having a dilemma of which revenue avenue to go down and am seeking some advice.

1. Charge the estate agents to list their properties. Whilst this may be a good bet, it could lead to a lack of value for students if the list represents only, say, 50% of the total properties available.

2. Charge the students for a premium version. Offer the standard aggregated lists free and charge for the added neighbourhood information. But, what price? And charging students may be an unsafe bet. Additionally, even with 2% uptake, the revenues from one university would be small.

3. Charge completely for the product. No free version, but perhaps a trial. Take up of the product may be reduced in such a case, however it could be marketed as having the advantage over other students in house hunting, thus representing more value.

4. Charge estate agents per lead. Not sure how I'd track this and again, if one estate agent didn't sign up, the property list would lose value.

I have a meeting with the largest student estate agent for my university on Wednesday, and would love some advice.
I think you're willfully missing the point - you don't have to implement an rb tree without the built in containers because the language comes with built in containers. Python doesn't need to be optimized for doing such things from scratch because hardly anybody ever needs to do such things from scratch.
Google’s plan to eat Amazon’s lunch and dominate retailing
I don't understand why you would want to implement HTTP caching in a language's runtime. Honestly, I don't even see where and how you could even do that.
I don't think that's true, even if you look at most open source software. On one extreme, Mediawiki is a pretty complicated piece of software, approximately 900k lines of "core" PHP/JS code plus another 1.5 million lines worth of extensions, many of which are pretty mandatory for basic functionality.

Is it "good" or "bad"? I'd argue that it's both. It's an important piece of software but a bad architecture, and it's grown in complexity over the years. I think you could write a piece of functional wiki software in about 500 lines of code, but complexity and features win in the marketplace, even if it's just for "mindshare".
As far as I know, the UI is completely HTML/CSS/JS and can be entirely replaced or customized.

Sadly that will just cause horrible fragmentation and bad design as it has for Android.
Very common in Europe, where businesses often operate relative to weeks; we frequently use week numbers for that reason (an abomination in my opinion). Ruby has decent but not great support for ISO week numbers.
Deutsche Telekom is known as T-Mobile here in the US. So, the #3 and #4 networks will support it. I wonder if AT&T or Verizon will chime in soon?
I've read a thousand versions of this blog post over the years. It's decidedly abrasive as I'm tired with reading it to be honest. There is nothing new to be added to the discussion apart from people blindly falling over the same point, which is ignorant and not very well thought out and is not based on reality.

Apologies if you are personally offended, but my point still stands.
Myanmar. This country just transitioned from a military government to a democratic one and is opening up the market. Right now, they only have 5 million cell phone penetration. The government plans to have 80% mobile penetration by 2015 which means more than 40 million people will be online. Lots of low hanging fruits here. I am actually from Myanmar (been in US for 7 years) and I am going back tomorrow to start a company.
Agreed, it's easy to look back now and consider Java negatively, but 15+ years ago (which is a long time in our field) it caught on for a reason.

It's not like Sun took a gun to everyone's head and said "use Java, damn it". I mean, Microsoft might try that :-), but Java succeeded almost despite Sun (e.g. on its own merits as a language), instead of because of them.

And really it was Sun's bungling of the language evolution that led to Java's lack luster reputation today. In constract, Microsoft did a very admirable job with evolving C# to keep up with more modern syntax/semantic expectations.
Legalized Online Gambling Coming to a Computer Near You