skysight-inc/HackerNews huggingface dataset:
In the process of debugging it I noticed that you're compiling but not linking in c99 mode. When I fix that the problem seems to go away:

$ git diff
diff --git a/Makefile b/Makefile
index 1263dd8..6592c59 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,16 @@
CC = gcc #/usr/local/bin/gcc-4.2
PREFIX = /usr/local
NDEBUG ?=
-CFLAGS = -c -std=c99 -Wall -Werror -Wno-unused-variable -Wno-format-security -O3 -static $(NDEBUG)
+CFLAGS = -std=c99 -Wall -Werror -Wno-unused-variable -Wno-format-security -O3 -static $(NDEBUG)
SRCS = src/carp_instructions.c src/carp_lexer.c src/carp_machine.c src/carp_tokenizer.c src/lib/carp_stack.c src/lib/carp_ht.c
#$(wildcard src/*.c src/lib/*.c)
OBJS = *.o
PROG = carp.out

all:
- $(CC) $(CFLAGS) $(SRCS)
+ $(CC) -c $(CFLAGS) $(SRCS)
ar cr libcarp.a $(OBJS)
- $(CC) src/carp.c libcarp.a -o $(PROG)
+ $(CC) $(CFLAGS) src/carp.c libcarp.a -o $(PROG)

#.PHONY: tests

Still, I'm concerned that you might be triggering some sort of undefined behavior, which means it might work for you but not on a slightly different machine or compiler version. I tried printing out token lexemes in carp_run_program, right after the call to tokenize(), and some of the tokens printed binary garbage, suggesting that they might be missing a terminating null, or worse. Does this look right?

