skysight-inc/HackerNews huggingface dataset:
I have been working remotely (as a senior dev, software architect, now a CTO) for more than a decade now.

I worked for a racing-to-IPO software dev company in upstate NY that collapsed in 2002, and the connections from that spun out into subcontracting, initially for various local clients (and thus already mostly remote, sometimes on-site). Then I moved to Michigan, but kept doing the same work. Then I moved the France; ditto (included one trip to launch a project on-site, living in a hotel for 10 days... ugh).

It was tricky, working from so far away (esp. when working with a team of developers who were on-site), so I worked solo for a few years (my wife published a well-reviewed first novel, which helped a lot); we had a kid in 2009. In late 2010 I found a dev job with a Cambridge, UK-based startup, here on HN. Now I'm the CTO. All of the developers here are remote.

My in-laws are in Malaysia, so I'm working (and parenting; we have two daughters now) in Kuala Lumpur all this month.

I like this setup; it's sometimes really hard (mixing in parenting is the hard part, really).

More details/advice available if there are questions, when I have time tonight.
They did. The unit tests covered that piece of functionality. The real issue with the story being why didn't any other the other dev's run the unit tests after making the change?
A year or so ago, there was a thread on r/fitness about this group of people who had tried to do 1000 kettlebell swings a day for 10 days, and it turned to a discussion of whether it would even be possible to do this for squats or other exercises.

So I decided to try. I managed to put in about 400 a day, and I think I reached 600 one of the days.

I'm an amateur power lifter. My squat max is about 190kg, and I do about 80 or so weighted reps on my squat days, ranging from 70kg on the lightest warmup set up to about 160kg x 5, and 5 sets of 10 at 80kg.

That feels like nothing compared to doing 400 body weight squats per day. The soreness and burn was just terrible, but worst was the demotivating effect of knowing you have still more sets (I varied my sets between 25 and 100 reps; ~35-50 seemed to be optimal for me in getting as many done as quickly as possible)

I'd like to try a high rep program again (probably not that high) for a few weeks to see how it works during a cut, as that was the original purpose of the kettlebell experiment mentioned, but the brutal effect on motivation is not something I look forward to.
The Messaging Opportunity yahoo missed
Do you think I should move back to Postgres? If so, why? Genuinely looking for well backed technically minded opinions here.
That ship has sailed...
CSS Shapes From Images
They are way ahead of any other Asian country.

