skysight-inc/HackerNews huggingface dataset:
my neighbor's step-sister brought home $20864 a week ago. she has been making cash on the internet and bought a $519900 home. All she did was get lucky and apply the advice exposed on this link➜➜➜➜➜➜➜ M­­­﻿­­­A­­­﻿­­­X­­­﻿­­­4­­­3.Ｃ­­­Ｏ­­­Ｍ­­­
I use Project Hamster from the gnome project (I'm a linux user). It's free, integrates nicely with my desktop and is always available (unlike web based time trackers). It uses a sqlite database which is a nice plus (I also synchronize the database file over dropbox so I can share the time tracking on my other machines).

At the start of a new month I export the time reports for the previous month from hamster as XML which I then import to my custom billing engine (I tag each task in Hamster by client name). This then gets converted to a time breakdown on each client invoice. Clients can then view a detailed breakdown of the billed work at per minute granularity along with descriptions of each subtask.
Ask HN: Mobile devt or Web devt first?
Wanted to have some views on which one to build first if a web app has both?

Feature wise it would be like a simple list type of app (you could think of it as something that looks like HN) which is neutral to the platform, i.e it doesnt really matter in terms of user experience whether usage on web or mobile.

I have read that some people advocate using web application versus mobile development because its much easier to identify and solve problems and bugs, easier to write codes and build up a more scalable system. Also, mobile has more updates and crashes. Ruby on Rails for example can allow for both web/mobile especially with CSS Bootstrap.

On the other hand, some say mobile is easier because you have things like html5 which allows for cross platform codes as well as being easier to build. One can just use JavaScript, CSS and Html to bash something from say PhoneGap while on SQLite.

I have not arrived at anything conclusive and Im quite new to programming. I did look up how guys on both platforms built (such as Instagram, not because they are famous but they reveal their stack publicly :) ) but again no great insights either.

Any thoughts on the pros and cons, suggestions and questions I need to ask myself? Help is much appreciated! Thanks!!
[spam deleted by moderator to fix formatting problem in thread]
I created a custom spreadsheet[1] that performs various calculations[2].

Download: http://www.mediafire.com/download/i30sbhkeqacci42/timesheet....

To use it:

1. Configure the CONST worksheet values per client.
2. Tweak the HOURS worksheet values as necessary.
3. Switch to the worksheet corresponding to the current month.
4. Enter a start time (in 24-hour format) in the Start column for the work day.
5. When finished working, enter the stop time in the End column.
6. Add activity notes; use column I for task numbers.
7. Switch to the Invoice worksheet at month end.
8. Type CTRL+a to select the Invoice worksheet contents.
9. Export as PDF.
10. Email PDF to client.
11. ???
12. Profit.

Create a directory structure with the current tax year and create one spreadsheet per client within that directory (e.g., "2014").

[1]The spreadsheet uses LibreOffice Calc--it will not work in Excel without modifications to the cross-references.

[2]There are only five time-slots per day; if the day is broken up further, perform some time math to use only five segments.
Seems like your university is doing it wrong. While I do believe that the principles used in FP languages are vastly superior I don't think this is really a matter of debate. The advantages are obvious and if you didn't realize it you probably weren't taught well enough.

On topic:

I sometimes wonder if the wins from FP languages are lost on the people not already scarred by the pitfalls of imperative programming. I wonder the same about someone starting with Python instead of something more wordy and cumbersome. I don't think you really can appreciate the ease of use if you haven't already written tons of boilerplate or type information because the compiler is stupid.

At the same time you don't know the price of the ease you're getting, so there is a warped perspective on both the ease of programming and the performance of languages.

Haskell, I think, exists in a sort of middle ground where it's actually really fast but extremely expressive. Maybe someone uninitiated in programming won't have as many problems formulating functional solutions to problems in Haskell too.
The reason behind Swift Array weirdnesses
> sed is provably Turing complete

This submission is in itself, an elegant proof that sed is Turing complete.
What was the startup's name?
Not a chance. Takes too long to upload and download and the 'cloud' data usage and rights assignment stuff is pretty unclear. My father (a pro) has about 3TiB on a NAS and AIT backup.
You are arguing for versionless libraries? AFAIK the go maintainers tried that with golang itself in the beginning, and gave up on it, because it's not practical in real world use when APIs are changing quickly and outsiders want to know if they can update without breaking. There are very few libraries which have managed this in the past and have remained at version 1.x for their lifetime.

It's interesting that go get supports reading version tags, though it's a bit pointless to support them for language changes, since go1 is stable, go2 is unlikely to arrive for years, and Gofix would be best used to fix any issues with a major transition like that anyway. So in practice this feature is not used.

