skysight-inc/HackerNews huggingface dataset:
i'd have said 1996 with the https://en.wikipedia.org/wiki/Nokia_9000_Communicator

but it was a niche product that probably didn't appear in the u.s. much.

as a psion user i lusted after these devices. but price of mobile data put them out of my reach.

i used a psion 5 as my main computer till 99 when i wanted to start ripping cds for an mp3 player amongst other things.
cool, really great
Sure is lack of humor around here. Is there an unwritten rule at HN that if something is chuckle-worthy, it's automatically not worth seeing?

Downvote away!
Ask HN: Best resources to learn Python then Django?
Anyone have good resources to start learning Python then Django.

I'm an intermediate at Rails and PHP and I'm looking to learn Python then Django framework. Thanks!
Great work, guys.
Yes. You can say

a = zipWith (+) (0 : b) (tail c ++ [0])

and that would make a[i] = b[i-1] (where b[-1] is 0) + c[i+1] (EDIT: where the last element of c is 0 (thanks tkahn6!)).

Also, interestingly, if you have lazy evaluation, you can use a zip to produce the fibonacci numbers: just zip the list up with itself.

fibs = 0 : 1 : zipWith (+) fibs (tail fibs)

so you cons 0 to 1 to the zip, and the zip is combining 0 with 1, and then 1 with 1, and then 1 with 2.

fibs[0] = 0
fibs[1] = 1
fibs[i, i>=2] = fibs[i-2] + fibs[i-1]

and this looks like the math behind it.
Not to mention:

c) You're special and distinctive enough to have landed the opportunity in the first place and impress the gatekeepers.
I'm not sure your solution computes what you want.

A[2] = B[2-1] + C[2+1]

A[2] = B[1] + C[3]

A[2] = 2 + 9

A[2] = 11

Your solution gives 12 for A[2].

f xs ys = zipWith (+) (0:xs) $ tail $ ys ++ [0]

f [1..5] [6..10] == [7,9,11,13,4]

I assume you want B[-1] and C[5] to yield 0 in this case.
GitHub is the first and last reason to prefer Git to anything else. That community is so vital right now, it cements Git as the essential VCS. I could believe Mercurial is better in some ways than Git and I could even believe Atlassian's BitBucket service is in some theoretical sense better than GitHub. But most code is on GitHub, so git wins.
The lack of security and authenticity in BGP is really one of the great weak points of the Internet. Problems are resolved quickly, but problems and mistakes are easy to make which is the first order problem.

There is work being done to better secure the BGP and prefix delegation / announcement infrastructure now: http://www.nanog.org/meetings/nanog49/abstracts.php?pt=MTU3N...
One thing the article misses is that hg also has a bunch of built-in aliases for a lot of these commands, including:

* mv for move

* rm for remove

* co for clone (which SVN uses as an abbreviation for svn checkout)

* ci for commit

As well as the fact that you can abbreviate any command that hg doesn't have specific aliases defined for by typing any unambiguous prefix. Git, on the other hand, has no aliases by default, and no prefix aliases.
What I like about this advice is that it puts the ball squarely back in the potential buyer's court and may help to minimize the distraction entailed in making wild guesses about potential deal structures and outcomes.

This is a case where the acquiring company has the burden of convincing a potential seller to sell. It is not a positive sign if the buyer is unwilling to pitch their deal all out.
You are right I think comparing merits of closures on just a comparison with for loops and lambdas alone is not comprehensive enough. Closures are called "A poor mans way of doing OO". And its in no way less powerful than any OO language I have seen. Javascript is a living example of this.
I use currying so much in my production code base, to state one of the advantages of closures. The fact is that even if java can do this with inner classes and not natively means you have to write much more code. And more code for doing the same thing is only useful when it gives you more power. Even with MORE CODE to do closure simulation JAVA gives you only "INCOMPLETE" closures(final/class level variable access only in the inner scope). And for currying one says: "return new Function<K, V>(){ public void apply(...){...}}". Composing functions is also harder.
So its not just for loop there is more to it.
"Never assume, always measure" - Never a truer word spoken!
ShowHN: An objective-c method call tracer
FYI: all the links in the article seem to be broken.
That's not what occurred here. What we have is a dozen people chiming in with short, "funny" comments that add nothing to the discussion. It was maybe a step away from a classic pun-thread and that is most certainly unwelcome. We don't dislike humor, but maybe we know when it's appropriate and when it's just nonsense spewed onto a page, over and over.
Good advice. The only slight complication here is when people blog for the sake of it, then wonder why they get no traffic. If you have nothing to say, I'd suggest letting this week's blog post go.

