HNHacker News
TopNewBestAskShowJobs

TicklishTiger

321 karma · joined February 4, 2019

submissionscomments
TicklishTiger··on Patreon ups its revenue cut, but grandfathers in old creators
It's stunning, that over 20 years of building the Web, we still do not have the equivalent of cash.

Most creators that make big bucks on Patreon do not use it for donations. They simply use it to sell stuff. Like https://www.patreon.com/PokeGo20 who have 62k "patreons" paying for a "fake my Pokemon Go position" software. Or https://www.patreon.com/chapotraphouse who make over $100k/month by selling access to their premium content.

Patreon is needed because selling on the net is such a hassle. Nobody wants to fiddle with their credit card unless it is important. Nobody wants to give it to "someone on the internet".

It's funny, because it would be so totally easy to create something like cash on the web. It just needs someone to start a business of selling tokens for $1.10 and buying them back from whoever comes first for $1. Voila - internet cash. Sell sealed tokens in stores (over the counter or via a machine that eats coins) - voila! anonymous internet cash.

TicklishTiger··on New iPad Air and iPad Mini
Can you run Linux on these machines?

If not, does anybody here have experience running Linux on a tablet?

It could make a nice experience to have a tablet instead of a laptop, so you can put the tablet a bit higher and use it with an external bluetooth keyboard. I think that would work, right?

TicklishTiger··on Ask HN: Is walking in the rain bad for your health?
Is there anything about this on the internet that supports this thesis? Any studies?
TicklishTiger··on Ask HN: Is walking in the rain bad for your health?
I read this as a "Yes".

    But really, rain isn't the reason anyone
    gets sick. A weak immune system is.
That is like saying "Guns don't kill people. Not wearing bullet proof vests does."
TicklishTiger··on Show HN: Music Portraits as Computer Art
Thumbs up for the most unusual HN submission I have seen in a long time!
TicklishTiger··on Rebuilding My Personal Infrastructure With Alpine Linux and Docker

    That's pretty much the baseline when dealing
    with any software system
Exactly. And now instead of one system, he has 11.

    All it takes is inheriting the latest
    version of an image
He is not using "an image". From the article: "After the Alpine Linux 3.9.1 release I noticed the official Docker images had not been updated so I built my own."

    I mean, this stuff is handled
    automatically by any CI/CD pipeline.
He has not describe any CI/CD pipeline involved in his infrastructure. Yet another aspect he has to build.

    you can also sh into a container
    and upgrade it yourself
Into all 10 containers.
TicklishTiger··on Rebuilding My Personal Infrastructure With Alpine Linux and Docker
Now every time a package in Alpine gets an update you have to update all 10 containers. Because you will have no way of knowing if that package impacts the security of the service running in that container.

Yes, most docker enthusiasts don't do this. They run a bunch of containers full of security holes.

I expect this to become a hot topic as soon as we will start witnessing data breaches that have outdated containers as their source.

TicklishTiger··on Rebuilding My Personal Infrastructure With Alpine Linux and Docker

    nest of dependencies which is hard to
    explicitly reproduce on other systems
Not if the other system is using the same OS.

A good way is to call your setup script "setup_debian_9.sh" for example, so it is clear which OS it was tested on.

TicklishTiger··on Rebuilding My Personal Infrastructure With Alpine Linux and Docker
Yes, I did!

This totally voids my comment!

TicklishTiger··on Rebuilding My Personal Infrastructure With Alpine Linux and Docker

    I'm not sure what are the benefits
    going `FROM alpine` and installing
    nginx, than just starting `FROM nginx:alpine`.
The former hands your balls over to Docker Inc and the "Alpine Linux Development Team".

The latter hands your balls over to Docker Inc, the "Alpine Linux Development Team" and a guy or girl called "jkilbride".

Edit: No, it does not! See toong's comment below.

TicklishTiger··on Rebuilding My Personal Infrastructure With Alpine Linux and Docker
You guessed wrong.

This is not about a single Docker file vs a setup script. If you read my post you will see that I describe the steps the author took. And they are plenty.

My guess is that you did not read the article at all.

He was "building Docker images for each of the services". So not a single one. 10 of them. And he signed up for a commercial registry to host them. An additional service he depends on now.

Yet even a single Docker file would not be as simple as a setup script. A setup script on the host OS would install some packages that the host OS will keep up to date. Using a Docker image instead puts the burden on you to keep it up to date.

TicklishTiger··on Rebuilding My Personal Infrastructure With Alpine Linux and Docker

    OP can now deploy all of his websites
    onto another server instantly
By running the docker specific setup files he describes in his post?

He could have just written a setup script that installs the needed services on any machine.

Without adding all that docker specific complexity described in the post:

    Moving to Alpine
    Building his own Alpine image
    Building 9 more Docker images
    Orchastrate all the docker images
    Sign up for Amazons container registry
