skysight-inc/HackerNews huggingface dataset:
> As the compiler creates an AST from the parse tree, it copies src infos over (sometimes from tokens, sometimes from non-terminals).

In the TXR language, the same thing is done by the function rlcp (and a few relatives). I don't remember what "rl" stands for: probably read-time location.

You can see rlcp and rl calls throughout this parser:

http://www.kylheku.com/cgit/txr/tree/parser.y

In the evaluation module, http://www.kylheku.com/cgit/txr/tree/eval.c you can see this code:

} else if ((macro = lookup_mac(menv, sym))) {
val mac_expand = expand_macro(form, macro, menv);
if (mac_expand == form)
return form;
form = rlcp_tree(mac_expand, form);
goto tail;

User-defined macros aren't expected to do rlcp diligently; so we compensate for their negligence with rlcp_tree(mac_expand, form). This basically liberally sprinkles the source location of the original form over the nodes of the macro-expansion. It works pretty well in practice, helping to relate errors in macro expansions to the original source. rlcp_tree respects nodes that already have source info; it gives it to those which don't have it.

Source info is associated with tree nodes using a weak global hash table. When an object with source info attached goes away, the info goes away.

Trivial test:

macro-error-test.tl:

1: (defmacro mac (expr)
2: expr)
3: (mac (/ 1 0))

$ txr macro-error-test.tl
txr: unhandled exception of type numeric-error:
txr: possibly triggered at macro-error-test.tl:3 by form (/ 1 0)
txr: message: /: division by zero

If we change the example to this:

1: (defmacro mac (expr)
2: (copy expr))
3: (mac (/ 1 0))

the error is exactly the same. This time the expr coming out of the macro is a copy and so it has no source info. The macro expander adds it. This is less accurate: the line number of the macro call isn't necessarily that of the (/ 1 0). Here it happens to be because it's a one-liner expression.

Example of an error during macro expansion:

1: (defmacro mac (expr)
2: (/ 1 0))
3: (mac foo)

$ txr macro-error-test-2.tl
txr: unhandled exception of type numeric-error:
txr: possibly triggered at macro-error-test-2.tl:2 by form (/ 1 0)
txr: during expansion at macro-error-test-2.tl:3 of form (mac (/ 1 0))
txr: message: /: division by zero
This is the guy behind spacechem and TIS-100

I envy Zach so much, he seems to have succeeded in making his entire life about turing machines and different execution models, all while making cool games to boot.

I think it's the dream of many (including myself) to put some basic programming mechanism into everything; There's a bit of magic about having a typewriter print out your output so you can debug it here and there

I do kind of wonder how well this old-school programming style meshes with a higher-level language like Haskell. I can only imagine it being even better. A terse language with huge columns to write your ocmments/debugging. I've seen it done with APL, maybe we need J in there too.
If the site is working on your browser, you can click on an invisible div over the video, and get text feedback about the location of the drowned.
It's a Google search away. Seriously, the story of the cost of supporting public transportation. But you can have a link to the latter assertion http://www.outsidethebeltway.com/should-we-continue-to-subsi...
Do any of these secure browsers have JavaScript?
THE Master Guide to Growth Hacking
that's a good question. in my experience drowning often looks like a person standing straight up and down with their legs straight and still and their arms reached out wide to their sides. head tilted back to try and get their mouth above the surface. they kind of look like they are trying to fly to up to bird mom for a bite of food.

its ridiculous looking and absolutely terrible as a self preservation technique.

i'd be willing to bet if many people trying to save themselves kicked their legs a couple times they'd have a much better chance at survival on their own. but they don't, they forget about their legs and try to fly.

one guy i jumped in after went about a foot or two under water, stretched his arms out and flapped them up and down. his down stroke was never enough to bring his head above the water and his up stroke was enough to undo the little his down stroke did. he looked like a fishing bobber bouncing up and down under the surface as a fish nibbled off the bait. i had been watching that particular guy as he waited in line for a diving board, got to the front of the line, climbed up the couple steps, looked around then got back down. he did that 2 or 3 times before he got the courage to actually jump. when i noticed him doing it i did a quick chirp over to the guard in the boat and gave him a sign that signaled i was watching someone and would likely be going in after them.
> When a developer says 'It will take too long to do the right thing,' (i.e., build architecturally sound code) he/she is saying, 'I don't have the skillset.'

I'll be charitable and say this may be the case part of the time. But as a general argument it is bollocks. In the vast majority of production systems that survive for any amount of time there will be requirements changes, and sooner or later an engineer will face a choice of shoehorning an attribute in somewhere it doesn't fit naturally, versus refactoring to more appropriately model the new business universe. Saying that this won't happen if your skills are sufficient is a no-true-scotsman argument—it's all tradeoffs, and no matter how good you are at anticipating change, sooner or later even the best architect will be blindsided by some out-of-the-blue business requirement.
The BBC isn't EE Times and they're never going to be. Also, Intel is going out of their way to avoid providing many details, so in this case it isn't the press who's dumbing it down.
You are correct. A kid drowning in a wave pool looks different from a mostly-able swimmer drowning from fatigue.

The chosen video sample doesn't match the catchy text.
yes, that too :)
Most of those systems operate on their own unless/until they hit something they can't handle and a human is standing by as failover. So, unless you're saying it's OK to have deathbots as long as a human is on hand as failover if the deathbot gets confused, I think my point stands.
There are 27 similar videos. Play again.
One interesting Civil-Military difference is that military aircraft and civilain aircraft operate on two completely different sets of communications channels yet the air traffic controllers talk to both military and civilain aircraft at the same time.

