skysight-inc/HackerNews huggingface dataset:
Weird, the example in the post (after changing table/field names for my database)

with weeks as (
select week as week
from generate_series('2017-01-01'::date, now()::date, '1 week'::interval) weeks
),

SELECT weeks.week,
count(*)
FROM weeks,
test_results
WHERE
test_results.date_created > weeks.week
AND
test_results.date_created <= weeks.week - '1 week'::interval

Throws an error for me...

ERROR: syntax error at or near "SELECT"
LINE 5: SELECT weeks.week,
^
I know the curriculum is full. This is why I proposed we remove other stuff.

I do not propose we teach actual programming to kids. Just the fundamentals of computational thinking, for which an introduction to programming may work really well, and I expect 40 hours will be more than enough. Even a couple hours may be enough.

Computers pervade our lives. They're becoming the medium through which we do everything. We'd better learn to control them before they control us (I'm thinking of golden cages like the iStuff, and surveillance/advertising machines like gMail and Facebook).

The printing press allowed the people to read. The internet is allowing the people to write. Such a fundamental change in communication structures is bound to have similarly profound effects. But first, people need to learn to write. School isn't the place for that. So far, my best writing school has been public internet forums. School only taught me the very basics, then went on having me read novels I didn't enjoy. Before 1995, this was fine. Less so now.
Maybe, if you had a place to put a motor that large.

Modern motor realities:

1. Electric motors can be enormously overdriven for short periods when you need huge torque. The limits are heat dissipation and demagnetizing the permanent magnets in permanent magnet motors. With modern rare-earth magnets, the second is no longer a problem. Water cooling can deal with the first problem. If you have temperature sensing, you can safely overload temporarily and wait for cool-down. When you see one of those videos of a Tesla car accelerating in "launch mode", you're seeing this in action.

2. Power semiconductors have become really good. Power control is no longer a limiting factor on motors. For most of the 20th century, variable speed motor control for large motors was hard and took bulky, expensive gear. It was a serious problem with electric cars into the 1990s; burning out power controllers was a problem. That's been fixed. Modern electric cars and locomotives use AC synchronous motors with IGBT or MOSFET devices producing 3-phase power at the desired voltage, frequency, and phase to run the motor optimally. Locomotives synchronize all the wheels with electronics and software. This scales down all the way to hobbyist drone size. Robots get to use all this now off-the-shelf technology to run their motors.

3. Some research robots use "series elastic actuators". These are simply a motor driving a screw drive with a stiff spring attached. The trick is how they're used. When the actuator gets a shock load, as when a foot lands, the stiff spring is compressed. As it compresses, the control system detects this, and frantically spins the motor to unload the spring before the spring bottoms out. This works, but it's the opposite of energy recovery; it takes energy to absorb a load. It's possible to write software which makes such devices behave like a spring with an adjustable spring constant, but there's no energy recovery. Good for research, because these can be assembled from off the shelf parts. Not so good for battery life.

4. Gears are terrible at dealing with shock loads. One of the big advantages of direct drive is that "you cannot break the teeth of a magnetic field", as an early GE locomotive designer put it. The downside of direct drive is that torque increases with motor diameter (more leverage), and big flat motors tend to be inconvenient in robots. But there's been recent progress. See this direct-drive robot arm with small motors.[1] Very nice. No gears. No cables. No pulleys. Good force feedback. Nothing to break if somebody forces the arm. Energy recovery possible. Only 10Kg lift capacity, which is OK for industrial arms but not enough for a legged machine. Progress marches on; there may be an all-electric leg solution in time.

For decades, motors were a dull, boring, mature field. Motors came in standard sizes and speeds, and were interchangeable across vendors. Nobody worked much on new designs. Now, with much more elaborate control systems, people are innovating again. By the time there's a market for humanoid robots, the motors will probably be ready.

[1] http://www.kollmorgen.com/hi-in/service-and-support/knowledg...
"Be nice or else"

Hrm, wonder if that person is a member of yayhooray the design community; those exact words are what greets you when you log in.

Or, it used to back in the old days.
I don't know how you're laying out text in InDesign, but in the workflow I was speaking about above, you draw a set of "text boxes", link them into a sequence, and then drop an RTF file onto one of the boxes to create a live link between the boxes and the RTF document's content. You then align text to things like guides/rulers by snapping the boundaries of the text boxes to those guides/rulers.

Changing the text layout automatically re-flows the text across the text boxes. That means: adding/removing a text box; editing the properties of a text box; changing the content in the linked RTF; or moving another element to partially overlap a text box, when the box is set to make the text dodge intrusive elements. You don't have to worry about resizing a text box to make room for something; that text just appears in the next box and pushes everything down.

And changing the visual layout does absolutely nothing to the text. That is: moving any of the text boxes, or moving/creating/destroying any element other than a text box, as long as this doesn't affect overlap; editing text boxes of a different linked document, or static text boxes (e.g. a masthead); etc. So, visual design tweaks are guaranteed not to wreck a finished typography pass, even if that means you're sliding the margins around.

For the sake of anyone who hasn't tried a system like this: picture creating an HTML CSS layout, with your composition embedded in a <div> with `overflow: scroll;`... but then picture a magical new <viewport> element, that provides distinct viewports onto a single scrolling container's render-context at different (contiguous, non-overlapping) scroll offsets. You could use such an element to implement CSS columns—but also any number of other arbitrary layouts.
The Accept header specifies the acceptable MIME types for the response. It doesn't specify how the request itself is supposed to be interpreted. Picking between alternate MIME types with the Accept header is still supposed to give you the same content, just in different representations.

The proper solution here is to just define a new header, like X-API-Version (note: the article picked a header API-Version, but since this is a non-standard vendor-specific header it should be prefixed with X-).
But you're not getting rid of the warped incentive structures, you're just simulating them! Assuming you actually get your data and everything perfect you just get capitalism-world, warts and all.

If you just want to be able to digitally assign more symbolic purchasing power to the agents dispossessed by the current system, the government already has the power and infrastructure to do that. Adding another level of computer abstraction to the already symbolic computerized money system doesn't do anything.
> More information in the system = greater efficiency.

More information does not always increase market efficiency. In fact, it can have just the opposite effect when there is information asymmetry.

https://en.wikipedia.org/wiki/Information_asymmetry

http://www.economicsonline.co.uk/Market_failures/Information...
You're assuming that when total industrial wars begin, everyone decides to fight with only and exactly what they started with. That capacity never increases, that there are no learning curves.

From our sample set of n=1, this isn't realistic. Production would rise, by hook or by crook. If it ran long enough, you'd see carriers coming off the docks every month or two, with their battle groups completely filled.

Again, I hope we never find out.
date_trunc() is one way but to_char is even better as you can get the resulting output to something nicer. Doing:

SELECT DATE_TRUNC('week', CURRENT_TIMESTAMP);

gives:

2017-06-05 00:00:00+00

vs:

SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-WW"wk"');

gives:

2017-23wk
"Is Obama planning a coup?"

Siri: Here's what I found on the web for "is obama planning a coo"

Google: According to details exposed in Western Center for Journalism’s exclusive video, not only could Obama be in bed with communist Chinese, but Obama may in fact be planning a communist coup d’etat at the end of his term in 2016!

(Definitive answering style is not always better...)

More:

https://www.washingtonpost.com/news/the-intersect/wp/2017/03...

http://www.businessinsider.com/google-home-claims-obama-plan...
Any future event (such as a meeting) can't be stored as UTC, because time zone rules may change between now and the event date, but the event still needs to happen 10am local time.
We tried to design a new generation of cryptocurrencies. What do you think?
Even at the most basic level, Forth and lisp are quite different. Lisp has grouping and evaluates using a tree. forth has no grouping* and evaluates completely linearly.

* well you can hack it to give it grouping, but usually it doesn't.
Remove the comma before the SELECT?
> After the codebase was converted, the team generally concurred that sagas were a waste of time and effort, especially with async/await gaining steam.

To be fair, I'd almost certainly recommend async/await for simpler use cases- in particular, an application in which API calls are the only async behavior. However, in our situation, redux-saga turned out to work pretty well. We needed to coordinate some relatively complex UI flows (the user would draw on a map, then the app would POST the coords to the server). Before introducing redux-saga, we were starting to get lost in a daisy-chain of Redux actions.

> Reasoning about what code runs next is easy, until it's not.

This was the general idea behind "navigationSaga"- to set things up so there's as little as possible happening at a given time.

> The claims that testability is improved do not ring true to me. Some of those tests were just awful to write and maintain.

I dunno. On one hand, I wish there were better tools for testing sagas, but on the other, testing long chains of Promises has caused me all kinds of headaches in the past, as well. I find that it's easier for me to keep responsibilities separate when using sagas than it is using promises or suchlike.

And for what it's worth, I'm not trying to bill sagas as a be-all-end-all solution for all life's problems. :) I was just trying to sorta explicate an approach that worked for us.
You're right, I tried to keep this section as brief as I could. DOM Based XSS could happen from any source, but the hardest-to-detect (and very common) variant is using the fragment (the part after the #) to inject the payload, which is never sent to the user.
Someone is going to make that argument however: Google Ads disallows displaying their ads that way, and is extremely good at finding websites that do that, and not only banning them but keeping any potentially earned money as well.

EU has already tried to make similar arguments to "break up Google" (lol, it's an American company, glwt) by basically blaming them for having a fair ToS and enforces it like no tommorow, thus producing services that attracts users.

Thus, having an ad service that bans shitty publishers and advertisers both makes publishers and advertisers (sometimes exclusively) do business with Google.

So, Google making Chrome ban shitty publishers and ad networks that harbor shitty publishers and advertisers ... makes Google look like they're not attacking themselves: which, well, they aren't, because they simply don't engage in that behavior on their ad network.

There's probably a shorter way of explaining this.
use Facebook oAuth to log into a facebook clone? Will they let that happen?
yeah, the comma after the "with" block shouldn't be there.

i.e.,

... weeks
)
SELECT weeks.week
Links? When I tried I just used "[" to construct an empty dynamic array, and pushed words into it until I found "]". Very inefficient, but simple.
If Google and Facebook use this policy to establish an oligopoly (or cement their existing one), and that allows Google and Facebook to raise advertising prices above equilibrium pricing, then that squeezes companies that wish to advertise with costs that are shifted onto consumers.

Additionally, having a Google/Facebook oligopoly hurts incumbents when Google uses its overwhelming advertising market power to give itself exclusive advertising deals in order to promote some product. Advertising monopolies can be used to prop up and establish other monopolies. The most obvious example of Google doing this is advertising Chrome on the front page of google.com.
UK sees longest period of negative power prices
>but this idea is something that economists have already discussed to death: google "the Socialist Calculation Debate"

I wouldn't say it's been "discussed to death" at all; have you read Cockshott's "Towards a New Socialism"? He tries to explain why the problem isn't really a problem at all, with his idea of computerised central planning.
People do have their own personal websites. Brought to you by SquareSpace.
It's not the same: date_trunc returns timestamp, to_char returns a string.
The Ultimate Guide to Making Money as a Freelancer
Partly. But it's also an act of risk hedging. By locking in prices for 20 years, the buyer is insulated from rising prices and the generator is insulated from falling prices.
Owning and managing software business we develop using multiple technologies

Mobile objective c, swift, Android java, xamarin.net, phone gap

Web asp.net Mvc , php, java

Etc...

Using Asp.net Mvc requires using 3rd party ui libraries and
Depends on size of team and experience in .net, usually we assign.net developers with at least 4 years experience in .net and front-end currently mvvm js libraries

If you starter in .net you have learning curve but this is reducing as technologies improve
Google is a data mining and extraction company. That's hard to argue with.

Are you complaining about the "sells personal information" part?
I think automatic tipping is the way to go. If blog posts and online content feature flattr (or any) widgets prominently, people will naturally be curious about it and contribute.

People also fund patreons, donate to charity etc to show off and get recognition - maybe some integration into one's social media to show which content creators you enjoy (support).
Difference between document.ready and window.load in jQuery
This is why Chuck Moore designed his own chips like GreenArrays I believe. There is no impedance mismatch between software and hardware and the entire thing is optimized for the problem domain and massively parallel. I'm sure you can get more speed out of C, but it no other language (even Lisp or Smalltalk) can the user understand the entirety of the system. Lisp machines and Smalltalk machines probably are about as close as possible, but I have zero experience with them personally. Perhaps the project to put PicoLisp on bare-metal qualifies if one uses a simple enough microcontroller as the language itself is about as simple as you can get a practical lisp.
This article was very much about the data we've collected and our analysis of it, as opposed to our opinions as to why - had to keep it to a reasonable length!
So we kept that section short in the end. I do plan follow up posts that provide my theories as to why it's happening, and I think a best practices guide that discusses template-related XSS is a good idea. In the meantime, you can check out this related post: https://snyk.io/blog/type-manipulation/
Micropub clients: https://indieweb.org/Micropub/Clients

Micropub servers: https://indieweb.org/Micropub/Servers

Webmention implementations: https://indieweb.org/Webmention

More details: https://indieweb.org/indieweb_network
> The fact that Siri doesn't acknowledge it's listening or even give you a visual indicator that it's attention has been caught

Yes it does. It makes a very distinct sound when it starts listening, and the screen itself transitions to the Siri screen and shows the animating waveform.
Learned something new today! Surprised that never crossed my mind, even though I experience daylight saving every year.
Do you have a more detailed desription about how this method works? Your links do not describe it in much detail but it is interesting.

Even without the details my sense is that this method suffers from some very serious problems. Picking the two candidates with the highest initial votes seems like a bad idea; this can remove all of the most widely supported candidates if there are enough similar candidates (i.e. if 70% of the voters are split between 10 candidates and 30% between two candidates, but the 70% consider the two that the 30% would elect to be least favored).

In general, strategic voting is likely to have a huge effect. I don't understand what the write-in option does, but if it allows you to vote for candidates in a different district than that would allow votes to be used to disloge more influential members of an opposing party against the wishes of the district that candidate actually represents.

In any case, always interesting to learn about possible voting methods :).