Another tricky complication is knowing your audience- I'm a developer, and the stuff I find interesting at work is wildly different from the potential audience of a company blog.
What encryption software is this woman using?
It's an early version of it, but support iOS (arm), and MacOS (x86_x64, no i368).

I'd be happy to hear your comments :)

Nico.
sorry, not all. just a few.
It's not exactly clear from the paper what CA should mean.

I've seen people claim it means "you guarantee both consistency and availability, as long as there are no network partitions (you don't have to handle those because you haven't chosen P)". That's a supportable claim. So you can do that, but it's kind of a useless choice, because as long as there are no network partitions, both CP and AP systems can also guarantee full consistency and availability.

I lay the CAP family out thus:

* CP: on network partition, lose availability

* AP: on network partition, lose consistency

* CA: on network partition, lose both

It seems to be a common thread among distributed systems engineers who claim to have beaten CAP: "network partitions don't matter for whatever reason, so therefore I can always guarantee both availability and consistency and so CAP must be wrong yaaay!!"

Sorry, no, nice try.
Articles like this really make me think... that maybe the Haskell and FP people have their heads in the clouds.

I've played with OCaml, Haskell, Erlang, Scheme and Common Lisp, and I always end up going back to Python, C, and C++ for all of my "real" development.

IMO the abstractions available in the more mainstream languages are easier to understand and use in almost every case. They also perform better on existing hardware.

This particular article is really bad because most of its arguments are straw men.

For example:

"Instead, higher level operations like sum, prod and concat are defined in terms of folds. And your code is then written in terms of these higher-level reducing operations, making your code more concise, easier to read, easier to write, and easier to understand."

Building higher level abstractions from the language's lower level abstractions is basically the entire point of programming in any language. It's convenient that Haskell's library includes functions like sum, prod and concat, but it's hardly the only language including them, and it's trivial to write them correctly and reuse them in the languages without them.

And then he says stuff like "If you're still not worried about bugs, think about the possible typos. Then think about how often you write loops like this." Because nobody ever makes typos while using folds and closures, right?
YouTube API "Error 401 NoLinkedYouTubeAccount"
In the worst one, I got the job.
That's a good point, you wanna blog about stuff that's relevant and interesting to your target customer persona, and not force it.
Author here. Fair points. These are all my personal views and understandably not everyone agrees.

Subverting browser behavior happens frequently and can be a positive thing. Lightboxes achieve a UX experience that bouncing someone elsewhere does not.
"Obviously of a much higher quality" is also nothing more than an expression of your personal taste.

My first reaction after installing the upgrade was "Darn, my Dock just got uglier" -- of course there's an element of resistance to change involved, but first impressions are important.
What's the main different between Tumult and Adobe Edge?
wow awesome! This is actually something I will use
> Note that if you're on a Mac, your system's gcc is likely several years out of date.

To be precise: Apple stopped maintaining its GCC branch after the switch to GPL3. The last version available with Apple patches is 4.2.1. There will be no further updates to this branch.
"Blah blah. Trotting out this tired old chestnut again?"