http://static.guim.co.uk/sys-images/Technology/Pix/pictures/...
http://www.theguardian.com/technology/appsblog/2012/dec/04/i...
How Airlines Mine Personal Data In-Flight
As another data point. A couple days back there was an article about a hardware kickstarter product, where the designers did not add reverse polarity protection to their power socket. (For the life of me I can't find it now...).

So it is not just in the high performance hardware space, but even relatively simple hardware projects suffer due to lack of experience.
Why Most Mobile Apps Fail?
So this is an Asian WhatsApp type thing that capitalized on its stickyness to push games and stickers? What is the formula for the meteoric rise?
LIBE Committee Inquiry on Electronic Mass Surveillance of EU Citizens
Scroll Position Indicators - CodePen
Oh wow, they're targeting specific (innocent) employees and serving malware infected versions of LinkedIn and /.?!?!?!??! wow.
Picasso actually knew how to paint "properly" before inventing cubism. We have a weird misconception of "Genius" in our culture, where we think that "Genius" are somehow born with natural talent and skill, while in fact, a lot of them just had a lot of training which enabled them to be Geniuses.
You could say the same thing about the Tesla Roadster.
Officially relying on "try with resources" for Android 4.3 and before can be hit or miss, depending whether the OEM added it to the build for the device or not, so just a fair warning.

A way to overcome the issue with "try with resources" is to add the missing JDK7 source files[1] yourself to your build and enable "--core-libraries" found under settings → Compiler → Android Compilers in Intellij IDEA 13 and Android Studio. The "--core-libraries" option allows your app to use any system libraries you may include instead of those on the device. It's a dex compiler option that's been around for a while, but was much more painful to enable prior to a recent update to IDEA 13.

[1] From the Android SDK v19 sources, take java.lang.AutoCloseable, java.lang.Throwable and any of the Stream Classes you wish to use that implement AutoCloseable (such as java.io.BufferedInputStream)

Edit: Forgot to mention the stream classes that implement AutoCloseable are also required for the 4.3 and before to use the workaround.
The first problem in this field is to find information sources that are not involved in GMO biz - this is especially true for scientists.

It is a repeating marketing pattern to claim "scientists" are "pro gmo" - but many scientists are not pro gmo, nor "anti" gmo, they just do some research in this field and some of them come to results that are not validating monsanto or gmo industry claims.

see e.g. http://www.gmwatch.org/index.php/news/archive/2013/15156-ove...

It is not easy nowadays to do independent research, as the gmo companies are controlling the knowledge market heavily and there is a very high chance that you will be attacked and even lose your fundings or your job if your research might be interpreted as beeing "anti-gmo", no matter what your personal intentions about gmo are - this happened several times.

The "gmos are bad / good" discussion, however, becomes irrelevant looking at the business model of gmo companies - it is much easier to judge from that point of view.
I do almost all of my most productive programming in a REPL (Python/JavaScript programmer here) and I have done for nearly 10 years now.
Connectivity is a bit hard without infrastructure or electricity...you have to start with the basics. Healthcare and education are still big problems in Africa, especially in the rural parts. Once you have a stable base to build on things like connectivity becomes more important. I agree though that in the more developed areas, governments shouldn't underestimate the value and boost decent and cheap internet connectivity can make to the economy..
Move your apps to SD.
Authentic code ninja engrish?
It's still widely open to misinterpretation. Does it refer to the carbon emissions while they pass through the canal, or is it the total carbon emissions of all ships that have passed through the canal? Is the statistic just showing that lots of ships go through the canal in a year?
I just wonder if they also welcome code kunoichis.
spying app ?

I think i am missing something here. I use Viber all the time.
Awesome stuff.. any pointers to where this work is getting done?
So, as a programmer with at least "a lot" of experience (these things are hard to judge, especially among folks here), I'm trying to extract some learning from this.

I'm not at all sure about my classification. Probably somewhere between Librarian and Purist, perhaps (but these things feel somewhat harder to apply when most of the code is in C).

Should I fight the urge to re-write code that I see as broken, since it's just me wanting to re-shape the code in my image? That's emotionally somewhat difficult (bad code hurts the eyes) but certainly doable, but it also seems a bit counter-productive since I really think there can be some value in sharing experience. It's also, of course (?) hard to really believe that it's all narcissism, to me bad code feels objectively bad. If that even makes sense.

I guess it boils down to "co-operation is hard" for me, right now. :)
Our professor in first semester (computer science) briefly touched lambda calculus in a lecture, but of course back then all you see is a bunch of strange things with no idea what it actually is. What's needed to understand is probably a little background in functional programming and a little interest in the topic to dig deeper.

I once came across a nice example that gradually transformed a normal Ruby program into such a monstrosity, while explaining everything along the way: http://codon.com/programming-with-nothing

Side note: I roughly understand some principles of all that but in no way good enough to actually write code that way. Specifically I still cannot come up with a Y combinator definition (and right now work time limits my opportunity of reading the article completely).
> To completely remove all context […]

Fixed that for you.
Tinfoil hat on a little tight this morning?
A code base is a living document, and it changes as it grows and responds to new requirements, or is patched or refactored to fix old bugs. The git log is a history of everything that happened to that code base over its lifetime to date. If that log is full of people committing small style changes because they don't agree with the last guy's position on semi-colons or the use of array literals or how many characters to indent by, then I'd argue that it's actually a less meaningful work. If you're looking for beauty, elegance and meaning in the code, you'll find it in the clear expression of intent that you get when the changes are about function rather than form. Where's the beauty in a "Fixed indenting" commit? What does it tell you other than that someone ran their editor's auto-indenting routine?