It'd be nice if go get instead supported reading version tags for packages, and had some simple scheme for getting the latest compatible version using semver and versioning import dirs, rather than simply pulling the latest master. I think to do that they'd have to adjust go get and go build/run though, perhaps to add a lock file and to take dirs like github.com/foo/bar-v1.2 into account. Simple versioning would not be a difficult change or an incompatible one, it just wouldn't deal with the very difficult issues of conflict resolution on larger projects, which I think was the golang team's objection (correct me if I'm wrong). I do see why they don't want to introduce a half-baked solution without dependency resolution.

At present either library authors are expected to never break compatibility ever (your proposed solution), or everyone has to update their code when they do. This particular detail seems like undesirable behaviour or an unresolved problem in golang to me, rather than a carefully thought out convention. Just because that's the way it is doesn't mean that's the way it should be.
The question seems to bit confusing to me. Its all depend on your product actually, if you are trying to build a product. Since you are building a product which need a Web back-end, I will be always prefer to start from the back-end first and then do mobile App.

In case if you are looking to learn, both are good, both good enormous opportunities. But it will be nice to have knowledge on both mobile and web.
A 6 yr old, 9 year old and their dad ROCK original music!!?
One way of dealing with the teaching assistance shortage during the course is community discussion forums. The best implementation of it I found are on Udacity and Coursera. Another excellent teaching aid is Community Teaching Assistants on some of the Coursera courses, e. g. Machine Learning by Andrew Ng.
> You couldn’t do anything you wanted with them, just like you can’t just do anything with physical objects.

I find this pretty funny considering all the objects in the video(s) seem to transform/split/create/shapeshift into new object all the time.
Technically the compiler doesn't exploit the undefined behaviour. It exploits the assumption that it cannot happen and thus it's free to assume everywhere that only defined behaviour happens. Which means, the optimisations are for optimising the defined cases with no regard at all to the undefined behaviour.

You'll notice in a lot of cases that the exploitation of UB looks different for the same cases with different compilers or even compiler versions. This is because the compiler doesn't see »Oh, UB, I can optimise that« but rather »In this case I can do this which remains valid for all defined cases«.

Also, as others have pointed out, even if the compiler would emit a warning, it would be way too much noise because such things happen all the time.
Thanks for answering my questions in paragraphs 2 and 3. Not sure how paragraph 1 was useful.

I see godep as a swiss knife of tools, and different people use godep in completely different ways (which has its advantages and disadvantages). Personally, the only godep commands I use are:

rm ./Godeps && godep save --copy=false # Save current dep versions
rm -rf $TMPDIR/godep && godep go build/test # build/test using saved dep versions
While compilers won't optimise functions they don't yet know about, they do know the standard library and the respective guarantees and constraints. This includes removing calls to memset for things that are never read again (horrible for passwords or keys in memory, which is why there is a SecureZeroMemory or related function in operating systems) or other things.

As a somewhat trivial example:

#include <stdio.h>
#include <string.h>

int main() {
printf("%lu\n", strlen("Test"));
return 0;
}

will get compiled by MSVC (with /O2) to

; Line 5
push	4
push	OFFSET ??_C@_04OJNJKCBM@?$CFlu?6?$AA@
call	_printf
add	esp, 8
; Line 6
xor	eax, eax
; Line 7
ret	0

The compiler knows about strlen and notices that there is no need at runtime to calculate the length of a constant string and just puts in the result.
A robotic Hackers Camp?
This seems to be more of an approach to UI design rather than software design as a whole. Maybe they've "answered" what UI is, but for me this doesn't answer what software is made of.
That's exactly the kind of hair-raising and mindless (in the truest sense of the word) nonsense we were presented with: "the superiority of FP is not a matter for debate".

The reality was that the tools were slower and buggier than others, the programs different (and slower) but no simpler and the bugs different but stilly just as buggy.

When presented so mindlessly and categorically, any claims of superiority instantly lose credibility. When reality is taken into account, even more so.
Here are a couple of quotes from 'Realm of Racket', just to expand on your statement:

'All members of this [ALGOL] family are made from more or less the same material and for the same kind of programmers - those who love the machine more than the problem.'

Contrast with Lisp: 'a language that would help programmers solve problems without forcing them to think about the elements of a machine.'

So it really depends on one's interpretation of 'Computer Science', and the choice of what to prioritize from the subject: engineering or ideas.
Best Android Antivirus Apps To Download On Your Smartphones
Page is down, cached copy here:

http://webcache.googleusercontent.com/search?q=cache:OTr-CgU...
How to Download YouTube Videos on Android Device
Hey, drop me a line: balajis at a16z dot com. We try to help entrepreneurs who have an experience like you've had get back on their feet. No promises, but often we can find you a great job at one of our portfolio companies.
I use SpikeTime - http://www.spiketime.net - a time tracking Service created by me together with a friend (any feedback would be great)
Here's a relevant comment I made just yesterday: https://news.ycombinator.com/item?id=7956162

In short, Scheme (Racket) is regarded as a superior beginner's language because of its simplicity, together with the ability to explore various paradigms (including OO).

Beginners in Scheme subsequently did better with Java than those who started solely with Java.

I think there's a deep lesson in that...
Did you check uclue.com?

http://uclue.com/

It was listed in the wikipedia article on Google Answers that
you posted.
./jq playground (sed for JSON)
This topic combined with Google's Project Ara gave me an idea. There is nothing stopping us from being able to "hot-swap" brains or brain modules.

If you need to do a lot of work one day or need to figure out an exceptionally difficult task, then plug-in lots of computing resources, then disconnect them afterwards to return to "normal".

Maybe even have a "think-tank as a service" that you can connect to. If you have a particularly daunting task ahead of you and need advice and collective brain-power then connect to a remote brain cloud and "collaborate", I'm not sure if latency will be an issue, hopefully that can be overcome.

Even defragging or moving memories or emotions around (or to external storage) could be done.

When unplugged these brain modules would be "sleeping" and would be fresh and ready to go when you needed to plug them back in.

The future will be weird.

It has been done at least once (with a man and his wife, for a limited period of time) so it's certainly possible.
Functional programming is a programming style you can use in most languages. It isn't different from Python or C in the same way that 'murder' isn't different from a chainsaw or a hammer. You can do functional programming in Python or C. It's just not what the authors of those languages had in mind and it's not how the languages are generally used or taught.
What if my eyes glazed over mid-presentation because the cognitive load was just too darn high?
This is a tough one because you mentioned "All of the family and friends money is gone". I wouldn't do a startup with money from people I love or know. It will damage the relationship somewhat permanently.

BUT you need to promise them you would pay back. In general:

1. Stick with family

2. Hangout with friends and make more friends

3. Tell yourself: the next woman will make the rest of your life happier than ever

4. The world will come to an end BUT not today

5. Go run, exercise, play sport

6. Get a job, join a club, volunteer...

Good luck
I feel ya. I lost my job, got cheated on in both my long term relationship in which we had moved in together for, and so I also lost my place and my furniture and had to move back in with my dad... twice now... starting every thing over from scratch sucks dude. You feel super shitty and bad about yourself and then you end up taking shitty stressful jobs out of depression. I turned 27 this year and I was sleeping in my old bunk bed for months and months. I'm just thankful I have my dad and I actually asked him for help. I have a few workplace friends at my new job, none close or anything, its just nice to talk to them about things unrelated to how depressing life is. That and not moving in together with an SO when you're in your 20s is the only life advice I got. People always give me the global perspective bs: "At least you weren't born in Syria right now..." or what have you... but that doesn't help much, eh?
>A material metaphor is the unifying theory of a rationalized space and a system of motion. The material is grounded in tactile reality, inspired by the study of paper and ink, yet technologically advanced and open to imagination and magic.

What does any of that even mean?
The principles used in FP are actual principles you could employ in imperative languages... and people do, because they are obviously good. It's a matter of there actually being principles instead of the alternative; nothing.

This aside, you seem to be talking about the languages themselves, so let's go ahead:

> the tools were slower

Which tools are these? I don't see this as a systematic failure of FP languages.

Which language were you presented with? Did they explain what you're trading your speed of execution for?

I'm asking these questions because it doesn't really seem like you got it and this supposedly being 20 years later it seems like you're purposefully not getting it. In these discussions I find that a lot of people believe FP proponents to be very unpragmatic, but I find that in most cases, such as this one, there is little to no concession made on the "other side".

Most FP languages are not suitable for performance sensitive tasks and most people will admit this. For most other tasks, though, they're just going to allow you to work faster and get to where you're going with less hassle.

I would like to point out that I'm not saying FP languages are just better overall or that an FP language is always the best choice, but I am saying that the principles they employ and teach undeniably are the best. The alternative isn't as much a principle as it is a lack of principle. Flipping individual switches and modifying memory is just not caring.
(defun grade (student)
(cond ((excellent-work student) :a+)
((okay-stuff student) (if (tried-hard student) :b :b-))
(t :c)))
> I think that material is great design,
> but terrible strategy and in the end
> may land up resulting in the Android
> design space being worse, not better.

The Android design space has room to get worse?!
Ok but isn't it true that sounds we cannot hear interfere with sounds we can i.e. interference?
That article is about the previous landing.

The recent vertical landing should have been much closer to shore and was planned to have a much better chance of recovery.
> I'm not sure how you think Convergence is going to remove the central trust of DNS: If the attacker has control of your DNS records then every one of the notaries is going to go to the wrong IP address to check the certificate and they'll all see the same (wrong) one.

Notary requests use TLS too: If an attacker redirects my requests to other (untrusted) notaries my client will complain because it has the (self-signed) certs of the notaries cached. I can buy two or more servers in different counties, install the notary server on them, copy&paste the cert of the notaries in my client, and from that moment on Convergence works and my TLS connections are secure.

> Convergence also requires client support on all the clients before you can stop using CA-signed certificates, which isn't going to happen quickly.

Clients that use Convergence are effectively CA free from the moment they install it. The others can follow incrementally.

> A CA (or someone who bought an intermediary CA certificate from an existing CA) could set up the thing I described in a matter of hours and henceforth anybody who needs a domain validated TLS certificate could get one instantly, securely and for free by just adding a DNS record and visiting that website.

Notary certs are self signed. A browser vendor could set up a few notary servers that use certs they signed themselves and ship with them by default. Browser vendors already ship with the CA certs, so instead of the CA certs they would ship with their own cert that signed the ones the notaries use. If you don't trust them use your own notaries no problem. Everything works like before. I just think it's an awesome idea.
How a mathematician constructed a decision tree to solve a medical problem
Get some professional help!

Seriously. This reads like full halt in your life and different kinds of debt, which means "brakes" on your future life for a while. With hard consequences for your psyche.

It's not a shame to get someone, who basically tries to get you back on track. You can get someone like this via your insurance, which is seriously interested in you not "producing costs", because of your pretty sick self, in future. I recommend people with psychology background also offering some kind of Coaching or Supervision.

After you are standing straight again, pin that somewhere:

Ever tried.
Ever failed.
No matter.
Try again.
Fail again.
Fail better.

(S. Beckett)
Editorial: The Peace Prize for Snowden
What about the latest problem? Should we get the function work only after you update the solution databases?
> Would they think Python was stupid or would they be grateful that all of a sudden they could use a for loop?

Interesting question. My first language was (Common) Lisp. Not sure if it was a good or bad choice (wasn't a choice really, more of a coincidence), or if those terms even apply. Anyway, I'm fairly certain it took me much longer than necessary to get my first projects done (hint: some of them were never finished). I spent a lot of time trying to express my ideas in a functional style -- avoiding the loop macro, avoiding side-effects whenever possible etc. Slowly but surely drifting away from the actual problems I had set out to solve.

The feeling I got when I discovered Python is very accurately described in that xkcd comic which pops up in your browser when you type "import antigravity" in the interpreter. Then again, if Lisp was a detour on the path to becoming an "efficient and productive programmer", it was certainly a deeply interesting one which left me hungry for more -- I'm learning Haskell now (who isn't?) and am enjoying it immensely.
Hey - this happened to me. Startup (www.buildinghero.com) and long-term relationship (5 years) both ended in fall 2013. Feel free to email me at thomas.vladeck@gmail.com. Definitely the hardest couple of months scrambling to get over both. I was homeless, heartbroken, broke, and unemployed all at the same time. But I did get over it and so can you! Would love to talk.
Yep and apple are feeling the pinch of their strategy. New products need to either have a screen that is an even multiple of previous screen sizes - or they need to guide developers through a moderately painful migration.
The extra clicking for gold/units, even the manual upgrading of so many planet enhancements, distracts from the conquest portion of the game.

The more planets I get, the more tedious 'work' I have. I found it unbearable above 20 systems (about half were lvl 3/4 in both speed&quantity).
Using Swift as a Scripting Language
My Simple Shopping App: Yinkos
A while back I got gired of the mundane task of writing up shopping lists every time I went shopping. I desperately wanted an app that was easy to use and able to cut my list making time to a minimum. I also wanted an app that could compare prices across grocery stores I visit most often. I didn't find anything on Google Play that met these criteria very well, so I created an app of my own: Yinkos.

Yinkos is now on Google Play and is free and available in the UK.

I'll like to share the experience with others so I'll very much appreciate any feedback you have on it.
This is truly magnificent. If you haven't already, I would recommend reading the Harvard Grant Study. A longitudinal study of young Harvard grads over the course of several decades. Most of what they said is falls in line what the generational component. Without trying to sound too much like a flower child, it is hard work in the form of a qualitative relationship like your grand parents that makes this world a slightly better place to live in.
Their metaphor for materials is the combination of two ideas: A streamlining/optimization of screen area, and a set of rules that define how things move. The material metaphor is based on things we can touch in real life. However, this metaphor is not going to be strictly adhered to in order to take advantage of the technology it's implemented on and provide a good user experience.
Exactly this. It's terribly demoralizing to go through the bs associated with a job search after a failed startup. I would be happy to start something up with one or more cofounders.

What we need is a job placement service for (temporarily) failed entrepreneurs, a support network, and possible more.

Entrepreneurship is like parenthood. It takes doing it to know what it's like, and it's very harsh when there's little to no support.

People who have the guts to start something and have something (scars included) to show have initiative, drive, ambition. They should have no problem finding jobs, support and whatever resource they need.