$ git diff
...
diff --git a/src/carp.c b/src/carp.c
index 9268d98..19e16d9 100644
--- a/src/carp.c
+++ b/src/carp.c
@@ -88,6 +88,8 @@ void carp_print_conditions () {

void carp_run_program (char *fn) {
carp_tok *tokens = carp_lex_tokenize(fn);
+ for (carp_tok* tt = tokens; tt; tt=tt->next)
+ printf("%s %d\n", tt->lexeme, tt->type);
if (tokens == NULL) {
fprintf(stderr, "Something went wrong with tokenization.\n");
exit(1);

$ make && ./carp.out -f ./examples/carp/call.carp
gcc -c -std=c99 -Wall -Werror -Wno-unused-variable -Wno-format-security -O3 -static src/carp_instructions.c src/carp_lexer.c src/carp_machine.c src/carp_tokenizer.c src/lib/carp_stack.c src/lib/carp_ht.c
ar cr libcarp.a *.o
gcc -std=c99 -Wall -Werror -Wno-unused-variable -Wno-format-security -O3 -static src/carp.c libcarp.a -o carp.out
add 3
gload 6
-5l 1
gload 6
-4l 1
add 6
ret 6
main 3
push 6
7�l 1
push 6
9�l 1
call 6
add 4
2 1
ptop 6
halt 6
0 1
16

The trouble with C/C++ is that it's so easy to end up with undefined behavior :/
So I started off following this (http://en.wikibooks.org/wiki/Creating_a_Virtual_Machine/Regi...) which was interesting but clearly never super influential in my design (except in earlier stages, but that died).

Then I read this: http://stackoverflow.com/questions/2034422/tutorial-resource...

and this: http://courses.cms.caltech.edu/cs11/material/c/mike/lab8/lab...

and took a look at the MSP430's instruction set.

As far as where they can be used... anywhere? I don't know the answer to your question - sorry :)
That's nice to hear, I've always wondered about that. I grew up in a small town where every business for young people to hang out would fail. It was partially because we didn't have much money to spend, but I realized later in life that we didn't feel any responsibility for supporting the businesses in return. It's not that we were selfish necessarily, we just didn't understand how things work. Then when a business would shut down we would all complain about how we had nowhere to go, but failed to consider the fact that we had utilized the place to the fullest extent without making many financial purchases. As I recall this happened with an arcade, a couple of coffee shops, a skating rink and various other businesses.

Now that I'm older I do see a lot more clearly that when you find a business that you like, you should make a point to support them and help them to stick around.
Honestly, are people worried about waiting for 6 confirmations for paying for a cup of coffee? In my experience once a transaction has hit the network, and nodes are passing it around, that's good enough for me. I wouldn't be worried about the person standing in front of me doing a double spend...
The criminal organizing the "drug fund" ended up being arrested: http://krebsonsecurity.com/2014/06/the-fly-has-been-swatted/

Truly an example of exceptional journalism.
Ask HN: How to monetize from my PHP side projects?
Hello HN,

As a developer, I have a few PHP side projects:

1. PHPippo, which I recently released on GitHub, is a PHP preprocessor and a PHP source micro-optimizer (the only free one I know of). PHPippo will soon gain version targeting, allowing users, say, to develop on latest PHP and deploy on PHP 5.2, with PHPippo altering/stripping away incompatible code.

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

2. a PHP anti-badbot class, which will block traffic from most scrapers, harvesters, etc., ensuring crawlers abide by your robots.txt policies, exploiting a number of culprits to discern legitimate users and crawlers from bad ones, taking action by logging, forbidding requests, or even banning originating IP(s). (IPv6 compatible).

3. a (multi-platform) PHP+MySQL customizable desktop activity monitor which monitors time spent within each application, possibly identifying the single files being edited, URLs visited, and automatically taking snapshots of unidentified windows. By saving data to a database, it enables tracking habits and usage patterns. I envisioned this tool for personal use; however, it could be deployed to monitor employees in a centralized manner, though this might be illegal in many countries.

4. (perhaps too complex) a PHP opaque data storage layer for sessions/user data on top of a database; designed to only make user data available to legitimate owners, which share them (or part) (via public/private key encryption) with authorized personnel only. Think of it as a database layer which, in case of breach, still protects your data, emails, credit card numbers, etc. from harvesting, while still allowing users to register, validate their email addresses, forget their passwords, and do whatever required with their user accounts (via a set of API).

So, which project(s) would you prioritize? What should I do next? I would even be willing to sell them.
That's the problem with microbenchmarks, ensuring they're measuring what you think they're measuring.
I don't think this is necessarily the PDF you were looking for, but the Paul Buchheit guide to Founder's Equity is a pretty great place to start:
http://paulbuchheit.blogspot.co.uk/2007/03/equity-math-for-s...
To chime in on what others have already said here as well, despite your own personal feelings on the matter it appears you most certainly can and should be increasing your rates.

One of the main obstacles I think you are likely to face however is that you are working through a middleman here where you are bound by the rates that they are in turn charging their clients.

With that in mind my advice would be to learn some basic sales skills and start working with these clients directly. That will be the single quickest way to increase your rates I would immagine.

Additionally, have you thought about branching out into other things than purely just straight dev work for clients? Is there anything stopping you from going down the path of say selling templates / code on places such as Themeforest or Codecanyon? That can turn into a nice source of recurring revenue for you potentially with minimal ongoing time investment.

The other obvious avenue for someone such as yourself is going through the training path. Putting together a course on any number of topics is potentially extremely lucrative as a number of others here on HN can already tell you.
New Homes in West Ashley, SC
http://purse.io
Android Overtakes iOS in Usage Stats for the First Time Ever
+1 on TransferWise. For other countries I've found Hifx (http://www.hifx.co.uk/) to be fast and not too expensive.
Sounds like the difference between "this never happens" and "no matter how long you search, you won't see this happening".

There is a difference. Honest. I'm not making it up...

Sometimes I wonder.
No problem, it's aharonovich@gmail.com, feel free.
I'm sure you can do it, Anyone that reads HN can do it.
Just to add to this, I think any serious company you'd work with would be shocked by someone wanting to be paid in anything other than a wire transfer (and by "shocked", read "wouldn't be able to do it and wouldn't take you seriously because of it). In my experience, this is how almost all payments are made in the real world.

If you're a professional, use a wire transfer like everybody else.
See the Common Lisp Object System (CLOS) and its Meta-Object Protocol (MOP).
Thanks for all those links!
> SSL Strip still works and banks don't care about anything other than providing the illusion of security and standard SSL.

Speaking as a security officer for a (non-US) bank, this is not true.

We use EV certificates (to increase visibility vs. standard certs), deployed HSTS over a year ago on most of our propierties, force HTTPS and pin keys wherever we can (i.e. mobile apps). And even if a session is compromised: transactions are screened and verified before execution.

Yes, our chief concern remains the bottom line. Pushing for more trust increases our user base. Fighting fraud avoids compensation payments. Building awareness and implementing technical measures aids both of these goals, so we get to spend a reasonable amount on both.
You can see by the replies that they think this sort of thing is unacceptable. It is in a way, but it doesn't stop it being the norm for many, many people growing up. And that's in a developed country. Some kids are growing up in war zones.
Minimizing datapoint lag in Graphite
The point that you miss is that microscopy is still a bottleneck in developing and rural areas. H&E staining is not that hard, but you are right that maintaining reagents and a clean lab is a logistical challenge.

Still, a lot of smart money says the smartphone-pic-to-clinician thing could have a big impact. See Foldscope, for example, which takes this idea to the next level: http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjourna...

By the way, nice to see a Raman shout-out! Here's a slightly newer Raman paper with some nice pictures (compulsory open-access for the win):
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3806096/
Adding new sites should be easier. I get that this is a tradeoff between rapid engagement and trust, but since the project is so new it's vastly more likely that a visitor will want to add something as opposed to successfully looking it up.

Maybe the focus on cities, while great for the lookup scenario, should not play such a big role when adding data points. My suggestion: just open it up, have a form where any member can add a coffee shop, at any location (Google Maps-powered). As site admins you could review the submissions later and sort it out.

For example, I was initially motivated to add some places near me. That's in Germany, so no cities there yet. This means I've got to jump through the hoop of adding a city, at which point any user who was previously excited about adding stuff to the database becomes stranded and loses interest. I would like to add sites in different cities, so technically I would have to open up requests for 3 cities - in a sparsely populated area like Germany that's not feasible. I'm more interested in how far away a location is than what city it is in.

Also, you should make use of the browser Geo API.
I think grandparent meant 2^(2^n), not (2^2)^n.
Saying that a country is a "developing nation" or slamming a culture or talking about lack of eduction or talking about population, these are all the same types of racist things that British colonialists have used to disparage India or other countries for hundreds of years.

Even "developing nation" is a racist term used to cover up extreme inequality to the point of repression where the rich white countries hoard fuel and control and then point at brown people and say they are inferior and just haven't caught up yet. Where the reality is that those countries have advanced civilizations going back thousands of years and just aren't being allowed their fair share of the resources and so cannot "develop" every part of their country.

Or more generally, not even specifically British people or white people or any group, this is on a spectrum with classism. And its the same issue -- unfair distribution of resources is excused by pointing at the resulting situation and implying that the people have inferior qualities that cause the situation.
that's not correct.

Chrome will show the truly rendered font from your system - the full name, even (i.e. Verdana Italic).

I've taken a quick screen capture, where I've followed your steps by requesting a non-existent font and causing Chrome to fall back:

http://i.imgur.com/C6IJyF6.png

FYI, I'm using Chrome on OS X..

Version 38.0.2107.3 dev (64-bit)
Actually I can't link with the same CFLAGS; I get an error about missing lcrt0.o or something of the sort.

Also, yeah your code looks fine; I added it in and it worked fine. That's unfortunate. I'll debug soon.
The perks of being 'somebody' online
I like Paypal and have processed somewhere north of $100k through it. That said:

1) Paypal's fraud algorithms are tuned by having lots and lots of comparatively small transactions at comparative high frequency rather than few comparatively high transactions at comparatively low frequency. My account looks very unrisky because it accumulated $100k in $25 chunks over years. I think Paypal would quite possibly need to enquire if I got $25k in a $25k chunk once. Unfortunately, "First-time interaction between US-based Paypal account and foreign-based low-history Paypal account is a huge transfer" will quite possibly set alarm bells ringing in their fraud department, and you might find your money tied up for a while as you try to demonstrate that you're not a criminal enterprise. (Many HNers will accuse Paypal of trying to steal the money and, on this issue, many HNers are fools, but there is a very real risk of you having to deal with complications that you don't need.)

2) Your best customers can't pay with Paypal. I'm not exaggerating: they can't pay with Paypal. There is literally no button at their company which pays you with Paypal. They have an entire department of people who are capable of moving PDFed invoices into an accounting system and clicking a button which generates a check or an ACH payment, but there is no button to click which says "Transfer $25k to our Paypal account then send it to 'tbarbugli."
The question is though, where would he be working today? Government Sciences or Google/Tesla, et. al.?
I've had this kind of thing happen when I try to use dependent types in Scala. E.g. if you want to select a HList sublist out of another HList (using the types) then that's quadratic, because just figuring out that a HList contains a particular type takes linear time.

(The idea was to do DI using HLists, to get something like Spring but that worked at compile time. It worked, but as the program got larger the compile times became too long for it to be practical)
How does it differ from Retroshare? http://retroshare.sourceforge.net/
I find my workplace distracting enough when trying to concentrate (thank god for August, most people go away for a month where I am).

Do people actually find it productive to work in a coffee shop? There will be even more distractions and noise than my office.
No, it is not expected. The part of brain responsible for reading can develop any time between 4 and 7 years old. Most are there by 6 and plenty of 5 years old are not there yet.

By the time they are 8, there is no difference between former early readers and other kids, so there is no reason to worry about it.
Or perhaps...

Obama: 10 of your SREs to help us fix a production system we can't understand.
Larry: ... you'll only need 1.
Holy shit, after seeing these comments I'm never buying synology
How Will the Internet of Things Evolve in the Next 100 Years?
Gwan – a fast 150kb web server supporting 14 scripting languages
How much do you pay typically?
Absolutely correct with regards to "clients will neither comply with nor be impressed by requests to pay in any manner they're not used to paying by", but I think that wire transfers are actually fairly exotic by US standards. They typically expect to pay with checks or ACH payments. (More often checks, in my experience. Source: I've cashed hundreds of thousands of dollars of them, and every time it happens I worry that this is finally the time that I'll be shot for robbing the bank.)
Charge more. Seriously. Wire transfer fees come out in the wash if you charge appropriate amounts for engineering services. I don't love spending ~$1k on them a year either but the business clearly supports them just like it supports the ~10 things that are more expensive than that.
"certain treatments based on costs"

I think here in the UK it's slightly more accurate to say that the NHS limits treatments on a balance of costs and expected benefits.
What machine/os are you on?

(Perhaps we should take this offline. My email is in my profile.)
I'm based in the UK, with some clients in the US and EU. I always offer direct bank transfer (to UK bank account), credit card and PayPal as payment options.

In the UK/EU everything is a direct bank transfer.

From the US — despite offering the wire transfer details — the majority of payments I've received are CC, PayPal and (ugh) cheque. Apparently it causes them less hassle that arranging a wire transfer with their accounts department. As ever YMMV.
Try Jappix mini (https://mini.jappix.com/). Uses XMPP instead of reinventing the wheel once again.

Also, if you need a generic chat, try Candy (https://candy-chat.github.io/candy/). Again, XMPP-based.
> Original research & discovery, that is not of mere academic interest [...]

Lots of major therapies are discovered on the publicly funded research side. Don't conflate that sector of research with "mere academic interest", scientists on the public side are frequently even more motivated to find practical therapies.
What about Bristol, UK? Anyone has got any recommendations?
1Work, the Latvian e-secretary brought to you by Draugiem
Le-Tunisien : live streaming movies and series and arab tv
Depends on the work I'm doing. It helps for creative work, but it's more challenging to do basic admin.

Also, the distractions in an office are difficult to block because they all seem relevant to me, which puts me in a constant state of being alert to them. In a coffee shop, I know that the noise is completely irrelevant to me, so it just moves into the background.
Well this went better than I expected :)
EDIT: context- I'm the one that made the wrapper for clarifai's API, loved the service since I heard of it, great to see people appreciate (from the number of API calls you guys have made so far) both the service and the small wrapper to the API!
Good job man, code looks tight, wish I had some more time to jump on this. Keep it up.

EDIT: Btw, do you happen to have a book or some study material on this subject ? Anything you can recommend ?
"they send you the key"

If they send the key. If I was a criminal, I would minimise contact with the victims.
It seem to me a web app like this enables a re-think of the file and sheets organizational structure, which is really a compromise due to the limitations of a local file based application. It's simulating being able to link different spreadsheets together by putting them all in the same file.

For a web app, linking to other independent sheets should be the way to go. You'd need a convenient way to define links to other sheets (perhaps defining an alias for links to the other sheet), browse linked sheets and open them in another browser tab. Browsers already have multiple tabs, so there's no need to have a tab based structure for this inside a browser tab.

Just throwing it out there, I've not thought the consequences through really, but it seems a shame to just blindly recreate a file based metaphor.
> so that they'll have money to produce new drugs.

That argument would be a whole lot more convincing if they didn't spend vastly more money on marketing than on R&D...
I'm not sure how useful this would be. Do people willfully drive from work to a coffee shop in order to get work done, and not simply walk to their favorite coffee shop within walking distance? It seems like distance is more the contributing feature than anything else.
In my experience as a UK citizen, is that the bar for sorting out a US bank account for a non-US citizen running a non-US registered company is non-trivial. Especially if you're not physically in the US. It's a process that can take several months of tedious running around with forms and no guarantees of a result at the end of it. If others experiences have been different and easy — I'd love the details ;-)

I've also found that US companies expect US bank accounts to be associated with US companies/individuals, so their standard forms are also setup that way to expect SSNs, etc.

For me, running a non-US business, international bank transfers, credit card payments (I've been… surprised… how large some CC payments have been) and PayPal (very much not ideal I agree) have been much simpler.
$2 / month VPN service in a Chrome Extension using Google's SPDY SSL
[Just Launched] 5 Days to Your MVP – Free Crash Course
What, no one saying bitcoin? :)
I found that (in some browsers - not all) that calling `toString()` on the function that has been attached (which you can get by poking around in the jQuery cache) returns the raw, formatted, function - with comments, etc. You can then do a simple `indexOf()` on the `textContent` of the `<script>` tag (for loaded scripts I do an Ajax get to pull in the text of the script, which isn't perfect since remote domains fail, but its a start).

My Visual Event tool makes use of that:

* https://sprymedia.co.uk/article/Visual+Event+2
* https://github.com/DataTables/VisualEvent

The end result is that, when possible (Safari and Chrome) the script will tell you where the event listener was bound.

I haven't looked into it, but I presume the Firefox dev tools are using information directly from the DOM, since they have access to that. But there is no public interface in DOM to get the event listeners for a node, which I cursed at the time, but in retrospect it makes the above possible.
>>Plus, there is no country in a world where law practice does not require years of study.

No, but there are many countries where getting a law degree(or any degree for that matter) doesn't cost you a dime, where you get out of uni with zero debt, not crippling few hundred thousand dollars to pay off.
> These drugs are a bargain

Not when you learn that the company that actually created it planned to put the price 2 times lower before being bought out.
The Oxford Nanopore Minion is "usb scale": https://www.nanoporetech.com/technology/the-minion-device-a-...

Not quite built in a weekend, but certainly within the realm of possibility.
Yep, development manager / development project manager is actually an odd half way house. It's still basically a delivery role, working closely with developers and the product, but it's the last time that's really true. Beyond that when you start managing managers, things start becoming somewhat more abstract and that's where things really change.
I gather that historically at least they almost always send the key. At the end of the day they're a business like any other and a few bad reviews will kill their revenue stream. However if they are known to offer fast replies and support, it's a lot easier to convince people to pay up.
If you're seeing ANY YouTube ads something's wrong. Report it on ABP's forum or issue tracker:
https://adblockplus.org/forum/
https://issues.adblockplus.org/
Worse actually, since at least for Xilinx and Altera the development environment is available for linux.
if you are considering it for any serious use, may be you want to refer previous discussion.

https://news.ycombinator.com/item?id=4109698
Twizz , la boite sans couvercle