skysight-inc/HackerNews huggingface dataset:
Don't start by trying to solve a problem. That way lies madness.

(The problem is that your mind, your approach, needs to change, and that change comes with practice and time. And practice always starts with the simple, the controlled, the repeatable, not the full fury of all skills brought together in a high pressure win-or-lose moment.)

Computers are nothing more than repetition machines. Start by writing code to do things that you yourself now do multiple times per unit time.

Start small. Simple things. Let the computer handle the repetition for you, no matter how simplistic and rude and hacky your solution.

Then notice how program A and program B, written to repeat different procedures, have similar processes or structures.

Generalize A and B to make a C that does both.

Do this again for other processes. Over time, your approach will shift. You will notice patterns: Patterns of process, patterns of structure, patterns of relation.

Then you will start solving problems. Only afterwards will you realize you have done so.

(I started coding shell scripts for anything I had to do more than twice - or anything that required "too many characters". I got tired of typing "ls -alt *|head" so I wrote nwst to do it for me. Then I added a numeric option to nwst to control how much head wrote. I got tired of writing "find . -iname" so I wrote fndi. Etc. Etc.)
When I was starting out with programming aged 13 (not very long ago really!), I was inspired and taught by the community at (the now defunct) cyberarmy.net, and I knew nobody else who could code until I was nearly fifteen. Cyberarmy, to me, was just a community of people that liked to build cool stuff, had a lot of patience for a kid who knew nothing, and had a fun ranking system for me to try and climb. Maybe fostering a community with a similar idea behind it, that can leverage Facebook's existing userbase in order to get kids involved would have a good impact?

Also, I'm a uni student, and I got contacted by a recruiter from Facebook not so long ago about an internship that I was massively keen on. Unfortunately, my course stipulates that I'm supposed to do a year in industry next year, and Facebook only offer Summer internships, but since then, I've discovered my uni will let me do just a Summer! However, I've had little response from my recruiter on the matter, hopefully this'll change soon. Also, why doesn't Facebook offer full year-long placements?
Erlang and Elixir can call each other with no overhead.
Not to discount intentions, but I cringed when I read "Is this a business opportunity?" I feel it's a bit uncouth to say something like that in regards to taking money from homeless people. Maybe an opportunity for a non-profit or social services to do something, but a for-profit business? I hope not.
1) Go to Github
2) Browse the Javascript projects
3) Look for projects which are active with many follows/forks
4) Click on the Issues tab
5) See what open issues there are
6) See if the maintainer is active and applies pull requests
7) Pick an issue you can fix, fix it, write a patch
8) Send a pull request
9) See if the maintainer has any comments
10) Go back to step 1

See - you're solving problems. This is the kind of stuff you'd have to deal with on the job, and is the kind of stuff you'll deal with with your own projects as you or your users discover problems.

I know exactly a problem you can solve right now with Javascript.

* Go to this website - http://maps.huge.info/zip.htm
* Move around the map so you can see where various San Francisco zip codes are.
* Now try to do this on your phone

I'd love for this to be a mobile-friendly website, but it isn't. It's a useful tool, it looks like it's just a mashup of Google Maps and ZCTA's. A perfect project and problem to solve.
"The 20% fee seems ridiculously high."

In one sense it is high but in another it's not.

If you consider the amount of time it would take a typical contractor, say an electrician, to land a job if this comes in as more pre qualified business then the extra cost will save having to bid out and spend time on jobs that never pan out. People typically get prices from multiple sources. They don't always follow through on work that was quoted. If this type of work is "shovel ready" that's a great cost savings to the person doing the work. Not having to spend time on sales and marketing at least not as much as if they got calls from an advertisement. (Rating system means people have less doubt about using them).
Journey of a server backup
Make sure whatever tools / kits being promoted work on the most off-the-shelf hardware. I mean Windows PCs. Everyone is so focused on Macs and Linux that they forget how exclusionary it is for the average person to jump into the hacker life.

