skysight-inc/HackerNews huggingface dataset:
Show HN: add inline article summaries to Hacker News (HackMIT 2013)
> Second, no one has 20 years of relevant experience. Maybe computer science fundamentals have stayed about the same, but it was 1993 20 years ago, and what we do now looks nothing like what those of us who were around then were doing.

I'll assert the opposite: I haven't seen many new ideas on the software front in the last 20 years. All the advancement has been domain-specific. I bet you could take a team of people who were experts in 1993 and hadn't touched a computer since and still develop a world-beating product today, all else being equal. Heck, Common Lisp has pretty much stagnated for what 15+ years now (the ANSI standard is 20 years old, and CLTL is 30), and ITA is still writing world-beating software with it...
From what I've seen it depends on how long the situation has been lingering on. Teams have ups and downs, phases where things just hum along and phases where matters are more difficult. If it's just a phase and a fairly recent development it's possible to turn things around, especially if there's still people around that are motivated and want to change things. A clear diagnosis of what's wrong would be the first step. However, it gets harder to change things the longer the problem has been around - everybody retired to his own little world, blames the rest of the team for failures, too much blood shed between the individuals. It's very hard to climb back up from this hole.
Ok, the reasons are/were:
1. Back in 2001-ish, Java was cool, and I was copying the java string class.
2. I wanted more functionality than std::string offers. Yes, yes, I know all the arguments about keeping the class simple and using external methods for adding functionality, and I generally agree with that philosophy, but having used both juce::String and std::string, in practice the juce design just seemed to result in cleaner code.
3. I wanted it to be able to easily cast to utf-16 or 32, and std::string was a bit clunky for that.
4. It's a long time ago, but I vaguely remember std::string having performance issues on some platforms.. Can't remember the details, but there were definitely problems that made it perform differently on different compilers.

If I was designing a string class today with hindsight, I'd probably still go for the overall design of juce::String, maybe tweaking some of the methods a bit, but I might make it wrap a std::string so that they can be interchanged efficiently.
It seems like the original research does mention this problem.

"At the same time, we see a puzzling fact that Baidu is also listed as the most visited website in South Korea (ahead of the popular South Korean search engine, Naver). We speculate that the raw data that we are using here are skewed."

http://geography.oii.ox.ac.uk/2013/09/age-of-internet-empire...
I'm not really sure what your post is trying to get at. There is nothing unique about the benefits of evented programming in Node.js other than that you're using JavaScript. PHP, Ruby, Python, etc. all have evented libraries. Granted, those libraries don't have as much support for non-blocking drivers (EventMachine is pretty damn close though in my opinion in terms of polished libraries, not quantity of libraries).

Zakas' post isn't really about the crusade for Node.js. At least it shouldn't be anyway. It's about how he perceives a change in UI architecture. I think it's a bit weird that he specifically uses Node.js as you can accomplish this with any "back-end" server language/framework. I think he does a poor job of communicating the change as well. It really boils down to one thing: Some people are generating templates client-side instead of generating HTML sever-side and sending it down. What he refers to as the "Back-end UI layer" is simply just a server generating HTML.

I can't really argue whether his approach is good or not. The way he explains it seems like an extra useless layer that you're going to have to maintain to me though. So you have a RESTful PHP/whatever app returning JSON or the like. And then you have your front-end developers create a Node.js app that takes the PHP apps response and ends up rendering HTML or just returning that same JSON anyway?

I agree that business logic and rendering that business logic into HTML, JSON, whatever are separate concerns but there's no reason why you can't implement them in the same language and just give the client (browser, mobile, whatever) what it wants.
All the features you've mentioned (which are the only features 99% of Scala's developers want or use anyway) are found in Kotlin, without the crazy complexity. So occasionally you'll need to cast a reference; so what? Scala doesn't enforce safety anyhow, so why spend so much effort on removing each and every cast?

What you've described is what Scala programmers want Scala to be, or what they use; not what it really is. It seems to me that you've actually described Kotlin.