Well excuse me for featuring something you've apparently read far too often. Believe it or not, some people haven't seen it all.
Easier IPOs ahead? VC group expects changes to Sarbanes–Oxley this year
Bill Gates: For Teachers, Shame Is No Solution
Please do; I had something similar in mind some time ago, but never got around to it. Let's hear it.
I've worked through the "Learn Python the Hardway" ebook. It's pretty good. There isn't much in there about Django though.
>That infographic tells the story -- 50% more Iowan children need amphetamines to function as compared to New Yorkers?

Why assume that there is overdiagnosis in Iowa rather than underdiagnosis in NY?

>and the folks who need it will be fine

...if they have health insurance and Vyvanse works for them.
Unless httpd is running on a different server from your second-level domain, and your primary use of your second-level domain is something other than serving http, then the use of a www subdomain is silly. Changing it to "web" makes it no less silly. There once was a movement to do away with it, but sadly http://no-www.org/ appears to have been essentially abandoned -- or at least very rarely updated.
Show HN: HTTP Status code directory
Live in Nigeria?(*insert your 3rd world country*). This is why you will fail.
+1 for irony

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Apache Server at blog.foundersnetwork.com Port 80
Apple "advocates" never said any of those things. I'm going to give you the benefit of the doubt and assume you actually did read this stuff, so let me just say, you need to learn how to recognize a straw man argument when you see it.
For a long time I kept waiting to meet these "job security" sysadmins. The stereotypical 'if things worked better they wouldn't need me' guy. Haven't met him yet. Most admins I've met are automating everything that is reasonable. Many are automating MORE than is reasonable.

The only disturbing trend is how far the helpdesk types get in the hierarchy. My shock at introducing an IT Engineer to ubuntu, only to discover he'd never used a CLI on any system...
The part which struck me: "For the times when you do need to rewrite history in Mercurial, you can turn to extensions like collapse, histedit and MQ. Keeping this functionality out of core prevents new users from accidentally using it until they’re ready."

What this means in practice: when you need to rebase in Git, you simply do so. When you need to rebase in Mercurial, you have to enable a bunch of extensions which aren't well polished or documented because they're not part of the standard feature set and many people have been discouraged from using them. That second situation is far more likely to cause data loss, which is a pity because rewriting local history is a valid operation which often produces cleaner commits and avoids merge failures.