My feelings on this matter, in a recent tweet: http://twitter.com/akamaozu/status/535987222135447552
Sure. So the problem is that no one cares about your thesis, but you still need to put some month to write it down (for univs that don't accept stapler theses).
Ask HN: Is there an Emacs plugin for live web development?
Currently use Emacs a lot at work and one thing that would speed things up for me is a live preview of my work, or semi-live where I can refresh with an Emacs shortcut.

Any suggestions would be appreciated. I did try skewer but the HTML side of things is very limited.
The answer will be 'write code'.

This will teach you a lot of things... I can try to come up with a short list of what I've observed of my own development as a programmer.

You will recurrently come up with particular patterns, you start to identify which approaches will work, which will be dead ends and so on.

Try to separate your understanding and model of a problem to at least data, model and view domains. You will have certain data - you should keep this as simple as can be for the problem you are solving. There will be the model - how is the data mutated, which rules will guide it - and there will be a one or more view to this model and data. Note, that as a pattern the view encompasses both the possibility of an API to your system, as well as the actual display of data.

Try to keep you code as simple as can be. Don't go for the more complex solution unless you know you really need it.

'Pragmatic programmer' and 'code complete 2' are pretty good books about software development in general.

I would suggest you figure out what interests you and then try to implement simple programs in that domain. If something feels too complex, then first try a simplified version... more simplified etc. until you understand how to solve it.

One of the best knacks to learn is how to approach something from a direction which makes the problem easier to solve. There are usually an infinite amount of ways to write something and the challenge is not to just start writing code but actually figuring out which solution method leads to the most understandable and easy solution.

I would suggest you familiarize yourself with the practically important datastructures: the list, the binary tree, the map and the graph, etc. "Algorithm design manual" is a pretty good book for this. Aho's foundations of computer science is a pretty solid and free reference: http://infolab.stanford.edu/~ullman/focs.html

It's probably most motivating to mix the computer science with practical exercises unless you find you get a great kick out of it.

Good luck!
As someone who got into programming after building his first computer in middle school, I think there's a wealth of resources online but not a lot of direction on how to access/what to do with them. Teaching middle schoolers not necessarily programming, but just building things with visual languages such as Scratch showed me the benefits of having a mentor-mentee system (during my time in high school the mentors were my fellow high school CS club members) to encourage and guide students. Surprisingly the majority of students were girls (not entirely sure why).

An idea I mocked up as a side project attempted to deal with this by establishing a mentor-mentee platform (https://sites.google.com/site/datahug2013/college-connection). I think there's a lot of potential for social media to promote education of all types.
Give ad credits to the non profit organizations targeting specific audience: teaching teenage girls, or children from low income families to code.

Make it possible to do cool things on Facebook with programming like activities. I am not talking about acid background pictures a la MySpace 2007, but something like questionnaire or test with a weighted average and simple switch.
I worked in TV a few years ago. We were fully aware that within a few years, YouTube would be a better telly than telly. And so it is.
No, I think that practical uses of templates come largely down to simple parametrization, with the exception of a bunch of things that you don't tend to need to hack together yourself anymore since they were incorporated into the stdlib and then elided into builtins from there (mostly thinking of traits and variadic template args here).

But I think the boundary pushing was extremely valuable for seeing how far you could push a lot of these compile time ideas into a language that's ostensibly a traditional imperative language. The recent glut of new compiled languages probably owes quite a bit to seeing the potential of what can be done here mixed with the frustration of how complicated it makes things in C++.
> There will not be a Linux version of Butterfly, please don't ask about it.

WTF?

This simply tells me that the developers are not actually skilled in programming.
Reminds me of this:

http://www.zachblas.info/projects/facial-weaponization-suite...

Which is also pretty interesting.
“Growing up here it was all ranches and orchids, I was a cowgirl. You had everything you could want, and great weather all year round. I don’t blame them all for coming here, but they offer the people who live here nothing,”

the author isn't nourishing the concept of 'us vs. them' it with what they wrote, just with the reports from others.
Your best project ideas are going to come to you in day-to-day life, like the time my roommates started complaining that the laundry machine in our basement was always being used. A couple days later, a simple web app was hacked together that displays the washing machine status, and let's anyone "claim" the machine. I did that project when I was in college, and I probably knew way less about web servers and Node than you. I just Googled the first thing I wanted to do "make a website", struggled for a bit figuring out DNS and hosting for the first time, and then put up a test page. Seeing a page show up on the internet at yourwebsite.com for the first time is a pretty magical thing, and the rest was history.

In general, what you need is activation energy - that initial bump to get the project or idea started. After that, you need to practice maintaining the motivation to complete the project you started.

Asking the HN community was an excellent way to start. Good luck!
> "Compared to the other ones you're probably using"?

mpd, vlc, rythmbox. all of them are "blazingly fast" tbh...
I don't know why this got downvoted, it is very intelligent and I completely agree. Especially for kids, the most effective way to learn coding is to have complete visibility over all the underlying components.
before i learned to program, i knew what i wanted to create. that was 13 years ago when i was too busy playing an online video game (nba live 2000) and i wanted to create an association league out of it, just like nba.com. first thing i knew i needed was a website, somehow picked php and after heavy amount of trial and error, just under 4 months or so i had a website going with my own forum, standings, team management system, player/team statistics, etc ... little did i know, that was all it took to set me off on a career path i've never have imagined otherwise and i love every day of it. :)
It's funny, I heard about this type of meditation from Rivers Cuomo on a podcast and I can't stop thinking about it. I like that it's not tied to any sort of religious belief.

Thanks for the excellent description! Beyond the ten days, have you done any other retreats?
Preparing for an Acquisition
LinkedIn data show the US is losing out on the immigrants it covets most
The 70-Year-Old Computer That Runs on Water
Since you know javascript, read this:

http://www.codeproject.com/Articles/699085/Some-simple-tools...

It's from a workshop called "how to build your first mobile app in a day"
I don't use monads to split out effects. I use monads because they're a design pattern that leads to usable, reasonably well-factored APIs, like LINQ and promises.

Splitting out effects is a different argument. Monads can be (and are in Haskell) used to evaluate a stateful program from stateless components, but they're only an implementation detail. But anything with the right shape - stateless functional holes inserted into the stream between input and output - would look monadic from the right angle, so I'm not sure there's any escape from that.

Similarly for using an Option monads for exceptions - and that's what the Option monad (or closer, Either) ends up approximating, the entire computation evaluates to None once a bad value is hit, much like throwing an exception causes the whole computation to evaluate to the exception at the point of the catch.

So IMO this article isn't really about monads at all.
They're all derived from the original source code of SimCity from Maxis, that I ported to Unix for DUX Software starting in 1991 (see http://art.net/~hopkins/Don/hyperlook/SimCity.README and http://art.net/~hopkins/Don/simcity/simcity-announcement.htm... ), and which was donated by EA to the OLPC project under a modified version of the GPL V3 license, with the condition that the name "SimCity" only be used for versions of the game that have been reviewed and approved by EA QA:

https://code.google.com/p/micropolis/wiki/License

This is from section 2.1 of contract between EA and OLPC:

http://donhopkins.com/home/micropolis/olpc-ea-contract.pdf

2.1 Modification. EA hereby grants to OLPC a non-exclusive, non-transferable, non-sub licensable, non-assignable, revocable right and license to modify the Original SimCity as provided by EA for the sole purpose of producing a version of the Original SimCity for distribution on laptops provided through the OLPC Program pursuant to the specifications set forth in Exhibit A ("OLPC SimCity"). All right, title and interest in OLPC SimCity and any interim modifications shall belong solely to EA. OLPC SimCity, and any subsequent versions, will not be distributed by OLPC unless the software meets the requirements set forth in Exhibit A. For the avoidance of doubt, nothing contained in this Agreement shall be deemed to limit or restrict EA’s right to use, modify, sell, distribute or license the Original SimCity in any other manner as EA so desires.

EXHIBIT A
￼￼￼
Territory: Worldwide

Original SimCity Code: Title: SimCity (published in or about 1990)

￼Format: Unix Platform

Deliverable Items: EA will deliver to OLPC the following materials on or shortly after the Effective Date:

1. Source code for the Unix port version of the Original SimCity.

2. Any EA Documentation that EA deems necessary.

General Software Requirements: OLPC agrees that the OLPC SimCity will not be approved by EA for distribution under Section 2.2 of this Agreement, until the OLPC SimCity meets the following general software requirements:

1. EA’s QA team is unable to crash the game in sixteen (16) man-hours of play-time.

2. EA’s QA team is unable to find images/language that is deemed inappropriate to achieve an “E” rating by the ESRB standard.

3. No use of any EA Trademarks that would reflect negatively upon the established reputation of EA.

4. Add copyright/license information to each source file to reflect the proper licensing.
Specific Software Requirements: OLPC agrees that the OLPC SimCity will not be approved by EA for distribution under Section 2.2 of this Agreement, until the OLPC SimCity meets the following specific software requirements

1. The Air Crash Disaster is removed from the game.

2. EA approved splash screen is shown before the start of the game.

3. Simplify the Main Menu with EA provided GUI elements.

4. All text in the game must be legible.

5. Game audio must work.

6. Remove all attempted multi-player features.

7. SimCity Should be properly integrated to the XO’s GUI

8. Code for the EA approved splash screen is not included in the source code to be distributed with the OLPC SimCity executable.
I'm interested in particle physics but still I don't see any motivation to do it. How can I determine I learned something, how can I compare my progress to others. It just feels like I'm doing a captcha for them.

They should licence a form of StackOverflows's system which basically uses a skinner box approach which is very addicting and still rewarding if you get some positive benefit out of it.
Probably the same if it uses EJS. That's really what is being benchmarked here, which is confusing, as EJS is one of the slower templating languages.
Lost me at "Where once a robust middle-class thrived, there exists only the super-rich and the extreme poor."

Yes, that's exactly what it's like here. Either you live in a 10,000 SF+ megamansion or you're on the street. Hyperbole much?
I've never really understood layer-level grouping. Ideally, the more likely things are going to change together, the closer together you have them.

Given that, it's less likely that you'll change the code for all your models than change the view+controller+model code for a given feature.
Most people have already given you a very good advice.

I can tell you what I did many years ago. When I learned my first programming language, I decided to create my own CMS. I was still in high school, around 15-16 years old so it was just a fun project for me.

Imagine a simple version of a Wordpress. An admin area where you can add new posts and tag them. And an index page where the posts are displayed in a descending order with a pagination.

This will teach you basic ideas about how to store data in a database, how to work with forms etc, how to retrieve the data from the database and display them in a structured way (templates).

Ok, let's make it little bit more challenging. users can click on individual posts and add comments. Once I got my hands dirty and created something simple, I started adding more functionality to satisfy my newly acquired thirst for knowledge.

Each new problem I solved, no matter how trivial, motivated me to go t a next level and learn more.

Let's say users have to register in order to post comments. This will learn you how to create a basic authentication system, how sessions and cookies work, how to safely store passwords in the database, maybe add your own custom catcha element on top of it.

Next, I moved on to a new feature. I wanted to be able to upload pictures from the admin area and be able to insert them inside posts. Images should also be resized into multiple sizes (thumbnail, full size etc).

You can see that what started as a very simple project can actually grow more and more complex and you can learn a lot.

After I finished my CMS, I went on to a new project, I wanted to created my own text editor and a simple image editor (imagine MS Paint). Did both of those and again learned a lot.

After that, I went even deeper and created a fairly complex social network from scratch. Although this was the first piece of code in my life I got actually paid for so it probably doesn't count.

What I am trying to say is that you should go and get your hands dirty. It might seem like reinventing the wheel (because it is reinventing the wheel) but it is perfect for learning how to actually do something useful with code. It teaches you about data structures and algorithms.

You will probably laugh at your first creations in couple of years but they will be very important in making you an actual software engineer down the line.
Sorry, I edited the last list entry to "everything Coffeescript has" was "syntax for lambdas" before. He is correct, all the features CoffeeScript has are pretty much essential and are in fact in this language, so I edited it to reflect that.
Sony's e-paper watch is a thing of minimalist beauty
See '180 websites in 180 days' project.
http://jenniferdewalt.com
The examples he goes through are awesome, but I feel that this framework is a bit bloated. As he says in slide 135:

http://scott.sauyet.com/Javascript/Talk/2014/01/FuncProgTalk...

You can boil down FP on JS to 5 fundamental functions:

* map

* reduce

* filter

* compose

* curry

* forEach (maybe)

the first 3 and last 1 are already available to you on arrays. Compose is a pretty simple polyfill as is curry, I'm not sure if you really need an entire library to add this in for you.
find things in your everyday life you could use programing to make easier or solve
A valuable result would be: what benefits does meditation impart over other similar activities? For example something like 30 minutes of walking every day.

A result over a non-treatment group in this case is scientifically noble, but practically useless. All it tells us is that doing something has an effect over doing nothing.

Can I get the same effects from 15 minutes of walking a day? 30 minutes? We don't know, because that wasn't compared. It should have been.
you forgot real python!

https://realpython.com
Show HN: WindySurf.com responsive windsurfing, kitesurfing listings and forecasts
From reading the abstract it seems that they are claiming that introducing some randomness into your gradient of weight changes allows for the quicker convergence of solution - I did not read the paper. I also don't exactly understand why it works - it sounds like they are claiming traditional back prop has room for improvement.
Show HN: Batslap – dynamic “my parents are dead” meme generator
Neither are very elegant, but you could always do something like:

var R = require('ramda');

with (R) {
var propEq = use(pipe).over(get, eq);
}

...Or even:

var R = require('ramda');

for (var f in R) {
window[f] = R.f;
}
China: 3 major shifts in power since WW2 (Communist takeover, Cultural revolution, embracing capaitalism) and your summary is that their culture makes creative destruction difficult.

On the contrary, I'd argue that the evidence is that Chinese leadership has historically been able to embrace creative destruction better than most Western governments.
I agree they should be deflated, if overpriced. My point was that the people who don't own homes also suffer from real-estate declines in many cases, with the current way the financial system is intertwined with real estate (which is itself a problem). By dollar terms the vast majority of money lost in the '08 real-estate crash was lost by people who didn't actually own a house or condo, because the second-order losses were much larger than the primary losses.
Hi from Tent :-) https://cphuntington97.cupcake.is

If you're uninterested, please ignore, but here is something I want that might make an educational project:

A list of English words and/or phrases that are "phonetically contained" within Spanish words and/or phrases (and vice versa). For example, the English words 'cone,' 'tea,' and 'go' are phonetically contained within the Spanish word 'contigo.' (I'm trying to write songs in both languages that converge at key points). You might be able to do it with a https://www.wiktionary.org dump.
A monad is a programmable semicolon.
You ignore the fact that the radioactive potassium will be distributed more or less evenly over your body.

Secondly, and more importantly, you bring up this number of 4900 decays per second as if it means anything by itself. Those 4900 decays per second are caused by the presence of 18 milligram of Potassium-40 in your body. One of the elements released by Fukushima is Iodine-131. If you ingest 1 microgram of Iodine-131, this speck will generate 4,6 BILLION decays per second. So yeah, you're right that 4900 decays per second is not a big deal. But then you conveniently forgot the fact that the material released by Fukushima is orders of magnitude more radioactive than Potassium 40.