IMO, limiting the effectiveness of strategic voting is one of the most important things a voting method should do, while also not electing anyone who would heavily lose in two candidate races vs. any of the other candidates. I don't think it needs to be strictly Condorcet, but the further away from that a method gets (at least when geographic representation is involed) the less reasonable it seems in a lot of ways IMO.

I've been thinking about the possibility of a parallel system where the grographical representation part is non-partisan. I think this might work if geographical representatives are allowed and expected to allocate their vote on a given issue proportionally to how the people they represent would vote on that issue.
awkward typo there! Fixed now.
I think that you are too naive and part of the problem why the Google has become so dominant.

I actually installed an ad-blocker because I could not stand video ads (I would call it TV-cation of the Internet) and that was the easiest way to eliminate them.

You argue that people can install another browser and use an ad-blocker with that.

This is true for now (given reasonably motivated and knowledgeable users), but Google is also pushing DRM into web browsers.

This opens a possibility to restrict access to a website to all browsers but Google one. Given their market dominance they can do this.
> plenty of non-Google advertisers are represented in the decision making process, to the point where one can be convinced that a variety of views were considered.

Just because they are seeking input from others doesn't mean they are the good guys. Google's opinion can change very quickly, and plenty of smaller shops can be hurt by that, even if they are offering a superior product.

