skysight-inc/HackerNews huggingface dataset:
As I've written on this subject before, I think current debuggers largely miss the point, though gdb misses the point in a whole different league.

What I want from a debugger is 99% of the time met by gdb by running a program and running a backtrace and inspecting a few variables. Where gdb falls flat by default is in making me type in commands to get a register view, backtrace, disassembly of the current area, and the current stackframe.

Most other debuggers do ok there. But even with gdb it's trivial to define a few macros to make that part easy.

Where every debugger I've used falls flat is that for most harder problems, their functionality seems focused on heaping on functionality to let me do the job the debugger should have, instead of actually doing the things that would really save me time.

I've increasingly instead turned to valgrind as my first choice, for the simple reason that a huge portion of the problems I deal with are low level (e.g. debugging my compiler, which involves debugging things like why my code generation doesn't correctly initialise a value on the stack. But this is the same problem I generally would like to be able to debug in higher level languages:

Program crashes. Which value caused the crash, or caused the exception to be thrown? When was that value set? Where? What was the code paths that led to that value being set? Which variables contributed to it being set to that value?

Fully automating this in the general case is not possible (it devolves to the halting problem if you don't put the debugged program in a "black box"), but making it easy for a human to guide it there should be the priority for a debugger.

Being able to get a quick view, see that "huh, that value shouldn't be there", be able to tell the debugger "identify when that variable will change and re-run", and work your way back that way, would solve the vast majority of the tough debugging sessions I've had.

Note that the above is not the same as just setting watch-points by tracing and checking. Handling of watches is usually crude in most debuggers. What I'd like is something similar to Valgrind - to do this well the debugger needs to at least analyse the code and intelligently pare down what it watches, and ideally dynamically translate the code into something sufficiently instrumented to let it run fast. For most debugging sessions where I've tried watches, I've had to give up because of how slow they can be, but if the issue is something valgrind can catch, it finds it fast.

Support for replays might be an improvement, but it's still about providing tools for us to do the debuggers job instead of semi-automating vital functionality.
Can someone sum this up for me? The site is too slow/buggy for my phone.
If I could give myself advice 20 years ago it'd be 70/30 (world) index/(world) bonds and keep doing so. Go a little heavier (80/20) on stocks in times of crisis (>20% correction). That's all. You can just get lucky over a year and confuse that with skill.
I wonder why the author split up the Python program into functions but left the Bash program as just a single blob of code.
That's pretty sociopathic to be posting this now.
Sounds good. Would you recommend learning Rebol and then Red or just forget about Rebol and start with Red? Not 1.0 means it's not production ready?
Exercise as a weight-loss strategy
The conclusion I've come to regarding Google is that you just have to accept it for now. The services that they provide are so above and beyond anything from any other provider that to not use them puts you at a great disadvantage. Google search is an order of magnitude above the competition. There is no serious alternative to Google maps. The level of integration that Google Calendar has with practically everything is unmatched. As such I've placed my trust for now in Google and only Google. That's the key. I've decided to collocate all of my privacy concerns to one single company which I feel is at least moderately trustworthy, and which supports an open Web. Because in the end, I do not think that Google is fundamentally evil.

Facebook on the other hand provides absolutely nothing of value to anyone really. The entirety of their service can be replaced with an IRC client and a free image host. The walled garden they have cultivated will be laughed at in the future the same way we see AOL now. I am completely convinced that they are a fundamentally evil company. The sooner the world realizes that it is nothing more than a creepy spying/advertisement platform the better.
Once again, the only hope for customer service seems to be a (social) media shitstorm.

Seriously, Google, Twitter and FB massively need to ramp up their customer service and not externalize the costs of a lack of support onto society any more. And there are many "costs": people being actively harrassed and intimidated, sometimes so far they are afraid leaving their house, due to hate speech or doxxing, a loss of historically relevant information as in this case, people locked out of vital emails or their businesses (e.g. when their Gmail account gets closed due to copyright violations on Youtube)...
How to model a door.

class Door {
void open() {...}
void close() {...}
}

door.open().

But can a door open itself? Maybe

Man petya = ...
petya.open(door);

But can a door be opened if it's not installed? So walls should also come into play when we think about door and its methods.

It's difficult to model the world with OOP (at least in its current state).
They beat the market until they don't. Patterns that generate better returns don't last. In this case, everyone sees that outperform rated stocks (OSR):

- OSR yield better returns

- OSR demand increases

- price of OSR goes up

- higher prices yield lower returns

- in near future, non-OSR have more attractive returns

- article is published saying non-OSR

- repeat in perpetuity
I suggest you read more into component signatures and how systems decide which components to operate on.

Specifically, systems do not own components. Nor do they operate on full entities. Nor is there any coupling.

If you have entities that need to be rendered, you would give them a render component. A render system would render all render components that exist (thus 'rendering the entities' for whom those render components belong to)

If you have entities with positions but not render components, the render system would not operate on those entities.

Similarly if an entity has a render component but no, say, velocity component, it would not be registered to a movementSystem.

Systems that need to propagate data between components would have component signatures that include those components for which they need the data of. So a positionRender system would have an aspect of [PositionComp, RenderComp] and would be the only system to copy over data from one to the other.

There will always have to be a place that decides what object has which components. This should be as close as possible to the 'aggregate root' (a term from DI), and generally in ECS at the point of instantiation of the entity. I believe this question is prompted by a fundamental misunderstanding of ECS.
It's pretty incredible. Search history and e-mail alone almost certainly reveal staggering amounts of personal information about most people.

I try to "spread" my data. Apple for maps/messaging/photos, Signal, DuckDuckGo, Gmail, and primarily private tab web surfing. I also use different browsers for different concerns. And of course ad blockers although I'm not sure I've installed them everywhere. With my lack of social media accounts and a reup of my PIA subscription it feels like it should be a fairly private set up.

Of course, if I was really going all the way I'd use cash for everything, and curb the very modest amount of shopping I do on Amazon. I believe creeit cards almost certainly sell information based on your purchase history.

Oh! And don't forget a hat and sunglasses to avoid the myriad of cameras I'd come across in my day to day as a metropolitan.

And of course to turn off wi-fi and bluetooth when in transit. Might even be better to go into airplane mode.

So yea, just get a landline. Use snail mail (although addresses may be scanned). Hang a calendar on the wall (they are pretty, mine is pictures of Italy), stay off social media, use cash, disguise your features, and I dunno, use the internet at the library or something.

In the end, it's a giant pain and it's amazing how many vectors there are for information retrieval on the average citizen of the information age.
Saul did a more recent long now talk on some of the rough numbers for homes: http://longnow.org/seminars/02015/sep/21/infrastructure-and-...
1. Removing outliers was for making the data easier to analyze as some outliers were skewing the average. Of course when investing you cannot ignore outliers, but you could possibly curb them with stop losses/stop limits.

2. A more in-depth analysis could be done on analyst releases' effect on prices but assuming that this does occur, then the performances are understated and provides further evidence to the conclusion that outperform ratings can do better than the market.

3. Not sure how narrowing down the top analysts is a flaw here.

This blogpost is probably not as mathematically rigorous as it could be as I just wrote it as an exploratory analysis for fun and out of curiosity.
You are of course right in theory, but it's not good enough to let that justify evidence of war crimes getting lost.

If you film people getting shot at in a demonstration and want to get the word out, chances are you use a popular social network. You might not have any further knowledge, or not be able to (imprisoned, fleeing, dead, like the majority of Syrians) put the video elsewhere.
I feel like my industry might be a window to that. I work in visual effects. Almost all of our applications (Maya, Nuke, Houdini) have a built-in Python interpreter and every facility over probably 20 people use it extensively all the way up to the Pixars, Wetas, and ILMs. Often the application UI is written in Python and could be fully customized, including adding/modifying menus, they have a console, and a shelf (for small, clickable scripts). They even have a cool think where you can see it print out the commands that get executed when you click buttons in the UI. I've also been responsible for scripting in Photoshop and it's miserable (not just because of Javascript).

I have junior artists ask if they should learn Python/programming or focus on their discipline and my recommendation is, "if you think scripting is going to be one of your primary responsibilities, learn it. If not, focus on getting better at your discipline." My experience in working with artists is that they have no idea what goes on under the hood. The amount of effort needed to even write simple scripts is enormous. There are artists who can crack open a console and write or modify a simple script, but more often than not they came from a solid technical background it's just no longer their day-to-day job.

Even in those programs, there's not just the hurdle of knowing what a variable, loop, or string is, but looking up the API for the application, how things are structured, and troubleshooting.

I think Excel is the most ideal example you'll ever get. The feedback loop is tight and there's a gradual slope to some insane programming. While there are a lot of amazing Excel gurus, the average person using Excel may not even need to know what a formula is. Their job is filling out and reading boxes that were put together by a manager. I don't see this changing in 20 years.
I'm asking a specific question about the workings of the DMCA.

Does your link address that question? Is your opinion on the DMCA well informed?
The woman was reported missing to the police early morning when she didn't come home/was heard from the night before, so she was reported missing hours before the sub sank.
Ada Lovelace wasn't the first programmer. Babbage was
So, what are the odds that Damore read this thread and immediately turned around and wrote his essay? Note the Chomsky quote and use of "heresy".

https://finance.yahoo.com/news/why-fired-google-195400805.ht... (Non-paywall version)
That PhD means "Doctor of Philosophy" is just an artifact of the fact that all doctoral degrees were once subcategories of "Philosophy".

Philosophy today is pretty useless.
Right, this is the general approach of ECS.
It requires ES5 features like Object.freeze and Object.defineProperty to work correctly.

https://github.com/es-shims/es5-shim#may-fail
Screw YouTube's automation across the board. It's horrendous and lazy.
No, a sociopath is someone who lacks a conscience, and so they work to get what they want, even if it harms other people.

Some sociopaths are very good at understanding other people's perspectives, and they use that understanding to trick them, as in the case of con artists. Other sociopaths, the thug-types, instead use force and threats, and so they are not so concerned with understanding other people's psychology.
You can output data from a function and pipe it just like any other program, right? So that's how you tend to return values from bash functions.
Agreed. Google just grosses me out these days.
I'm also convinced that a willingness to relocate plays a huge role in upward mobility. In the past decade I've moved eight times, not always for a new job, but always for new opportunities.

However, I do acknowledge that it's easy to say that as a young single person. Marriage and children make that a lot harder, but not impossible. I moved as a child a number of times. Maybe that's why I don't find it so hard to do as an adult?
New Tech Startup Bubble – Dan Lyons (2017)
He's charged with involuntary manslaughter[1].

[1] https://en.wikipedia.org/wiki/Peter_Madsen_(inventor)
"....but it’s easy to see why they might feel as if no one in Washington is living their lives...."

As an non-American I personally think this is why large number of working class voted for Trump, and something Clinton either missed or did not give importance to.
Mobility and a willingness to learn new skills in the context of an established citizen and family is entirely different from the context of an immigrant family in almost every case.

Moving is generally very expensive, and proportionally more so for those with lower incomes.

The "nomadic" lifestyle you mention actually isn't normal, even today.
Can't any prosecutor gain access to those videos via subpoena anyways?
I doubt they're grieving lost footage. It's loss of access to that distribution channel.

Documentation is pointless if it can't be distributed and used to effect change.
>That last part bothers me a lot. It seems a lot of people just don't want to move. Anecdotally I've moved nearly 6 times in the last 8 years. My parents have done the same.

How do we build any kind of community with so little permanence? If we can't bond with our neighbors, we become these empty, atomized husks floating from one economic opportunity to another.

Put another way, how can a village raise a child if there's no village, no permanent-ness, and eventually none of the social accountability that communities enforce?
> Google can be as evil as Facebook

Personally I believe Google _IS_ much worse than FB for one simple reason: it's much easier to avoid FB than Google.

With FB the story is simple. You'll miss out on some news/invites from FB-centric friends, but it's pretty easy to go without (or to even find new friends who aren't as hooked on FB as needed).

"Avoiding" Google in your daily life is much, much harder. Their free mail offering is still top-notch. Their search is absolutely incredible. Depending on what you do this list can go on and on. Also, these are things we can't really just "do without" like in FB's case. Alternatives do exist, but often are either paid or not as good.

Personally, I'n going to try and transition away from Google this year just to see how far I can get. Should be an interesting experiment.
I can still blame GitHub for not fighting against the DMCA with us.
Almost right. You wouldn't necessarily have a separate rendering system for entities that require movement and those that do not.

Instead you would likely have an additional system that operates on entities that have both position and render components and propagates updates from position to render data. The render system for all entities with just a render component would then remain the same.

This can be imagined as systems that work on signatures (a component set or aspect that specifies whether an entity's components match the system's criteria).

A render system would have an aspect of say [RenderComp] and a positionRender system would have an aspect of say [RenderComp, PositionComp]. Note that the positionRender system would not actually render anything, only serving as a propagater of data.
Well almost everything we use these days belongs to a private organization. And we're fully subject to their whims.

Something is wrong about that.
A while ago I wrote a tiny language (called bish) that was an attempt at finding a middle ground for this problem. Essentially, you write your shell scripts in bish, with sane syntax and semantics (example: function return values, which are not really present in bash). The bish compiler then compiles your script to bash.

I haven't touched it in a few years now, but maybe it's of interest to someone: https://github.com/tdenniston/bish
[ANN][PRE-ICO]
Crowdholding - the Decentralized Open Innovation Platform. YUPIES - the currency used for paying salaries in crypto. Get your YUPIES on the 15th of August. Bonuses up to 80% during pre-ICO. More info: https://ico.crowdholding.com/
> You can't even return a value from a Bash function (just a numeric status code).

You can print a textual result and store it in a variable, which is a pretty natural pattern in bash, e.g.,

set -e

download_command () {
if type wget >/dev/null 2>&1; then
echo "wget -q -O-"
elif type curl >/dev/null 2>&1; then
echo "curl -sL"
else
echo "Error: curl or wget is required" >&2
exit 1
fi
}

download=$(download_command)
public_v4=$($download http://whatismyip.akamai.com/)
public_v6=$($download http://ipv6.whatismyip.akamai.com/)

The numeric status code is best used to indicate errors (as above, with set -e), not to overload for data.

I do agree that I'd prefer being able to return actual structured data and not strings -- but honestly you can pass e.g. JSON back-and-forth between commands that take JSON, and into `python -c 'import sys, json; something(json.loads(sys.stdin))'` if you need it for a small part of a script that's generally better written in sh.
incidentally, here's what WSWS has to say about McMeekin: http://intsse.com/wswspdf/en/articles/2017/06/30/mcme-j30.pd...
Lately, I'm getting even more paranoid with Google.

I have the location in my Android inactive and everytime I open google maps I get the message:

"To continue, let your device turn on location, which uses Google's location service. cancel - ok"

I have to click cancel every time. I think the language is disingenuous, because if you click cancel you can use the maps anyway. I suppose I should stop using Google Maps.

I use duckduckgo in my android, and the other day I realized that the keyboard where I'm typing is "Gboard - The Google Keyboard".

I suppose it's not calling home with every key, but who knows?, or, if it's not calling, if this will change in the future.
From the police report:

> In the afternoon there have been divers on the submarine, lying on seven feet of water. It has not been possible to enter the submarine, either being stabilized on site or rescued and towed to port before it will be possible. This will probably happen during Saturday.

They will attempt to either enter the sub on site or tow it back to port today (Saturday).

http://www.mynewsdesk.com/dk/koebenhavns-politi/pressrelease...
They've already brought the sub to the surface [1] and are towing it to a harbor for investigation.

[1] https://bt.bmcdn.dk/media/cache/resolve/image_1240/image/104...
No? I spend 30 hours or so a week learning my trade. No one else does unless they get paid for it.
Unit testing just means running your programs or subprograms with different inputs and checking the result. Nothing about this is hard in bash. Why would it be?
>To be fair, YouTube is under no obligation to some greater good;

Eeeeeeeeeeh....I don't know about that.

Lots of corporations today target "owning" a certain aspect of humanity. Facebook "owns social", Google "owns search", and LinkedIn is having a jolly good swing at "owning recruitment". Youtube wanted to "own video" and by and large it has succeeded. I'm not sure they get to have that position consequence free though.

I'm increasingly of the opinion that companies that manage to pin an entire market implicitly take on a social responsibility, and lots of them are not shouldering it appropriately.
Good points.

Efficiency isn't actually all that matters; it's total cost versus revenue. Every mining device has some sort of lifetime to it. Its total cost is cost of the device itself + (electrical costs + maintenance + cooling) * lifetime. Its revenue is a function of its hashrate.

So, all else being equal, if someone makes a mining chip with less efficiency than the best, they simply have to sell the chip for less $/TH.

But usually all else _aren't_ equal. Say you're mining in the far northern regions of the planet. You can take advantage of the colder climate to reduce your cooling costs, so you don't have to expend money designing chips and hardware with good cooling. But you can't take advantage of hydro or solar power, so power efficiency becomes more important.

Or, let's say you mine near the equator. Now you can probably build out a solar farm and get cheaper power than anyone else. But cooling is a major issue. You have to spend more on good chip packages and thermal designs.

On top of that, the design of the chip itself can dictate a lot of cost. For example, when I designed my FPGA miners, I made it so that the FPGAs could be both programmed and communicated with by a single, cheap FTDI chip. This made the boards super simple and cheap.

Basically, it's a complex equation that can't be boiled down to simple power efficiency.
I am trying to figure out how to proceed forward with this:

http://micheleincalifornia.blogspot.com/2017/07/my-old-colle...

http://solanorail.blogspot.com

Perhaps one day while incredibly bored and procrastinating on the decision of pants or no pants, you could look it over, die laughing and send me an email. My email address is in my profile.

Thank you for replying.
I think it's sad that your view that philosophy is worthless has become more of a mainstream feeling than it ought to be. Not everything needs to be measured in terms of usefulness. Interestingly enough, I think you find many developers have a natural affinity for philosophy. All this talk about AI, for example, is just philosophy.
I think so. Primarily due to Djikstra's anti-anthropomorphic stance, which is very important here.

1. as the other poster to you noted, people are more apt to conflate "strong AI" with what we're actually doing with tensorflow, leading to very weird overreactions that aren't germane.

2. just as importantly, developers who believe this line of thinking are biased against a more correct understanding of their code, which makes debugging much more difficult and prevents advances in the underlying technology.

The implied abstraction ... is however beyond the computing scientist imbued with the operational approach that the anthropomorphic metaphor induces. In a very real and tragic sense he has a mental block: his anthropomorphic thinking erects an insurmountable barrier between him and the only effective way in which his work can be done well.