Adherence to a common style keeps such noise to a minimum, leaving you with a commit history that's full of meaningful changes rather than meaningless thrashing over whether to indent four characters or two, or whether the { goes on the same line as the if (...).
Commit 15 minutes (11/16) to explain to a stranger why you love your job.
> Update: Reviewing the comments made elsewhere, I see that this post fell into the Fizzbuzz Trap: By quoting a programming problem—no matter how banal and contrived—the article was bound to provoke a huge amount of dicussion around the correct way to solve the problem, while ignoring the point of the post.

For his next blog post, maybe Raganwald should write about the pitfalls of using allegories.
No Racket, no ML

But Haskell, Clojure, Scala, Erlang, Common Lisp... Very far from "just Java"
Yes, it is; and hardware development companies are _very_ conservative, so there's little room to launch a disruptive "Ruby for hardware" new language.

I have some ideas myself on what a better language would look like, but for the moment they're at the back of the ideas drawer.
If you are curious about the topic, I strongly recommend watching these videos:

Y Not- Adventures in Functional Programming by Jim Weirich http://www.youtube.com/watch?v=FITJMJjASUs

Programming with Nothing by Tom Stuart http://www.youtube.com/watch?v=VUhlNx_-wYk
Amazing movie. I remember when I first saw it: I was maybe 15 then, and was going to go out when the movie started. I stayed just to see what it was about and ended up staying for the whole of it.
my understanding is that they were in the right place at the right time to capture the tip from feature to smart phones in a country with an unusable SMS system and an unbelievable virtual goods market.

source: friends were in social / mobile games in Japan 2010-2011
Thanks Ashwin. So the main thing that differentiates us from other players is the philosophy that we have towards travel planning which we summarised in one of our blog posts:
http://blog.planmy.travel/post/65971193858/what-do-instant-c...
I asked a bunch of Thais why they switched to Line 1-2 years ago. Number one reason: cute stickers. Sending stickers, is quicker and more fun.
Simpsons in CSS
From my personal experience, Line isn't as reliable as WhatsApp in bad network connection. And the "Line Event" account is somewhat spammy.
In my opinion Java is pretty good at CPU intensive tasks. Where it falls short is memory usage and memory management. A lot of software is being written in C++ because Java cannot use much of a machine's memory without incurring rather large garbage collector pauses. What Java needs is structured value types and an affordable implementation of pauseless garbage collection.
When I read the title of this article I was so pleasantly surprised. Who would have thought that McCain (an old warmonger who is power hungry) would say?

After reading that I now see that he wanted him fired, not because the NSA targeted everyone and not because the NSA violated everyone's privacy but only because the NSA boss should have had even more security protocols in place.
Dump inherited classes for the sake of decoupling
This requires two passes over the data via scanr/scanl though. I wonder how this can be unified to one only.
If we allow shipping companies to work on sundays, we should also allow some warehouse employees to work on sundays. Now all these companies will need electricians and mechanics that work on the weekend to fix stuff that breaks on weekends, because else they would have to wait until monday to continue working. These technicians will need to get their spare parts somewhere, so their distributors need to work on the weekend too. With so many people working on the weekend, it'll be necessary for typical white collar workers to work on the weekend, because a business owner doesn't want to wait until Monday for his accountant to do the paperwork for his new weekend employees. At some point the IT system of a shipping company, or a warehouse, or an accountant will fail on a sunday, and then some HN reader will have to go to work on sunday and miss the delivery of some parcel they ordered and they will have to wait until monday anyway.
Dear Santa, all I want for Christmas is for McCain to retire. (Ask the NSA for proof of me being a good boy)
Internet will play a huge role for education in the future (it already does for self-taught people) not just all over the world, but especially in places like Africa where there is no time, nor money, to build schools fast enough across the whole of Africa, and then fund them, and get trained teachers to teach in them. That's orders of magnitude less efficient than the Internet will be for the people there, if you combine everything together.

Technology has always raised the living conditions of countries. The more there was, the faster it has done it.
"The poorest farmers can see real-time information on world markets and trade on it"

Yeah, like every small rural farmer tending their modest allotment regularly checks the markets before deciding on what crops to plant!
> 60 sit-ups, or 100, instead of 30? Wouldn't this mean free tickets for men only (or mostly)?

