skysight-inc/HackerNews huggingface dataset:
I can see the merit in having something that snag's kids' attention. When anyone is intrinsically motivated to understand something, that is the moment when they'll truly look to understand rules and really start learning.

I would have to say that the physical devices thing is perhaps your own projection for being the best way of snagging kids' attention- of course, you do work with robotics and quadcoptors, but for many kids, real games (and that means not Scratch or Logo) are what catches attention.

LightBot's design starts basic. But the puzzles become quite difficult. From what I've seen, kids associate with the character and first become interested due to that connection, and then are later motivated to complete puzzles because each completion actually feels rewarding and something that they truly had to figure out (very few things do that nowadays outside of puzzle games for kids).

So perhaps physical toys are your cup of tea, and they may be for many kids, but just think about how many kids today would rather play Minecraft than play Lego Mindstorms. It's not a physical contraption and can be seen as an educational tool in many regards. I would argue that physical toys aren't always the best motivators for kids in the same way that video games aren't for others.
Similarly, when writing LaTeX documents, manually word wrapping yourself like this is considered best practice. That is, press the return key before your line hits 80 characters so that it fits within a text editor pane.
I am sorry if you are not productive in Eclipse, perhaps compared to other tools. I write software every day, and Eclipse ended allowing me to have the highest productivity of all tools I surveyed in the blog post. I wanted to write a simple robot automation library, and I was struggling at every step with other tools, but with Eclipse I was able to get going very quickly and build, refactor, test my code rapidly. This is what I've been looking for, this is what native Arduino IDE did not provide, and so I wrote a post about it :) Pure and simple.
I used to be able to kill Scala compiler performance with just a a few identifiers. Well, Scala is trying to deal with nominal subtyping, which is well known to be quite hard (so the type inference algorithm isn't really H-M, and must rely on heuristics).
It is entirely possible that simply being unfriendly is a form of incompetence. It can be a pretty good marker for team dysfunction. I've had a few passive-aggressive teammates - I have a low threshold of tolerance for it.

I work neither in SiVa nor the Bay Area ( by choice - no offense, but no thanks), I work in Texas and nobody in the building knows everything needed to do just about any one thing.

Government employment is "risk-aversion first" and there is absolutely nothing wrong with that. Think of the gummint as an insurance company with an army. It'll make more sense. It takes all kinds.
Yes and no to the point on 'guys were cleaning up'.

Yes, such a travesty did and worse in some places exists still. However, when the practice of relieving oneself in an area designated for that purpose outside the village for public in general, there was no one cleaning it up, it was left to nature. Ironicaly, The job of toilet cleaning started to exist only when the toilets moved closer and closer to home.

No, we still do not clean up after us and even today whether we like it or not there are still people in all countries throughout the world who are engaged in the waste disposal industry. Guys who collect garbage at your home every morning, still don't really enjoy it whether they come walking, on tri-cycle or in a ultra modern garbage truck and it is the practice in the best of societies today. Collecting decomposing organic waste of any nature is bad experience for anyone.
Get rid of the TSA? The agency's chief says not so fast
Just for anyone looking for more information: http://en.wikipedia.org/wiki/Instruction_set#Number_of_opera...
Can you give some directions for how to run it?

$ git clone https://github.com/tekknolagi/carp
$ make
$ ./carp
$ ./carp --help # after peeking in carp.c
help msg

There's a tantalizing target called 'tests' in the Makefile, but it doesn't work.

There's some examples, but no makefile to build them. How do you run them?

I see you used to have some .carp files but you just deleted them: https://github.com/tekknolagi/carp/commit/fa16eeb443

I tried restoring one, but it doesn't work:

$ git checkout fa16eeb443~1 examples/reg.carp
$ ./carp -f examples/reg.carp
Unknown label <add>

So at this point I'm ready to give up..
Swift is like Visual Basic
Wow, so this article was impetus enough for me to get key-based SSH working correctly on my Synology.

Of curiousity, I looked in my Synology's GUI for the logs, and find you can export them to CSV (System Logs > Connections).

I have _a lot_ of this sort:

Warning,Connection,2014/08/03 21:10:17,SYSTEM,User [root] from [111.74.239.52] failed to log in via [SSH] due to authorization failure.

Curious how many distinct IPs, cut/grep/sed/sort:

cut -d ' ' -f 5 ~/Downloads/connection.csv | grep -E '[0-9.]+' | sed 's/\[//' | sed 's/\]//' | sort -u | wc

There are 143 distinct IPs, in the 111.x.y.z, 202, 210, 222, etc. ranges:

... cut -d '.' -f -2 | sort -u
111.74
115.230
115.239
...
220.177
222.186
222.187

I punched a few into (http://www.whereisip.net/index.php) and they're mostly in China (except a 23.9... in Rochester, NY). All the successful log-ins are from myself, at least ( grep 'logged in' ...).
Just an observation - seems much cooler nowadays to talk about how you rejected the offer from Google to do XYZ other cool thing, or how you worked there for a bit and then were like, yeah, it's nice being at everyone else's dream company, but I got better things to do.

Interesting how it's become a nice way to humblebrag.
It's rarely a compile-time performance issue because O(2^N) algorithms perform well on modern hardware when N ~= 3. You could nest the `double` example from the article 6 times and it would still only be a 64x slowdown.

Where it does show up, annoyingly, is in error messages. You actually see this all the time with GCC's STL error messages (C++ templates provide a parameterized type system very similar to Haskell or ML, but without the inference, at least until C++11). STL containers are usually parameterized not only over the key and value, but over the comparator and allocator. Nest a couple of them and you suddenly have a type with several dozen variables. GCC expands the whole type out, without typedefs, when printing error messages, which means that you will sometimes get compile errors that are 10 pages long. Clang fixes this by preserving the typedefs, without which you wouldn't want to write such a type. Haskell has the same problem, except worse because it infers types, but GHC has gone to great pains to format error messages so they are at least readable if verbose.
Hi there! Sorry for this. I actually have a help message but for some reason I forgot to commit it. It's coming soon!

You run the examples like so:
carp -f examples/carp/call.carp

You can compile C files that use the Carp API, but I have not written any documentation yet.
That's like asking the turkey when Christmas is supposed to come.
Is there a reason for the combination of register-based (logical ops) and stack-based (arithmetic ops) operations?

Otherwise fun project.
People who reach the highest echelons of government, whether it's research or bureaucracy, don't get there by sitting on their ass and drawing a paycheck. It's a ridiculous fairytale dreamt up by sad little idiots who believe themselves to be special because they're cogs in the wheel of private industry.

None of these bespectacled t-shirt wearing, hoodie-ensconced "whizzes" would have a job or a place in society if it weren't for government employees and the projects they undertook.
Oh that's weird. the carp folder from examples disappeared. Gimme a sec.
I doubt that data would be useful in court without a lot of other supporting evidence. To sue the imbecile who ran you over despite this device, you'd be far better buying an additional actioncam instead - that would likely show license plate and the driver's face.

But you do have a point that some research on the effectiveness of this device - compared to brighter lights or other cheaper measures - would make it a lot more desirable.
My current situation.
Struggling to find any other employer that recognises me as a reasonably good programmer.
Seems like [1] could benefit from use of the X macro [2], should make adding new instructions much easier and you can avoid the hassle of having to keep two separate tables in sync. There's probably quite a few places where the code could be made clearer by using it. Also in the implementation of your functions, there's a hell of a lot of repetition in all the binary operations, another macro which you pass in the operation and the function name would make life earier:

#define binop(NAME, OP) definstr (NAME) { \
long long b, a; \
if (carp_stack_pop(&m->stack, &b) == -1)\
carp_vm_err(m, CARP_STACK_EMPTY);\
if (carp_stack_pop(&m->stack, &a) == -1)\
carp_vm_err(m, CARP_STACK_EMPTY);\
carp_stack_push(&m->stack, a OP b);}

binop(ADD,+)
binop(MUL,*)
...

The repetition of

if (carp_stack_pop(&m->stack, &a) == -1)
carp_vm_err(m, CARP_STACK_EMPTY);

seems like a good place to just use a function to encapsulate all the error checking and handling.

[1] https://github.com/tekknolagi/carp/blob/master/src/carp_inst...

[2] http://www.embedded.com/design/programming-languages-and-too... and the following parts
I don't really see much substance in this post.
Wouldn't a Pit be a better solution? I live in tier 2 city. The drainage line reached our section few years. Hence everyone builds a pit. No smell or flies. We have it for nearly 25yrs. I am not sure how the decomposition works there are houses older then us without any issues. This is south india btw.
Title of the talk is: The teleology of
Internet congestion control

Teleology is: "The doctrine or study of ends or final causes,
especially as related to the evidences of design or
purpose in nature;"
I was there when he demo'd and he used an iPhone. He never mentioned anything else so I assumed.
Alright, try now. Also — thanks for the pull request!
The argument being made was we have to take a wait and see approach to see if ending prohibition is safe for society.

I made points about the whole picture and you've simply attacked me personally. Touché
> People with no money in the US go on Medicaid

Alas not necessarily. PPACA (aka Obamacare) was supposed to ensure exactly that, but the Supreme Court struck down those provisions. So in 24 states Medicaid does not necessarily cover poor, non-senior, non-disabled adults without dependent minor children.

That's leaving aside the entire category of aliens which even in the other 26 states have only spotty coverage.
Definitely interesting — I shall take a look! Feel free to make a pull request if you're game.
I don't think you have choose, much better than baidu.com I think.
Beyond the obvious self-importance embedded in every paragraph of this guy's post, what's the author's point? I've seen these same critiques about data-driven decisions, middle management etc. made about every single large tech company. They're hard to avoid in an org where you have tens of thousands of people. He also didn't talk about anything he accomplished and clearly stated he joined Google just for the networking i.e. "to become an ex-Googler." I'm doubtful he really did anything at all in a short 9 months at Google (just enough to make it past new employee training?) and I'm not sure what this post accomplishes other than making him an extremely undesirable hire at another large tech company. I work at a similarly-sized competitor to Google and this looks like either 1) insecurity about leaving the company 2) a very severe career-limiting move to me. The irony is that a quick LinkedIn search shows he was in people operations at Google!