Now additionally to the host OS, he has to maintain 10 frickin docker images.

Seems totally insane to me.

TicklishTiger··on IBM is preparing for a UK exit from the EU
Except for the sticky header, this is a surprisingly useable page.

It's funny, how in 2019, it feels strangely unfamiliar to be able to simply read a page without having to fight it and be annoyed by a million dark patterns.

TicklishTiger··on Brexit: MPs reject Theresa May's deal by 149 votes
Why do politicians always seem so uncivilized to me?

Both sides of an argument always argue as if they believe the other side is stupid and they know for sure they are right.

That is the biggest stupidity in itself.

Why are there no politicians that spend their time on trying to understand the other side, rather then shouting out their own message? Those would be the ones I would vote. But they simply do not exist.

TicklishTiger··on Web Scraping with Electron
That looks interesting.

Where does that ws tool come from? Is it this one? https://packages.debian.org/stretch/node-ws

How do you send javascript commands over that protocol?

TicklishTiger··on Web Scraping with Electron
How do you send dev console commands to that port?
TicklishTiger··on Web Scraping with Electron
Yes, that might work. Maybe an even better approach is to use chromium-chromedriver.

I just got it working like this:

    apt install chromium-chromedriver
    chromedriver
This seems to create a service that listens on port 9515 for standardized commands to remote control a chromium instance. The commands seem to be specified by the W3C:

https://www.w3.org/TR/webdriver/

I got it to open a browser with this curl command:

    curl  -d '{ "desiredCapabilities": { "caps": { "nativeEvents": false, "browserName": "chrome", "version": "", "platform": "ANY" } } }'  http://localhost:9515/session
I have not yet figured out how to send javascript commands though.
TicklishTiger··on Web Scraping with Electron
I would give low level webdrivers a go. But so far I have not even figured out how to install one for Chromium on Debian.

    apt install chromedriver
gives me:

    Package 'chromedriver' has no installation candidate
There is something called "chromium-chromedriver".

Let me try that ... one moment ...

Ok. So I start it via:

    apt install chromium-chromedriver
Now according to the docs, this should create a browser:

    curl  -d '{ "desiredCapabilities": { "caps": { "nativeEvents": false, "browserName": "chrome", "version": "", "platform": "ANY" } } }'  http://localhost:9515/session
Ha! It works!

So chromedriver might be a solution!

TicklishTiger··on Web Scraping with Electron

    What would you do with this solution
Automate the browser

    that can’t already be done
I did not say it can't be done now. But I don't want the overhead of pupeteer, selenium plus the client libraries to control them. These things are fricking monsters. And they will go out of fashion at some point. Simple javascript commands will not.

    with headless browsers
I don't want headless. I just want to automate.
TicklishTiger··on Web Scraping with Electron
I wish there was an easy way to send commands to the console of a browser.

That would be all I need to satisfy all my browser automation tasks.

Without installing and learning any frameworks.

Say there was a linux command 'SendToChromium' that would do that for Chromium. Then to navigate to some page one could simply do this:

SendToChromium location.href="/somepage.html"

SendToChromium should return the output of the command. So to get the html of the current page, one would simply do:

SendToChromium document.body.innerHTML > theBody.html

Ideally the browser would listen for this type of command on a local port. So instead of needing a binary 'SendToChromium' one could simply start Chromium in listening mode:

chromium --listen 12345

And then talk to it via http:

curl 127.0.0.1:12345/execute?command=location.href="/somepage.html"

TicklishTiger··on What you need may be “pipeline +Unix commands” only

    if your data set can be disposed by an
    awk script, it should not be called “big data”.
Why not? I don't see how awk is limited to a certain amount of data.
TicklishTiger··on Simpson’s Paradox (2016)
Probably.
TicklishTiger··on Simpson’s Paradox (2016)
True. Shame on me. Removed this line from my otherwise wonderful comment :)
TicklishTiger··on Simpson’s Paradox (2016)
That is not a paradox. It's just the fact that a theory about something might not hold when you take a closer look at that something.

In the articles example, the admission rates of a university seemed to indicate that there is a bias against women.

Zooming in and looking at the admission rates of the individual departments seem to indicate that there is a bias against men.

The article makes it sound like the first theory was wrong. And the second theory - the bias against men - is the real truth.

Zooming in further might indicate the opposite again.

Take two boxers. So far, one of them has won 86% of his fights and the other one has won 100%. According to the article, "The data is clear".

Now we add more data:

One fighter is Mike Tyson. He won 50 of his 58 fights. The other one is me. I did one fight in kindergarden and won it. But to be honest: I would not want to fight Tyson. As paradox as it sounds.