BTW, I agree that the JVM is a tremendous asset. I develop for the JVM every day and I love it.
That number seems low...

doing a bit more digging:

http://www.bursar.gatech.edu/tuiandfee.php

http://www.bursar.gatech.edu/student/tuition/Fall_2013/Fall1...

1 semester for an out of state, 6+ hour (per week) student is $13,781.
Building customer profiles through purchases, emails, and web activity
Clojure Community Night
The inverse of "make something people want" is "don't take away something people want". If people "want" something, they will get it. They will shell out their wallets, climb over walls, invent technologies (or use technologies invented to give them what they want).

Want to stop them: you are doomed to failure.
I like the parallelized hash chain construction idea; I've never seen that before.

One could improve a chunk of the chain by having checkpoints along the way. As the author mentioned, it would suck to be 2 years into mining a 35-year computation, only to make a mistake that you can't detect until the very end.

To add checkpoints, one could release both the original seed of the chain A, and a number of pairs of hashes (x0,y0) (x1,y1) ...

Let's say you wanted to do 1-month chains. Hash the seed A for a week, then take the current value x0 such that H(B)=x0. You know the value of B, since you've been computing the chain. Pick another random value y0, and continue the chain with H(B^y0). Write (x0,y0) in the output, and hash for another week. Do the same for (x1,y1) (x2,y2) and (x3,y3). Each chain then has a seed value and 4 pairs of 'checkpoints'.

When unlocking the crypto puzzle, these checkpoints can't be used to jump ahead in the computation, but they can tell you that you're on the right track.

I think that you could even use a secondary hash chain for the y_n values, so y_n+1=H(y_n). If you also derived y0 from A (e.g. y0=H(A^const) ), you would just need to publish the seed value A and each checkpoint hash x_n in order to have a fully checkpointed crypto puzzle.
SVG's of these would be pretty amazing.