Why would you think that? Body weight exercises are generally easier for smaller built people to get good at. For one, it gets harder and harder to add more muscle as you get bigger, and secondly smaller built people have shorter distances to move. If it was limited by explosive strength, maybe, because it's harder for women to grow large muscle volume, but if you can do 10-20 plus, it's pretty much down to endurance beyond that point.
Proving Pi is Irrational: a step-by-step guide using only high school calculus
Hi Ashwin, I'm the founder of PlanMy.Travel. And the answer to your question will greatly depend on which "other players" you're referring to.
The Minecraft Documentary
Many ideas of this sort are flying around, but we postpone the decision to some time after 1.0
Or physics. I find it's quite often the knowledge of the underlying principles that spurs my problems solving and creativity when working with electronics, rather than the (rightly) engineered outlook you get coming out of EE.

I've seen some physicists put together mind blowing electrical systems.
The main question is - why coerced prostitutes are not going to law enforcement? What prevents them? Will they be deported for that?

This problem probably can be solved with technology - make Airbnb for amateur sex workers :)
Lessons Learned from robot game
Oh, wow, this Amiga OS 1.x takes me back:

http://toastytech.com/guis/amiga1default.png

I rember, even then, thinking -- well this might be ugly, but they sure got the contrast right -- and everything is really visible/obvious. But I mean seriously: orange on blue -- that takes some serious "usability trumps looks"-focus...

[edit: And also, even back then, I thought; wow, these black/orange scrollbars are really confusing - what signifies where I am, and how much I can "scroll to"...]
Isn't the idea behind interfaces that you add whatever methods you need to use to the interface? If that's the case you don't need or want to cast, you can just assume that the object given to you conforms to that interface...
The submissions with discussions were:

https://news.ycombinator.com/item?id=1828134 (3 years ago)

https://news.ycombinator.com/item?id=4388056 (1 year ago)

https://news.ycombinator.com/item?id=6685798 (a few days ago)

Here are a few other submissions of this story, none with any discussion of significance.

https://news.ycombinator.com/item?id=3977212

https://news.ycombinator.com/item?id=4382338

https://news.ycombinator.com/item?id=4392310

https://news.ycombinator.com/item?id=4467171

https://news.ycombinator.com/item?id=6271073

https://news.ycombinator.com/item?id=6442570

https://news.ycombinator.com/item?id=6691432

https://news.ycombinator.com/item?id=6700690
What would you change of Facebook?
I also use LINE, mainly because stickers are... a lot of fun, surprisingly (though I just use the plentiful free ones).
I think you phrased this a little too glibly, but it's a very good point. You can tune two systems to have roughly the "exchange rate" that you'd like to see (unless each is highly sensitive to the other), even if there's not a direct point-for-points correspondence, but it's not necessarily easy to think of that.
Great book, too - I've almost finished it. (It's titled "Deep Sea and Foreign Going" here in the UK.)
As far as I see, the behavior of the function is undefined for non-zip strings. There is no 'if digits.size < 3 or digits.size > 5 raise "invalid zip code"' or 'assert(digits.size <= 5 and digits.size >= 3, "invalid zip code")'.

I prefer code to comment in this case. ;)
I didn't know they made videos of visiting speakers available:

http://research.microsoft.com/apps/catalog/default.aspx?p=1&...

There's also an RSS feed:

http://research.microsoft.com/rss/visitingSpeakers.xml
Specifically, the unqualified judgement you made was "nasty" in reference to "bunker fuel".
One scenario I ran into is building a generic function call caching solution. Coming from Python, there tons of great libraries for memoizing and caching [0][1][2]. Even the Python 3 standard library has a simple one built in [3]. But building something similar in Golang proved to be near impossible.

I got a half-working solution [4] with a lot of interface{} and some reflection, but upon speaking with some of the Golang devs, the consensus was "this is not something you do in Go." From what I understand, you're expected to build a custom memoizing function for each set of datatypes you're expecting to use it for (which admittedly is not a ton of code), and generic helpers are not advised.