Military aircraft typically trasmit to air traffic controllers in a frequency range between 225-380 MHz, while civilan aircraft transmit to air traffic controllers in a frequency range between 118-136 MHz.

The air traffic controllers simulcast their transmissions betweeen both frequency bands to make sure their instructions reach both military and civilan pilots, however the transmissions back to the controllers cannnot be heard between civilan and military pilots.

This is a prime example of the "Civil-Military" difference outlined in the article.

* Note: Most Military pilots have the ability to transmit on both VHF (118-136 MHz) and UHF (225-380 MHz) however it is up to pilots discretion.
Personally, I think this really cool and hope it sticks around for awhile. If I saw meshtag graffiti, I would absolutely scan it, and that's the kind of use that's exciting to me. Awesome stuff!
It's a shame there aren't any forward-enough-thinking US banks that would make a reasonable partner for this type of effort. In the long run, owning the bank is a better asset but I wonder if a more prudent strategy would be proving out the value first. Maybe like a Tesla or PayPal strategy.
Linux is free and can run on really old computers. buy a used/cheap computer from Craigslist and download a distro and install.

There are tons of tutorials online that can get you started.

Once you get some experience, apply for a job.
Classes in ABAP
This week in startups -- http://thisweekinstartups.com/

All of the guests are there to promote something (themselves/their-startup) so everyone is a bit manicured, but it's still a good look at some of what goes on inside of startups.
And sometimes you have these curtains open? But what about privacy? Do you agree that sometimes people being able to look into your living room is not a big deal, even if it decreases your privacy by some definition? Great, then you agree that maximizing privacy at all costs isn't your or people's tradeoff point. Same with WebRTC - your internal network's IP is not the kind of privacy most people care about, nor should they.

That said, WebRTC from behind a VPN exposing your personal IP is a bit different. That's kind of like a light you installed rendering your curtains translucent. I'm not sure if it's the curtain's fault, or the light's, but it's certainly not what anyone had expected!

Given that OpenVPN somehow works in a way that doesn't expose your personal IP [1], I'd blame the VPN providers for saying that their VPN anonymizes web traffic when it actually doesn't.