I started using Mercurial earlier than Git but have been using both for years. Mercurial remains the only one where I have experienced data-loss (histedit) and the one where I had to switch to a less natural workflow to deal with limitations of the tool (e.g. patch queues are such a kludge-fest it's obvious that nobody really believes you should use this feature).
I owned three Palm Treos from 2002 - 2006, including the 600 and the 700p. I _lived_ on those phones for the better part of four years - and I recall waiting for each new release.

So, as a Palm "Fanboy" I can say with certainty that those devices were not even in the same product category as the iPhone. Suggesting that they looked like iOS is farcical at best. I recall struggling for the better part of a week to purchase and install a "Yahtzee game" for the phone. Even after nine months on the 600, I _still_ was unable to reliably hit the proper key sequence to dial a number out of my phone book (the Cancel had the focus by default, so you would "select number, hit enter - and cancel out. Instead you had to "Select number, change focus, _then_ hit number to dial. They finally reversed it on the 700, screwing up 18 months+ of muscle memory that finally developed.

net-net - anybody who ever owned a Palm, and particularly those who used the browser, will state beyond a shadow of a doubt the iPhone and Palm had no relationship, evolutionary or otherwise, to each other.
David Green is wrong. It's easier to pick up languages when you're younger. Noam Chomsky discovered that the brain is specifically geared to learn languages around 3 to 6 years old. Kids at that age get the language in a way that you'll never get after.

But people can learn languages at any point in their lives

Of course. I learned German, from nothing to fluency, in my twenties; and the same with Czech in my thirties. But if you ask me, for example, how a German or Czech name sounds, my answer won't match with native speakers. You can get all the definitions, make no mistakes in the grammar, but you won't understand it at a deeper level. A language is way to express a culture, and the culture is gigantic and ineffible compared to the language.
Geisinger Health Insurance Quotes
There are so many examples of this it's infuriating. Recent examples include patent holders for those automobile rear-view cameras lobbying to mandate they be added to all vehicles and Michael Chertoff lobbying to get his client's full body scanners in every airport in America.
When you start your post with a phrase like "folly" that "litters the corpse of the American educational system", I think it's a little disingenuous to claim that "all" you said was that praise should be deserved. You have an axe to grind, and you picked up a stone from this article to do it. But the article isn't about broad education policy, it's about very narrow findings in psychology. So yes, your post looks to me like a poorly-informed, knee jerk flame.

History, if you will, is littered with the corpses of people who thought they knew exactly how to fix the american educational system (or whatever: pick your policy obsession, it's all the same).
Derp, I saw that but stopped reading because I was familiar with the jwz post about old browsers. Thanks for pointing it out.
Python (2.7) tutorial. Django (1.4) tutorial.

Get a beta invite to gondor.io or ep.io so deployment does not become a pain in the ass.

"Practical django projects" is often recommended as good reading, I've never read it and it's starting to get abit old, but might be a good read.
Predicting Customer Pregnancy At Target (How We Would Do It)
Staff Consultant- Network Engineer
Evolver is an International Information and Communication Technology solutions provider committed to delivering value throughout the IT lifecycle. Our clients value our capabilities and entrust us with critical roles on mission critical programs. Evolver’s core competencies are solution architecture, systems engineering and integration, systems implementation and operations, and program management.

Essential Job Duties and Responsibilities:
Under the direction of Evolver Subject Matter Specialist provides the following support:
Providing daily analysis reports to the customer Task Manager and have them available for display in the Enterprise Operations Center.
Providing technical assistance in the area of security management of the customers AIS’s.
Identify events and nodes that should be monitored and modify security tools as necessary to successfully monitor and analyze the events and nodes.
Collect and analyze data obtained by the customers’ Security tools. Tools include, IDS/IPS, Firewall, SIM, scanning software etc.
Centralized Audit Logging Solution Administration and Maintenance Support, supporting customer’s efforts to maintain the existing centralized audit logging solution (Log Logic) capability that logs significant events for system operating systems (OSs) and databases.
Internet Content Management System Maintenance and Administrative Support work with customer to effectively configure and maintain customers’ Web cache (Bluecoat) and content filtering capability to manage Internet content.
Shall follow established Operating Procedures and update the procedures when necessary with the prior approval of customer.

Minimum Qualifications and Requirements:
Previous large enterprise wide security monitoring and management experience.
Must be a self-starter able to provide expert security monitoring, management and forensics with little or no direct supervision.
Experience with QRadar, HP OpenView, and UNIX is a plus.
Incumbent must be able to work a flexible schedule including nights, holidays, and weekends.
Technical Requirements:

Must be able to obtain and maintain a Secret clearance
Education, Training or Certifications:

Bachelor’s degree in Network Security preferred but is not a must for a person with sufficient network security experience.
Cisco CCNA Certification is desired.

Evolver, Inc. is an Equal Opportunity Employer (EOE). Qualified applicants are considered for employment without regard to age, race, color, religion, sex, national origin, sexual orientation, disability or veteran status. Evolver offers a comprehensive benefits plan including (but not limited to): medical, dental, vision, 401(k), life, AD&D and short term and long term disability insurance.
Full-featured desktop app in-a-browser using FLTK; charges hourly rate.
How to Use Pinterest to Plan Your Next Home Improvement Project
The title is misleading, phrased as if present-tense, when this is a letter from 1985.
The Internet Made Me Sad Today
This is similar to work myself and Vikash Mansinghka were doing in 2008 -- http://dspace.mit.edu/bitstream/handle/1721.1/43712/MIT-CSAI... . It's actually the basis of my PhD thesis, "Stochastic Architectures for Probabilistic Computation" -- if only I wasn't so busy with this startup!
SUpEr RuGbY Blues v Crusaders wAtCh live uStre aming: Care2 Groups
Great! I've already applied
Technical debt isn't something you "understand".

It is a pain that you feel. A knife that managers happily sharpen without knowing.

It is unfortunate that with so many tools and best known practices available today that developers still create technical debt and managers still can't appreciate it.

I guess it is a lot easier to hack without first writing out the behavior or writing out those tests or convincing managers that a little upfront cost will save their ass or company later.

It isn't called Behavior DRIVEN development or Test DRIVEN development cause it sounds cool.

Staging and production environments aren't just for shits and giggles.
No experience with consumer electronics. No experience with hardware manufacturing. No experience with industrial design. No experience with manufacturing physical objects.

I'll take small bets on this being basically an interim appointment, lasting less than 2 years.
Ah, but his proposed privacy bill of rights is all aimed at corporate data collection, not government data collection. He WANTS the government to have a monopoly in this area.
It's great to see a formalized study validate some of my long-held beliefs. For me, the biggest drawback of being self-critical has been "what if I draw the wrong conclusion from this mistake?" Some people call it tenacity: to try again and again after failure. But I think it's paranoia. The thought that I learned and will now stand-by something completely wrong due to a flaw in reasoning is a frightening path towards ignorance.
intelligence, tenacity and opportunity?
Wait, Google made an update to Google Voice? I think it's literally been at least 2 years since they made any real changes to it. Has it been resurrected?
aren't the useful arts strengthened by legal protection in exchange for continued disclosure of innovation

No, they're not, at least not in software. Nobody reads software patents, for two reasons. First, the majority are either non-novel or written in a way that they are not useful to others. Second, by reading patents you increase the damages in a possible infringement suit since at that point you knowingly infringed.
I think this guys kinda-gets it. I wanted to point out the conversation I had with a Jason Gordon in the comment, who I think doesn't get it:

From the comments Jason Gordon says:
I don't think the ability to code something is as important as the ability to communicate exactly what you want to someone who has that ability. It's very easy to find someone who can code, the challenge is communicating to them what it is they need their code to accomplish.

Me:
You are inferring that coders are just a utility that you need to manage and instruct. Coders, Programmers and designers, are people with ideas and also can be very entrepreneurial. Speaking for myself, I only want a non technical person to drive sales, and networking, and getting me featured in blogs and news - in effect, I just want to communicate exactly what I want to someone who has that ability. Good coders are not a dime a dozen.
Watch Man Utd vs Ajax Live Stream Now
Actually, his idea of a database for each user could still work, even though there is sharing of data between users. Take each database, and turn it into an executable object, which reads/writes its own data, and which communicates with other objects for sharing. It's like taking the actor model of computation, and orienting it for database use. I don't know of any working example of where this has been done, but I don't see why it wouldn't be feasible.

http://en.wikipedia.org/wiki/Actor_model
Not really “magical syntactic sugar gone wild”, just “everything is an object”. In Ruby, integers can respond to messages just as well as anything else, and the built-in “times” message takes a lambda (“closure” in the article). There is some small irony in that “times” is just a very thin wrapper for a “for” loop.
It's the former. I'd rather not sacrifice our strong consistency by using replicas to serve GET requests.
This looks bizarrely similar to DataStax's "OpsCenter" app for monitoring/controlling Cassandra: http://www.datastax.com/products/opscenter . I wonder if they care?
And I think you're all wasting your time on a useless tangent--there's no reason commuters should have to share the roads with larger vehicles anyway, if some streets are more or less reserved for bicycles or mass transit is used.
This does not match my experience. While certainly some successful people like to take all the credit, most of the successful ones I know acknowledge either luck, fortune, or God's blessing played a huge roll in their success. Machievelli in particular talked about it at length in the Prince and other works.

But you can't directly control luck. You can directly influence the other factors, and while luck does play an important role, so do other factors. To borrow a quote, "The harder I work, the luckier I get."