Edit: Scratch that. All I see is 4 images in both zip files... I'm confused.
I really don't care how much it is to produce. I do care about the value I will derive from it. To me, 7k for a GT MS is a steal, especially if I don't have to move or disrupt my family's routine in any way.
Well said. I totally agree. Sometimes it's just a blip and sometimes there is distrust and structural dysfunction that is going to need a lot of work to fix.
Why can't you do these things in PHP (or whatever other language you're already using)?
Agreed, also, don't make me click on a button to figure out what I am looking at and why I should be interested.
Yes, but sadly still not yet released, due to me having absolutely no time to work on it :(

(Anyone who finds the Projucer project interesting and who might be interested in throwing some resources at it, please get in touch!)
Do people really pigeon-hole themselves into being just back-end engineers? Or just front-end? I can imagine a designer-type person picking up HTML, CSS, and eventually JavaScript and calling him/herself a front-end engineer in a limited way. But as a programmer I work on all of it, both server-side and client-side portions. (So I'm a full-stack engineer I guess.)

It seems to me that a designer who picked up some JavaScript would still not be a programmer. Lots of apps require advanced JavaScript to run a UI client-side. I would not expect anyone who was a full programmer to be just a front-end engineer and be completely unwilling to learn PHP or Ruby to also work on the back-end. If I met a person like that I would think the person a horrible programmer and not hire him/her. (Unable or unwilling to learn, lack of passion for software engineering excellence.) A designer with a few extra skills is one thing, but a restricted programmer is something else entirely.

But what do I know? Hence I ask whether this is common.
We've been using node.js as our entire backend for a project that just needs a simple, low latency interface to a complicated SQL database, with some push abilities. It has served wonderfully in this role. In fact, for our most common API call, the average response time is about 8ms.
As a resident of one of the most visited city in the world, I am very happy about these taxes paid by tourists (in the end) that allow me to enjoy lower taxes.
the general advice is to focus on one project at a time. However, I can't do that.. I am currently working on 3-4 projects, besides my one-man consultancy business.
I can't say I'm profitable with any yet though.
FWIW, You can retake it relatively quickly.
About lavabit's ladar levison's interview at democracy now
Rate Limiting with Redis
Yeah, that's damn cheap and a good value.
Lavabit vs. the FBI: the fight for the soul of American software
AirBnB does offer a $1m host guarantee.
Don’t Get Scammed On Cables, and Gadget Gear
C-pound, priceless :D

I wonder if anyone ever got C-hash?
Back-end (god I hate this term) developers should be concerned with modeling the domain of the problem they are solving. That is all.
Will students who don't have their application accepted be able to get a refund?
I would add on about $1000 for additional fees. Most places are saying that the cost would be "just under $7000".
Looking at it quickly, you should use JUCE over Qt if you're building a custom UI from scratch and you want a lot of multimedia help, you should use Qt if you're building a more traditional desktop application.
So I just started working at this company. Buy anything, any website, using BTC
I'm actually lucky enough to be in one. I work in the University of Maryland system, and I receive tuition remission. I take classes at University of Maryland, University College. It's not exactly the same as UMBC (where I did undergrad the first time around. Ironically enough I started off in computer science before switching to English literature; four years after getting the BA, I'm back for the computer science degree), but it's still within the University of Maryland system.

I'll be watching the George Tech program closely.
This new javascript wave in which we eschew the needs of the consumer is going to start costing companies big. Processing power, memory, and power consumption are still a pretty big deal in the mobile sector and offloading all these responsibilities to build the view client-side are a huge mistake.

Engineers that make their lives easier at the expense of the customer will find themselves in a very empty and very optimized echo chamber. Users will be found elsewhere dealing with products that are faster (for them) and teams clamoring for how they can continue to improve the experience with each iteration.
At current rates, each troll is sending $0.000012 per message. You'd have to receive more than 80 thousand troll messages to get a single dollar.

Still tolerant?
Ask HN: Paid app as open-source
Hello HN, I'm creating an iOS app that I plan to release as paid, but I also would like it to be open-source so it can helpful to others and get help from other developers. My question is: is it possible for a paid iOS app to be open-source?
We Are All Tipped Waitstaff Now
You outsource to India to save money. You wont outsource to India if a developer/company charges the same as its US counterpart. So you end up outsourcing to mediocre companies eventually

Let me say that I've worked with some amazing Indian programmers, but this comment aligns with a realization that I came to a while ago. Some organizations see software development as a competitive advantage and while others see software development as a necessary evil. The "necessary evil" shops are the ones most likely to outsource based solely on cost.
New York has never even attempted to claim that AirBnB is itself a hotel (new laws would be needed for that). They instead claim that individual hosts are violating unlicensed hotels.
Why would you need to change what Python does (i.e. the semantics of the language)? All I said was that you would find a subset of Python that is useful for your project, then put together a Python compiler that is very good at optimizing that subset. This is not at all unprecedented: Microsoft does this with the C compiler used for Excel and ITA software did this with Lisp when they modified CMUCL's code generation routines (CMUCL and the SBCL fork are particularly interesting here, as they expose their code generation modules to the programmer, reducing the effort needed to hack your compiler).

The point is that these things require a substantial time commitment, which is what I said in the first place. If you have unlimited time to work on your project, you can use whatever language you want -- your time is unlimited -- and still meet all functional and performance requirements.

Of course, time is rarely unlimited. Usually you need to meet a deadline, and that means that you need to prioritize, and your priorities will guide your language choice. In my experience, functional requirements are typically higher-priority than performance (with a reasonable margin). Getting the right answer slowly is usually better than getting the wrong answer quickly; getting all features to work is usually more important than producing a fast system that implements only half the features.
Indeed, Archive.org is superb!
When your application gets big enough, you'll need to split these roles and find more specialized people. Web is a big thing, and it's getting bigger with the introduction of MV* front-end frameworks.
Visualization of NFL Statistics
Instant inkjet circuits
Gut investing
We didn't see a problem with it (and neither did our lawyers) until that $6.6M judgement played out against another lyric site with similar "user contributed" content.

There are a couple of routes to go legal - one being Musixmatch, which charges at minimum $20k per year for a blanket license.

An email straight from them:

"We offer data licensing packages, through our scalable Lyrics API, that are customized to meet your needs with annual fees ranging from USD $20,000 to higher depending on the audience for the data and which data are being licensed. We are not able to offer any sort of data license for less than USD $20,000."
In some cases, doing things client side is massively faster, and in other cases it isn't. It's something that teams need to look at case by case.

For example, over a small data-set, doing typeahead search on about 5000 elements was many times faster, even on some of the slowest hardware than doing it server side.
Correct me if I am wrong, but this assumes that processor speed will not increase dramatically over the lock period, no?

Seems to me that if one was to be storing information over an extended period of time, say 20 years, as time goes on, it becomes more and more likely that the encryption can still be broken sooner than desired.
While your distinction is a useful one, I think it's not a common one. Just as there seems to be some sort of cultural rush to be the first to declare something has jumped the shark, there's a very strong presumption that selling simply is selling out, a conclusion that can be leaped to without anything so tedious as examining the facts, and some sort of rush to be the first and loudest to so declare.
Indian developer here. I think one point is missing here.

There are two categories of software development jobs in India: Service Based and Product Based.

Service Based - which means you are working in a org taking outsourcing projects (Cognizant, TCS etc).

Product Based - A product based org has set up its development center in India (like Google, Amazon etc).

You get better salary, better work, better environment, better decision making power in Product Based Orgs - which simply translates to this: better developers are present in Product Based Orgs.

I have seen Job Descriptions that said 'Only for developer working in a product organization'.
The deadliest events in history, ranked by deaths per day
Well, that's the beauty of open-source... I try to be hit as few trucks as possible, but it certainly wouldn't mean the end of the project, just perhaps a slight drop in code-quality :)

I remember you getting in touch and asking about this because I think you're the only person who ever asked me about the truck-number. Slightly surprising, really - I've sold licenses to all kinds of huge mega-corporations who I would have expected to worry about such things, but apparently not. Just you!
Not bad: https://duckduckgo.com/traffic.html
Well, this is the theory, certainly :) I haven't found it to necessarily be true in all cases.
The First 20 Hours
The code is unfortunately written in straight procedural PHP. It is kind of spaghetti code. The end result is quite pretty, but it ignores all of the best practices in PHP development right now.

Also the last time I tried to set it up, it required that I have a twitter account.
Well, I think the lines begin to blur with these cohesive technology stacks that only use one programming language. I code that is run on the server and not in the browser is considered "backend".
The article has some good points, but I'm not really sure what it has to do with Kanban.
When I was first learning programming (age 12), I originally read it as "C number" (Since # is sometimes used to denote numbers, e.g. telephone #) until I heard someone say it out loud in a video I watched a few months later. Luckily, I never actually programmed in it, so I didn't have an opportunity to make a fool of myself.
Dwolla launches realtime payments in beta
$4 x 8 x 24 = $768 = INR 42000.
- Type erasure - true but it results in a very small increase in overall verbosity.

- Null - true but Scala's approach is perhaps more verbose than Java's. I like Groovy's approach the most ().

- Functional if - definitely disagree that it makes tons of code simpler / easier to read.

- Java 8 has traits (but I'm not sure if they're equivalent to Scala's traits).

- Nonfunctional core API's – Guava helps here.

– Reference-reseating-by-default - don't know what you mean by that.

I don't think Scala is the next Java. Personally, I wish Kotlin, Ceylon or Dart would replace Java. Scala makes the wrong expressivness / simplicity tradeoff.

> outside of the epistemic closure of the Java world it is rapidly becoming understood that Java is better at nothing by design

Not true. Yammer moved back from Scala to Java: http://blog.joda.org/2011/11/real-life-scala-feedback-from-y...
Offer HN: iOS Developer
I'm Lorenzo, I live in Brazil.
I'm an iOS developer. I've been working as a freelancer and I'm looking for more work if new people. After seeing this post (1) I think that 1,2k per week is a fair price (actually less than it's suggested as I'm seeing the post).

(1) -> https://news.ycombinator.com/item?id=6506027

If you want to know more about me or what I've worked on: lorenzopicoli@me.com
At the expense of being flamed, I'd say that every back-end engineer can do front-end work even if the end result is terrible from a user experience perspective. You may even find cases in which a person can be equally adept at both.

That being said, I believe that there are more front-end specialists and designers who cannot do what it takes to build an efficient back-end tool.

Try showing your latest application around an office. Few people will comment on how you are grabbing the data, but everyone and their mother will tell you how to make it prettier.
Looks like a medium-svbtle hybrid. Nice effort.
Link: https://news.ycombinator.com/item?id=6506027
How did "toolkit" come to mean "GUI library"?
Scala reminds me of nothing so much as C++. Yeah, you may not want to use what is to you some obscure corner-case feature, but it's 100% certain that you will encounter some code written by someone with a different view of what is and isn't critical. So you need to keep this enormous pile of abstractions and their interactions in your working set, or you're off to the documentation.

I don't entirely see the value in having these "big-tent" languages, where everyone writes their own dialect but imposes that mental cost on all of the other readers. Odersky is clearly a very smart guy, but I'm not persuaded around his way of thinking.

Scala is more expressive than Java-the-language (it'd be difficult to be less so), but that's not the only metric one should use [1].

[1] PLEASE DO NOT READ THIS AS AN ENDORSEMENT OF JAVA-THE-LANGUAGE.
The problem here seems a bad headhunter, the candidate took his chance...
Are the Internet Companies Trying to Expose Telecoms Stealing Their Data?
Maybe 3 or 4 large lines (high quality) a day for around 6 months. Not a crazy amount, but enough that I was surprised how easy it was for me to stop.

Weed on the other hand I used in massive amounts, so I'm sure that was part of my fixation. It was ingrained into all of my daily routines (exercise, waking up, sleeping, eating, coursework, socializing), plus I began smoking during a rough period in life so maybe that's why it had such a hold on me. Thanks for the encouragement!
As someone suggested earlier, Scala is probably the best option for a Java developer looking for an alternative. Runs in the JVM, is compatible with Java programs, mixes OOP and functional programming. It can be summarized as "Java meets Haskell".

What I found liberating in Scala is a simple proposition: "use OOP when it makes sense, and functional programming when it makes sense". It's wonderful when you don't have to reason about everything using the OOP lenses and you get to choose, very empowering.

Your criticism to Scala in the other comment seems to amount to "it's not Java", which is extremely weak as an argument. If you are looking for an exact duplicate of Java, then just use Java. Scala is more complex than Java, certainly, because it gives you more options and also because it has a way of rewarding those who master the language. And "ugliness" is a completely subjective matter, I find Java with all its boilerplate ugly and not Scala, for example.
Thanks. The point is that applying simple tools like Kanban or trying to "shock" the system by "becoming" agile typically does not work because these tools do not address the underlying issues.
Show HN: Learned By Me  - $15 Spanish tutoring sessions with top professionals
We recently started Learned By Me (www.learnedbyme.com), a company that connects terrific experienced Spanish professors and immersion school teachers from South America with students and learners from around the world for Skype tutoring sessions for $15 / 45 minute session.

Your feedback would be much appreciated! We can discount your first lesson to $1 if anyone would like to give a lesson a try. (Just sign up on our site and use the code: HackerNews at checkout)

Email Michael at learnedbyme dot com if you have any questions / comments that you would rather not share on HN. Thanks!
Yeah I saw it was provided in GPG4Win but I was hoping they provided a barebones installer for 2.x like they do for 1.x guess they don't. I might drop Werner a note and ask.
Rest of the issues aside, seems a bit silly to harp on his pronunciation of the language's name. If you work on stuff on your own it seems easy to never hear someone else say the name out loud.