1. https://tlog.anfedorov.com/vpns-webrtc
I was also thinking that many CS students learn Java as part of their degree (though I don't have stats handy), so Android is a natural extension there.
My understanding is that Standard Treasury's Series A raise was unsuccessful and the team was acqui-hired by SVB.
You sound like his past self. Lol
While TCL does a good job gluing together IC tools, there are many languages that are much more expressive, powerful, and even just as simple (with good DSL support), with larger communities and more modules to choose from that aren't being used because TCL is. TCL has always seemed to me to be the incumbent that prevented uses of more modern languages.

I can't think of one thing TCL does better than any of the languages that come after it that warrants keeping it around, outside of super easy C bindings and some light metaprogramming capability.

A lack of good resources on TCL also leads to people learning it all sorts of ways, and writing all sorts of (often buggy) code with it. Maybe that's just symptomatic of the companies at which I've used TCL, but I think it's pretty clear that there are way more good resources on something like lisp or python than there are on TCL (I mention lisp because if you squint and replace some [ ]s with ( )s, TCL looks almost like lisp)

A lot of my reasons aren't quite concrete, but in short, I think using an almost-dead language like TCL leads to stagnation of a code base. People aren't pushing boundaries, doing new things in TCL. There's definitely nothing wrong with having a no-surprises go-to language that just gets stuff done, but I just don't personally find TCL stimulating.

Maybe I'm just too much of a new-shiny-language hipster
Honestly, it's been so long, I forget. I actually did a bit of searching when I wrote that to see if I could find the camp, but I had no luck. It looks like the Boy Scout Council my troop was a member of has changed what summer camp they use in the many years since I was last there, and I can't actually find any reference to what the name of the old camp was.
I generally turn off non-calendar notifications. For work email I use the Nine app which has a nice VIP option so I only get notified for messages by a few key people. Otherwise I get to my email when I open it by choice. I also enable silent time so all non-alarm notifications are muted from 10pm to 7am.
The "dump environment" problem is an issue for novice developers, but mature shops should have security-conscious frameworks for secrets handling that do things like clear the variable from the environment at initialization time.

What are your other 11 objections?
> It's like static linking an entire operating system for each application.

You say it like it's a problem, but that's the most concise description of Docker I've yet read. It rhymes with the way all the fed up oldies using Go like its static linking.
You have a valid point, not everyone is lost but obviously everyone seems to be digging in the same ship just for the sake of it. If you try to understand more of what OP is trying to say, then you will know that there are more problems created than solution.

It's getting more difficult for beginners to catch up or even were to start from (see lots of those questions on Quora), perhaps we need to reexamine things rather than building 4million cars a day only to realize we have global warming.
> Carl Friedrich Gauss, the Prince of Mathematicians but also somewhat of a coward, was certainly aware of the fate of Galileo —and could probably have predicted the calumniation of Einstein— when he decided to suppress his discovery of non-Euclidean geometry, thus leaving it to Bolyai and Lobatchewsky to receive the flak.

There's a long history of mathematicians and scientists suppressing their results.

Copernicus didn't publish about heliocentrism until he was on his deathbed.

Newton started developing calculus in 1665 but didn't publish his theories and methods for calculus until 1693.

Darwin didn't publish until 1858, when Alfred Wallace had begun to rediscover Darwin's theories. Darwin had already theorized about natural selection for himself and privately among naturalist friends since he returned from the Beagle in 1836.

I am not a physicist, but my understanding is that Einstein's formulas showed him that the universe was expanding. He didn't trust what his own formulas, which were radical at the time, were showing him, so he modified his equations so that the universe would be stable - adding a cosmological constant. Observations by astronomers like Hubble later showed him that his original formulas were correct (my understanding of the field equations are shallow so I may have mischaracterized this).
It is more native than toolkits which try to recreate the controls themselves. But I would not call it "fully native", because it does not let you write cross-platform fully native-feeling apps. It fails at that for the simple reason that that is impossible: different platforms have different UI conventions, including icon appearance, controls with no direct equivalents on other platforms, or with equivalents that have subtle differences in usage, idioms and standard layouts, behavior of keyboard shortcuts and gestures, use of platform-specific features, etc. If you do not spend a significant amount of time tuning your UI for each, you may end up with something that's 80% right, but it will never be 100% right.

Also, wxWidgets has had a lot of problems lately on OS X: high-DPI not being supported properly for years, broken focus, other bugs. It's not just the macros that make it an icky framework, which I say from unfortunate first-hand experience.
> it's alive if not thriving.

Really? Any evidence to support this? I'm curious.
Why do you want to be a Linux admin?
Free DVD Burning Software for Windows 8
VB Goes Undercover to Win Surry Hills Craft Beer Festival
“How I moved from finance to engineering I. A
Also Security. Installing an app (even from an official store) is just too risky. Even a non-malicious app can significantly undermine your machines performance.

When I close a browser tab, the web app is gone!
Internship Advice
Hi, I'm currently pursuing a BS in C.S. It's actually a second bachelor's (I went for the second degree instead of the bootcamp route - hope it was a smart move).
So far, I have really loved the challenge of my classes (next semester taking computer architecture, data management, discrete structures. I have an excellent GPA (3.9) and have done really well on all my class projects.
I'm completely aware that all of this is pretty fake without real life experience though. My goal: to get a top internship for summer 2016.
What can I do now to put myself in the right position to make that happen? I'm pretty lost here. What will help me get noticed? Stock up a GitHub account with side projects? Focus on networking? I'm nervous that I won't get that first opportunity that will lead to something great down the road.

Any advice would be amazing!
you're right. But the problem with 30's developer is lack of opportunity to learn. Ok, for the current job, you know very well about system, architect. But you know, we're focusing to much about the current technique, the current system, and we limit ourself in learning new thing, and our learning curse is much slower than younger developers also.
V8 gets tested on clusterfuzz
This epitomizes why I will never consider Barack Obama a great President. I've seen good arguments that he is above average, even well above-average as a President. I respect a lot that he has done, such as engaging in effective diplomatic relations with Cuba and supporting a form of healthcare that is closer to universal. But I cannot ever look at a man who so openly and willfully jeopardizes the idea of a free republic and think of him as a good leader. Alexander Hamilton wrote,

“It has been frequently remarked that it seems to have been reserved to the people of this country…to decide the important question, whether societies of men are really capable or not of establishing good government from reflection and choice, or whether they are forever destined to depend for their political constitutions on accident and force. If there be any truth in the remark, the crisis at which we are arrived may with propriety be regarded as the era in which that decision is to be made…And a wrong election of the part we shall act may, in this view, deserve to be considered as the general misfortune of mankind.”

Mass surveillance and government secrecy are one of the greatest threats to this ideal ever to face this country. Can we survive with them? Of course. Life will go on, we'll live in our houses and buy nice things and generally lead comfortable lives. But we'll never live as free persons, and even those of us with the most comfortable lives will constantly be looking over our shoulders, burdened by the feeling that something is very wrong.
It's a collection of companies. An investment bank, a wealth management firm, a bank, a trader backed by its own assets, a trader for other people through an online and offline brokerages, a mutual fund operator, an IPO underwriter, a real estate owner and operator, a storage facility for commodities.

Each side of business has its own customers who have their own set of motivations.
You are half correct.

SQL itself is finding itself in vogue again. Not full ANSI SQL but derivatives/half implemented equivalents e.g. CQL, HiveQL, Spark SQL, Presto. The type that this article refers to (AMPLab are the original creators of Spark).

But SQL databases themselves are definitely less popular. Mainly as (a) data grows beyond their capability, (b) data becomes more streaming/real time and (c) microservices pushes data into smaller disparate databases. The one big vertically scaled database at the hub of everything is definitely disappearing.
Or see them approach from a greater distance!
I didn't see this discussed below, but I think when PPK says

web’s strengths: simplicity, URLs and reach.

I think he misses an important feature for me, as a user: Security.

I just don't trust native apps. Even a non-malicious app can undermine your systems performance and behave badly.

I've spent too many hours trying to "clean" windows systems, there is just no way I want to be installing native apps on them any more. My windows machines have the OS and its bundled apps, MS Office and that's it.
I'm definitely no fan of Docker or the ridiculous containerisation trend, but I think I may disagree with one key thing you said:

> Focus on your product, outsource the rest.

What do you mean by outsource the rest?

Do you mean, "hey we're using AWS <Everything>-as-Service because we don't want to manage a DB cluster or deal with a load balancer?

Or do you mean, rely on existing available tools and stop reinventing the wheel every week?
I just meant that in the process of producing a DVD, all the material would have to have been digitized. I'm sure for some releases the production companies have gone bankrupt and/or the files are lost -- but I'd think that once digitized the masters would be kept around?
Deploying multiple WordPress sites on Docker for production
This tutorial shows how to deploy a micro docker container with WordPress. Each microcontainer has its own instance of Nginx and PHP-FPM. An Nginx server as a proxy sits on the front end serving connections to one or more sites hosted in the containers. It uses Alpine Linux and persists all data on the host's file system. The logging is also available on the host system. The benefit of doing it this way is that each site sits in its own container, so if it is compromised, no harm comes to any other site or services running on the host system.

It also does not link containers, instead opting to attach the database to the first IP address of the network Docker sets up, thereby avoiding the need for complicated service discovery. It also includes instructions on how to deploy Redis on the same box and use that with WordPress. Also includes instructions on how to do SSL for each site. It's being used in production.

http://www.dockerwordpress.com/
Yeah "hit the ground running" was decidedly not the standard for bootcamp grads. This was our more senior unicorn hire. Like any shop though we did have simpler more isolated work that was still needing doing, so we pared those off for grads.
OK, that's good thought, hehe. I am forcing myself to improve a lot, not for this current job, but to catch up with the community. I am not sure I can continue doing it after 30, cause too many things to learn and gonna burn out myself.
We still buy Cisco :)
SQL did win. Sorta.

NoSQL brought a lot of new ideas. Redis might seem superficially like NDB (MySQL Cluster), but underneath, it's extremely different. What kind of sane person could design a single-threaded, single process database? @antirez built something radical that delivers unbelievable performance.

More innovation and invention has happened in data in the last decade than in the previous thirty, and it's because people experimented and weren't afraid to fail.

Most NoSQL datastores swap limitations in one area for advances in another. Riak, Redis, DynamoDB.. S3 is probably one of the most successful examples of NoSQL, and its very limitations are crucial to its success. Each has clearly defined use cases.

Some people say "Big Data" or "NoSQL" when they really just mean Hadoop or MapReduce, but NoSQL just literally means "everything that's not SQL."

SQL is still great. Awesomeness like Postgresql's supporting every data type imaginable, Redshift and Aurora, file-based db's like SQLite...

So, yes, SQL won. But so did NoSQL. And all of the rest of us too.
I'm not familiar with the physics of memristors or storage in general. I was wondering if a single line is used to read and write, increasing the voltage on write to change the state.
Great pieces like this are offset by a large margin by their pandering/propaganda for things like the Surveillance State and the invasion of Iraq. It's not enough to get me to patronize them.
Wow I don't understand how you can just change your personality in an instant. Maybe he has an easily 're-programmable' brain.
The author of the article wrote a recent book on John Conway as well http://www.amazon.com/Genius-At-Play-Curious-Horton/dp/16204...