This just reeks of too much potential for abuse.
I couldn't help codependently caretaking everyone in this thread by attempting to other-esteem everyone through the upvoting of all comments.
Urbit is designed in theory so that proportionate incentives exist at each stage of adoption. Initially it will be curios only, like the interwebs in 1995. If it gains value then applications will be built on it.

Even if urbit fails, the theory is sound. It turns out economics is really effective. And advocacy (99% of the other solutions proposed in this thread) is as limp as it was in 2000.
Random thought, but would it make sense to give each client a unique base path for URL endpoints and let them instantiate new endpoints with different versions?

Ex:

mysite.com/api/UUID_for_api_v1/cars/1

and

mysite.com/api/UUID_for_api_v2/automobiles/1
I don't generate my own power either, the line has to be drawn somewhere.
This makes sense. Thanks for explaining. I don't really know the ads ecosystem that well, so those were just my inferences from the blog post. I'm sure that was the intention of the post :-)
Do you use Cosmos? How is it?
Thanks for the comment here. I spent some time thinking about this topic. I've done a write up here if you are interested - http://blog.spartakode.com/an-ad-skipper-for-youtube-that-pa...

The argument can be summarized as:

1. Skipping ads quickly on every chance you get means you are watching the video for "free". Which isn't fair to the creator