Edit: this submission quickly went dead... looks like he realized after reading the comments. The original article is here: http://troysultan.com/post/92475325267/why-im-leaving-google...
"I wonder how they're related?"

You could replace `id' with something that expands things, like \x -> (x,x):

let f = \x -> (x,x) in (f.f.f.f.f.f) ()

Now it builds exponentially large tuple types. (?) And going back to the example in the blog:

let f = \x -> (x,x) in (f.f.f.f.f.f) id

This is the same as the spacemanaki's example, without explicitly labeling the d1,d2,d3... intermediates.
Essentially, you can't really force these skills on kids. These things happen on individual pace for every kid out there. Some are better at art, some are better at speech, some are better at math and some learn to read earlier than others. That's why the school starts when it starts. By that time development seems to even out across the board.
Yea, and the previous treatment (which only managed the disease, not cured it) was around $300k per person over their expected lifetime.
There's a Bitcoin company which I will elide naming that is, perhaps unintentionally, a carder cash out bonanza. It will continue being so until Amazon cracks down.

The gist: the site lets you buy BTC with credit cards, at a substantial markup to the market price for Bitcoin (10 to 20%). The actual mechanism is by buying wish listed items on Amazon picked by the BTC "sellers." This lets the sellers use BTC on Amazon and also get a discount. The site keeps a spread.

Why is this a carder paradise? Because the only reason to ship a random address a $300 camera for $240 of consideration is the $300 you paid is not your $300. When the chargeback/fraud investigation comes in, the carder doesn't have the stolen goods and has no IRL nexus to the crime. They just have their illicit profits laundered to BTC.
The implementation is really clean! The mixing of general-purpose registers, special-purpose registers and the stack makes the instruction set a bit weird, though.

For example, instead of using registers, why not have OR pick values off the stack like ADD, or vice versa? Why use EAX for the conditional jump instructions when you could look at the top of the stack? Why have REM when you can just MOV from ERX?
> Buying luxury goods that can be resold overseas at a significant markup amplifies the fraudster’s “profit.”
> where electronics and other luxury items typically sell for a much higher price than in the United States (think new iPads and iPhones, e.g.)

iPhones and iPads are indeed much more expensive in (for example) Brazil than in the U.S.:

http://brazilsense.com/index.php?title=Items_more_expensive_...

because the government of Brazil imposes a 50-100% luxury tax.

So I think there is validity in the article's claim that this difference amplifies the thieves' profits. However, this claim is always getting exaggerated in news reports; it's as if every stolen item gets shipped overseas because there's much more money to be made.

A variation I heard purports to explain what happens to all those stolen bicycles: the crooks ship containers full of stolen bicycles overseas where they can be sold for triple the price. If it were so much profit to be made, a legitimate business could simply buy the merchandise and export to these countries legally.

Also, in some cases, it would be very difficult to exploit the price difference whether the goods were exported legally or illegally. For example, in Singapore cars are massively more expensive than in the U.S. The government auctions off the right to put cars on the road each year. If thieves managed to get cars into Singapore, they'd still have to somehow get past a strict registration system.
Understood immediately when I saw it, thanks to that!
As someone who works from home this looks like it will become an invaluable tool.
You know, I was thinking about that this morning actually. All great suggestions! If you could make an issue, that would be fantastic.
While I understand the desire to learn about Google from the inside, planning to stay there only 6 months isn't very fair to the employer; the OP may have learned a little from the experience, but Google likely got almost nothing (net) from the employee as it takes more than 6 months to become really productive at Google.

I actually would not want to work with this person knowing he's pulled a "stunt" like this; I think it's unethical.
You're welcome. I pulled the new commits, but I'm still having trouble running the examples:

$ ./carp -f examples/carp/call.carp
Unknown label <add>

(I am very interested in building easy-to-understand codebases: http://akkartik.name/post/wart)
It's a sad indictment of society and education standards that the comments in the post include this gem:

"Probable the best article I've read as a recent graduate."
You'd essentially be generating machine code on the fly and letting the cpu execute it, instead of interpreting anything yourself.
You're making a big assumption. Sure, some apps have handwritten assembly, but that's pretty rare these days. Apple's Accelerate framework (which has been around since the PowerPC days) allows apps that need high performance in certain areas to do that without resorting to assembly:

>This document describes the Accelerate Framework, which contains C APIs for vector and matrix math, digital signal processing, large number handling, and image processing.

https://developer.apple.com/library/mac/documentation/Accele...
I think that the method you use is "Token Threaded Code" [1]. It's one good way of implementing a VM.

I only added the blog link in case you were interested in extending the VM to use Just In Time compiling. Using a JIT would mean generating assembly.

I like your VM - there is no need to change it. Thanks for sharing.

[1] http://realityforge.org/code/virtual-machines/2011/05/19/int...
OK, it looks like 'icpc' has decided that it would be fastest to invert the two loops: popcnt() once, then repeat the addition 10000 times. I'm neither a language lawyer nor a friend of C++, so I'll refrain to trying to decide whether this is a legal optimization. But a liberal sprinkling of 'volatile' makes it do what was obviously intended. After this, the speeds are more comparable, although 'icpc' retains a small (but much more plausible) lead:

nate@sandybridge:~/tmp$ popcnt-dependency 1
unsigned	41959360000	0.517827 sec	20.2495 GB/s
uint64_t	41959360000	0.518041 sec	20.2412 GB/s

nate@haswell:~/tmp$ popcnt-dependency 1
unsigned	41959360000	0.351273 sec	29.8507 GB/s
uint64_t	41959360000	0.352914 sec	29.712 GB/s

The other test I did was checking what Intel's IACA (a wonderful optimization tool that you really should be using if you are not already) thought about the g++ loop. It did _not_ notice the false dependency, and said the loops should take the same amount of time. Do this suggest that the Intel compiler is just getting lucky, or that Intel doesn't have great internal communication between teams?
I don't know much about operating systems. Is this standard accross all platforms or do some prevent admin from accessing all physical memory?
It's a failure in Google's hiring practices that they allowed this guy to be hired.

If the right questions had been asked, surely they would have figured out he wanted to do his own thing, and thus there was no point hiring him?

Or maybe he's a very good liar?
That's strange: http://i.imgur.com/TbF7Izc.png

Try rebuilding carp? o.O

That was some very nice documentation!
Actual nepotism: "we're a team of painfully inexperienced and/or incompetent people, some of whom aren't even engineers, but we're all from the Dickerson family 'cause the boss-man is a Dickerson".
SEEKING WORK

Full stack, more of a backend guy.

LAMP, Python, Javascript, Java.

HTML/CSS, Jquery.

Git, Svn, Apache, Nginx.

Resume: http://appsonify.com
Interesting. Is that significantly harder?
If I had time and a job where I got to code I would, but it'll be a few days before I have time.
Probably just my sloppiness. Things like OR were implemented while looking at other projects like tinyvm, so it's not perfectly consistent.
2bthrowaway is not being accused of making things up. You can not know that you have Hep C for years after you caught it, and your best guess of when you did is usually just that.
Recording of comments is pretty pointless. The code is what matters and that is safely in git. Anything really important should go in the commit message, where it belongs.

If the comments are that important to you then you are foolish to use Github's interface because that means that you can only ever use Github to look at the patch and see the comments. And there's never an indication that the patch even has any comments on it in the git repo itself (rendering git log useless).

It would be much better to use Bugzilla (or something similar) the way Mozilla does, with bug numbers referenced in the commits and commits referenced in the bugs.

There's also "git notes" but it has some funky corner cases IIRC.

I also am not understanding what Github's clunky commit viewer has to do with "pre-merge integration automated testing". That sounds like CI territory.
Ah, I feel you — no problem! I do really love the binop macro.
> If it were so much profit to be made, a legitimate business could simply buy the merchandise and export to these countries legally.

Except, as you mention, a legitimate business needs to pay the import taxes, which are the reason the price difference exists in the first place. Carders simply ship these items without properly declaring them.
Nope, rebuilding didn't help.. never mind, I'll look into it later tonight.

Edit: I just noticed you changed the target (why?) and are also immediately deleting carp.out. So I was indeed using the stale version in spite of using 'make clean' :)

Anyways, so I did this, but still no luck.

$ git diff
diff --git a/Makefile b/Makefile
index f921d96..7c55b4e 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,6 @@ all:
$(CC) $(CFLAGS) $(SRCS)
ar cr libcarp.a $(OBJS)
$(CC) src/carp.c libcarp.a -o $(PROG)
- make clean_objs

#.PHONY: tests

$ make
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 src/carp.c libcarp.a -o carp.out
$ ./carp.out -f reg.carp
Unknown label <add>
So strange.
Sounds like a hiring failure. Of course the probability of that happening across 40,000 employees is high, but I feel like the #1 goal of a hiring process is to avoid training someone for 9 months when he knows he's going to quit.

Besides, I don't think you learn enough by spending a bit of time in a company. To understand, you need to become a manager inside of a company and try your hand at tackling problems. Then, only, you really know what those problems are made of. The correlation is, we need to be humble when we criticise employers. It's hard to organize a company properly.
> For your JPEG file to survive, you'd have to actively keep on transferring it from one medium or service to another.

Or go through all of the steps I outlined above. I'm hoping to do both. Well, actually, I need to upgrade to a pigment printer. I have Canon's prosumer Pro-100 right now, and would love to pick up the -10 or -1 at some point.

But the images I really care about are all shot on medium format black and white film, Fuji Acros 100, which I develop, scan, and print[1] from myself.

[1] i.e. both silver gelatin on fiber in the darkroom, and inkjet on fiber as needed.
Code, Debt, and Bitcoin
We've heard this point quite a bit.
Thanks! We were thinking we'd allow restaurants/places to give out free things (ex: one free shot at a bar) to incentivize people to go to certain places.

Would also like to implement finding facebook/eventbrite events in the future :)
Can you give any background on how they typically discover the chemical structure of new drugs? Or provide a few good pointers?
Doesn't work. Shanghai, China -> NY, United States