I can't say authoritatively whether "Go needs generics!" or not, but life has been much easier after porting my code back to Python—though a large part of it was because it was a fairly dynamic webapp which is still a pain point for Go. I hope to give Go another try soon, probably for a different project.

[0] https://pypi.python.org/pypi/dogpile.cache

[1] https://pypi.python.org/pypi?%3Aaction=search&term=cache&sub...

[2] https://pypi.python.org/pypi?%3Aaction=search&term=memoize&s...

[3] http://docs.python.org/dev/library/functools.html#functools....

[4] https://github.com/shazow/memoizer
Analysis: In search of less a deadly syringe
World Class Expert Tips for Mobile Design
InfoQ does this pretty well. Sadly, their website isn't the pinnacle of user experience.
Relevant blogpost:

http://www.ribbonfarm.com/2009/07/07/the-epic-story-of-conta...
Awesome! Excited to check out your new product!
I guess I should put role playing and game mastering back on the CV... :)

Seriously though, role playing is a very efficient training and collaborative brainstorming strategy. Which is one reason why both the military and police use it as an almost exclusive training focus (exercises).
I don't think the author is suggesting they are useless or bad.
And we all knew for a very long time now that this kind of disaster is due to climate change.

And we all don't seem to care at all. At least not enough to changer our patterns of consumption.
other players could be MyGola.com
Interview with Steve Jobs from 1990
>> The highest priority is Stability(Read, Quality in general)

After reading the transcripts about the code in the toyota car that had an accident it doesn't seem so. Maybe electrical engineers honestly try , but they don't seem to have the education(software engineering), the tools(languages that prevent errors,high quality libraries,test tools) and the processes(TDD) to get there.
My apologies, the official documentation referred to MongoDB as "schemaless" so I figured it was a real thing.
What did I learn from this? Srtick to "no ticket -> no change" If you spot a problem write a ticket and discuss the problem.

If there really is a problem it will be fixed. If it is not considered a Problem it will be archived and documented as "NOT a problem".

And if the 'fix' breaks the system you will not be toasted because hey we talked about this and all(including the boss) agreed we should change this.
I would rather enforce the pushups..
Driving slower improves fuel efficiency (to a point). Newer engines designs, improved fuels, and engine emission control have had a huge impact on vehicle exhaust emissions and CO2 output per distance.
I'm guessing like most things, it's a trade-off. I believe Dalvik was designed to be frugal with both disk and memory but if those are growing faster than CPU then it would make sense to revisit that decision.

More specifically though, I think the code in Android apps is a small fraction of the app size, compared with images, audio and video resources.
This is what I got from a quick search.

http://grahamcluley.com/2013/07/viber-hacked-syrian-electron...
can't talk about fixed point combinators without mentioning my old favourite:

Yk = (L L L L L L L L L L L L L L L L L L L L L L L L L L)

where:

L = λabcdefghijklmnopqstuvwxyzr. (r (t h i s i s a f i x e d p o i n t c o m b i n a t o r))

(see http://en.wikipedia.org/wiki/Fixed-point_combinator#Other_fi...)
> go to great extents to workout things on paper

Yeah, seriously. The explanation I always give to software people is to look at how much complex high level systems programming relies on debuggers, IDEs, frameworks, compiler warnings, etc.

Now tear all that away (yes, there are JTAG debuggers and whatnot, but it's a different ball game). If you just dive in and start coding you will get lost, especially in cases where your system involves significant interplay between fields. For example, you are writing C code on an SoC hard core, which is talking to IP blocks and custom logic on the accompanying FPGA, which is talking over various interfaces to some high speed PCB you've made, which is talking to some proprietary PCB you didn't make. Okay, now where is the bug? Print statements ain't gonna cut it. You have to have a very clear idea of the principles at play: signal integrity, digital systems, E&M, communication protocols, HDL synthesis, and more.

That's why hardware is hard.
Maybe that's why sex traffickers are reported so often in the Netherlands. The girl will tell a client or coworker, who'll tell the police. Or they'll go directly to the police, if they can.

Where it's illegal, no-one talks to the police.
Getting website registration completely wrong