TicklishTiger··on AdNauseam – clicking ads so you don't have to
First of all, it's the other way round. This extension will execute the ads and send data to advertisers. If you don't want that, you need to use an ad blocker, not an ad clicker.

And second, you trust them with totally different things. Ads run in the context of a website. Which is heavily sandboxed. Extensions run outside of it and can do anything they want to your browsing.

TicklishTiger··on AdNauseam – clicking ads so you don't have to
"Install AdNauseam 3.7"

3rd party ads are bad for privacy. But browser extensions are even worse. They can see everything you do on any website. They can change what you see. Redirect you. Send data wherever they want. Without you noticing any of this.

Besides, using this thing result in sending even more data to the advertisers.

I can understand the hate about how user hostile the web is. But this is not a solution. A solution would be to use bloated websites less.

On HN, we could downrank pages that send data to 3rd parties like this: Tell the submitter of a page "The page loads sends data to 75 different servers. Please be aware that we will not show it on the front page until it has at least 75 upvotes".

This would make an impact.

Imagine Reddit or Twitter follwing this practice. The web would become better fast.

TicklishTiger··on We Need Chrome No More
Googles browser offers functionality to Googles websites that it does not offer to any other website.

When you log into an Google owned site, it interacts with the browser so that you are 'logged into your browser' with that Google account.

That is not pushing standards into a direction. That is blatant exploitation of ther market position.

TicklishTiger··on Redis Turns 10 – How it started with a single post on Hacker News
The page loads scripts from an insane number of hosts:

redislabs.com 3lift.com eb2.3lift.com adnxs.com ib.adnxs.com adroll.com d.adroll.com s.adroll.com advertising.com pixel.advertising.com s3.amazonaws.com execute-api.us-east-1.amazonaws.com x7ussrk21g.execute-api.us-east-1.amazonaws.com auryc.com mt.auryc.com bidswitch.net x.bidswitch.net bizible.com cdn.bizible.com bizographics.com sjs.bizographics.com casalemedia.com dsum-sec.casalemedia.com cloudflare.com cdnjs.cloudflare.com createjs.com code.createjs.com digitalreachagency.com cdn.digitalreachagency.com doubleclick.net g.doubleclick.net cm.g.doubleclick.net googleads.g.doubleclick.net stats.g.doubleclick.net static.doubleclick.net drift.com api.drift.com chat.api.drift.com 77314-14.chat.api.drift.com conversation.api.drift.com customer.api.drift.com enrichment.api.drift.com event.api.drift.com live.api.drift.com 77314-14.live.api.drift.com metrics.api.drift.com driftt.com js.driftt.com facebook.com www.facebook.com facebook.net connect.facebook.net fontawesome.com use.fontawesome.com ggpht.com yt3.ggpht.com google-analytics.com www.google-analytics.com google.com www.google.com fonts.googleapis.com googletagmanager.com www.googletagmanager.com gstatic.com fonts.gstatic.com hotjar.com in.hotjar.com script.hotjar.com static.hotjar.com vars.hotjar.com imgix.net driftt.imgix.net leadlander.com tracking.leadlander.com linkedin.com ads.linkedin.com px.ads.linkedin.com www.linkedin.com marketo.com lonrtp1.marketo.com lonrtp1-cdn.marketo.com rtp-static.marketo.com marketo.net munchkin.marketo.net mktoresp.com 915-nfd-128.mktoresp.com mrpdata.net j.mrpdata.net openx.net us-u.openx.net outbrain.com sync.outbrain.com pubmatic.com simage2.pubmatic.com reachforce.com cdn.reachforce.com smartformsapi.reachforce.com rlcdn.com idsync.rlcdn.com rubiconproject.com pixel.rubiconproject.com sf14g.com t.sf14g.com stackadapt.com srv.stackadapt.com tags.srv.stackadapt.com taboola.com match.taboola.com trc.taboola.com userty.com cdn.userty.com yahoo.com ads.yahoo.com youtube.com www.youtube.com ytimg.com i.ytimg.com

I guess some of all those hosts is doing something that goes haywire and results in this problem.

Would be cool if we could downrank pages like this somehow. Maybe tell the submitter "The page loads scripts (and therefore sends data to) 117 different servers. Please be aware that we will not show it on the front page until it has at least 117 upvotes".

TicklishTiger··on Buefy: UI Components for Vue.js Based on Bulma

    Working with custom "fantasy" elements is quite
    typical of modern frontend development
And eating too much fat is quite typical of the modern diet. I prefer to eat healthy nontheless.
TicklishTiger··on Buefy: UI Components for Vue.js Based on Bulma
What is a 'field'?

I get the feeling that Buefy's approach is to use custom elements instead of native elements? So something like an <input> element becomes some <b-field> thing?

I am sceptical if that is a good thing. I would not want to swap out all regular html for some fantasy elements of a library.

← PreviousPage 3 of 4Next →