2. Not skipping ads in order to support the creator isn't great for advertisers either.

3. That said, Google is moving towards deprecating 30 second unskippable ads (unskippable ads will have to be 15-20 seconds or less). This means that users in general view ads longer than 20 seconds to be intrusive which means that the majority of people are likely skipping ads unless they are really compelling.

4. It's an unfortunate situation to be in but I choose to side with the content creators since ultimately they drive the whole site. YouTube ads should in the future normalise towards the better format of 15 seconds or less and most of them will become unskippable. This will happen regardless of this extension especially given that the majority of their traffic will come from mobile anyway.

5. Thus in the practical view of things, this chrome extension is likely to be used by a maximum of 1000 users (being extremely generous here). The market says that people just want to skip 5 seconds in. Not be ethical. And so I resolve the ethics conundrum within myself by accepting that this isn't likely to affect the YouTube eco system as a whole negatively, but it will at the very least, play a tiny part in contributing to the creators well being over time.

Last note: I really love YouTube Red. I broke borders using my VPN to get it but the hassle of having to keep the VPN going to use it especially on the mobile is a problem. Also I'm scared that YouTube will ban my entire Google account for breaking ToS so I stopped. The day they make it available globally, I'll be a happy person with a credit card at the ready :).
Yeah. This was pretty upsetting to discover. I had been blindly using my reddit upvote history as a supplementary personal log of sorts, for many years. And most of that's now just gone.

Thank god I haven't made over 1000 comments or posts with any one account.

The data's all still in the database, but due to their caching setup, only the last 1000 of anything is publicly indexed. While everything's technically reachable, it's all deep web. To recover something private like upvoted or saved posts, we're talking heat-death-of-the-universe, through a full-table-scan squeezed through brute-forcing a search box, while authenticated, with rate limits.
What ads would get blocked? The ones not sold by Google, for the most part.

I can see it coming - "Host on AMP, and your ads will get through". "Use Google Ads, and your ads will get through." "Pay dues to the Acceptable Ad Consortium, and your ads will get through."

Look what happened with TrustE and their ratings. It started out as a good idea, and ended up as a cover for scumbags. Today, a TrustE seal has negative value.[1]

[1] http://www.benedelman.org/news/092506-1.html
makes sense. After removing it...

with weeks as (
select week as week
from generate_series('2017-01-01'::date, now()::date, '1 week'::interval) weeks
)

SELECT weeks.week,
count(*)
FROM weeks,
test_results
WHERE
test_results.date_created > weeks.week
AND
test_results.date_created <= weeks.week - '1 week'::interval

it throws...

ERROR: column "week" does not exist
LINE 2: select week as week
^

I would move this to the post's own "replies" section, but it doesn't have one.