HNHacker News
TopNewBestAskShowJobs

Ralfp

1,999 karma · joined October 16, 2013

xstack developer working with Python and JavaScript

I've created Misago open source forum software which I am actively improving in my spare time: https://github.com/rafalp/Misago

submissionscomments
Ralfp··on In Denmark's Train Dream, the Next Big City Is Only an Hour Away
People flock to places that are great to live, and those that have many services readily available in the walking distance are usually greater than those that don't.

But I am European living near the big city's center without car, so I am biased.

"In US 100 years is old - in Europe 100km is far."

> My pet theory is it effectively decreases the available housing supply by reducing the number of locations that people can practically commute from.

Also consider the Downs–Thomson paradox: the equilibrium speed of car traffic on a road network is determined by the average door-to-door speed of equivalent journeys taken by public transport. It is a paradox in that improvements in the road network will not reduce traffic congestion. Improvements in the road network can make congestion worse if the improvements make public transport more inconvenient or if it shifts investment, causing disinvestment in the public transport system.

Wiki: https://en.wikipedia.org/wiki/Downs%E2%80%93Thomson_paradox

Ralfp··on Editor.js – Block Styled Editor
Every browser uses different markup to represent contents of contenteditable. One browser uses div for text and splits it into two when enter is pressed, other browser inserts <br/>, next one has paragraph, etc. ect.

JSON is not here for resemblance, but for normalization. You force single presentation of things from start, and when user presses enter (or other text composition event happens) you prevent default action, update document model (JSON) and then update the HTML.

This approach is much more sane and predictable than trying to trust browser's HTML.

Ralfp··on A Python Interpreter Written in Rust
> cPython supports inline C

First time I am hearing this. Can you share an example?

Ralfp··on De-Suckafying Apple’s Butterfly Keyboard
I've got my MBP on November 2016. Keyboard was ok until one day key "R" didn't click on pressing (it still registered). I've tried blowing air from different angles, shaking, fiddling under it with thin piece of paper to no avail.

One day I've pressed it, and it did click, and then it popped out. By then Apple had free servicing action in effect, so I've went to local store and they replaced my top body with new one (also replacing battery, touchpad and speakers).

Touchbar is completely useless for me. If anything, it freaks me out because there's absolutely zero feedback to finger when I accidentally touch it.

Ralfp··on EU Copyright Directive is a catastrophe for free expression and competition
This is patently false. Theme in pre-1914 continental European press was monarchies struggling with independence movements, question of next Franc-Prussian conflict (because everybody was certain that peace between those two can't hold), and stability of Russian empire (that was at time engaged in bloody war with Japanese while being shaken by internal tensions).

Inter-war period was hardly one of economical integration, considered that most of European countries were engaged in economic war with other - eg. Poland had no economic exchange with its neighbours.

Ralfp··on EU Copyright Directive is a catastrophe for free expression and competition
NATO is military pact. EU has economic advantages for member states like single market and trade union (so you can't create trade agreement in WTO sense with single EU member).
Ralfp··on EU Copyright Directive is a catastrophe for free expression and competition
It forced my government to break national monopoly on internet access, bringing ASDL prices down from $265 month to just $8.
Ralfp··on Toshi: An Elasticsearch competitor written in Rust
Major problem with Postgres full-text search that those articles don't dwell into too much is that unless your documents are in one of the "chosen languages", you are more likely to find support for your language in search engine (like ElasticSearch) than get it on PostgreSQL.

You can convert existing dictionaries available to format Postgres understand, but this is annoying pain point if you happen to be an open source project like CMS or communication platform.

Ralfp··on Retro game engine for developers that enjoy creating games like it's 1997
Also in stupid „triple AAA” economy publishers consider tactic games too niche to be viable product.

They would try to turn it into mobile game or such.

Ralfp··on YouTube Stars Are Pushing a Shady Gambling Site
If they are really a lottery, they are betting it on nobody from Poland taking interest in them, because lotteries in Poland are de-facto state monopoly due to amount of requirements imposed on lottery organizers:

Lottery draws are done in presence of commission including members of state's Commission of games and gambling (Komisja gier i zakładów - KGiZ).

Commission members are named in document describing game's terms and conditions.

Commission records and protocols drawing process, and stores those because lottery participants have unconditional right to request access to them.

Possible fines went into millions of PLN - enough to sink small company and piss off larger one.

I've been working at advertising agency doing lotteries for certain big home brand. The way we did that was paying 3rd party company with ties to KGiZ for organizing those, because it was crazy to try doing it otherwise.

Ralfp··on Show HN: AutoComplete.js v2.0
I am aware of what Fuse.js does and what fuzzy matching is ;)

However if project is named "autocomplete 2.0" (which is an UI concept first) and your landing page focuses on search input with suggestions, it's safe to assume whats the focus of the library.

Ralfp··on Show HN: AutoComplete.js v2.0
Fuse appears to be search engine, and OP is sharing the autocompletion component for use in interface.
Ralfp··on Star Citizen: The Road to Release, Financials and New Partners
If this is how you've understood my message, I guess it proves my point of how unreasonable some of SC fans are in discussions, seeking conspiracies everywhere.
Ralfp··on Star Citizen: The Road to Release, Financials and New Partners
Its just zoning combined with streaming, but under other name - its been around for a long time, at least the times of Unreal Engine because I clearly remember dealing with zones in first Unreal's editor back in 98.

As fun fact, its something you are getting for free with Unreal Engine 4.smth these days because Epic needed it for Fortnite Battle Royale ;)

Ralfp··on Star Citizen: The Road to Release, Financials and New Partners
I would like to mention Avorion. Its sandbox space game developed by two guys with heavy emphasis on user-created content and procedural generation that I've bought on Steam sale two years ago for 7EUR and devs are still updating it adding new features and fixing issues:

https://store.steampowered.com/app/445220/Avorion/

Its considerably small and limited in scope, yet game progression feels rewarding enough that some people (me included) have clocked hundreds of hours doing it.

This is the kind of game I feel we need more of. Small games focused on limited number of features, continously improving those features.

Ralfp··on Star Citizen: The Road to Release, Financials and New Partners
But people are very much in right to have negative opinion on how game is being managed and developed. That's what healthy discussion is about: inviting critical opinions.

I've missed the point when fanbase became fiercely defensive of SC, but it's crazy how quickly reaction to any criticism of the game is to shut down that criticism. Saying that "Chris Robets said in advance that game will be developed differently" is not some sort of "get out of the jail card" for criticizing them for ballooning the game out of scope.

It's actually crazy how far some people are putting in "for defense of a dream". I once saw a comment under the article about SC which's author was berating the site for not knowing what they are writing about and telling them to shut it. Because comment was made using facebook comments, I've decided to follow the link to Facebook profile for my own curiosity.

His Facebook profile was literally those things:

- Intro was I am 64 years old retiree living somewhere. I am participating in creation of Star Citizen video game and love it!

- Wall was usual posts with photos of relatives, family meetings, travels and shares of StarCitizen news/commentaries

It's absolutely nuts!

Ralfp··on Star Citizen: The Road to Release, Financials and New Partners
I'm in "stand on the side and enjoy the show" camp myself, but looking at gameplays, the game is not that lacking. Its vertical slice that they can now build upon. I'm not aware if there's dynamic economy or sandbox wideopen yet, but I'm not losing anything holding out and bidding my time for final release.
Ralfp··on Fork Over Passwords or Pay the Price, New Zealand Tells Travelers
But this is okay! After all if you are not breaking the law, you have nothing to hide, and no reason to feel worried! Privacy is smoke screen criminals are making up to obstruct the justice!
Ralfp··on “Money doesn't interest me” – Creator of Blender talks about its future
The interview is long one, but I've found Tom's observations on creating and running open source projects very insightful and interesting.
Ralfp··on HTTPS-Portal: Automated HTTPS server powered by Nginx, Let’s Encrypt and Docker
I'm also python dev and I'm embracing docker for delivering my app to users.

> Why is docker better than virtualenv with a requirements.txt file

One of issues that `docker-compose build` solves better is that venv is superconfusing to your non-python users. I've had people:

- skip it and do `python setup.py install` instead - skip it and install requirements globally `pip install -r requirements.txt` because thats how it worked for them last time they used python - version control their `venv` directory - backup and upload their `venv` directory on new server when moving

Now they just do `./appctl setup` that asks them for few things, writes `setup.env` file for docker-compose, and then runs `docker-compose build`

But this is only beginning. Thanks to `docker-compose` that `build` step also installs:

- PostgreSQL database - Redis for caching and message queue - UWSGI - Celery - Nginx proxy

Ralfp··on Bootstrap 4.1.2 released
Why not use react-strap? It offers React reimplementations of Bootstrap components.
Ralfp··on Rome vs Greece: a clash of empires
> The Poles were a little bit more courageous than us and that attitude saw their country split into three.

This is very simplistic way to describe reasons behind partitioning of Poland, which was by then standards very large multiethnic country with borders from Baltic to Black Sea and ability to raise considerable military power to defend its borders in times of need.

Commonwealth's dissolution came from the inside. There was no centralization of power in Poland. King was de-facto figurehead with real power being divided between hundreds of nobles. Everybody else was professionalizing their military, but that was impossible to do in Poland because we were 18th century country that relied on King rallying nobles rallying their bannermen for military. There was no chain of command, grand strategy or even unified arsenal. That was ridiculous but nobles wanted it to stay that way so king or congress could never contest their power. What happened instead was country being partitioned and nobility getting the boot from new rulers that did not tolerate private kingdoms, private armies or having to negotiate with every single noble if they wanted to change something.

Ralfp··on So Your Startup Received the Nightmare GDPR Letter
Thanks for answers!

> You could try to stretch the law to include that particular example but from my reading of it this is perfectly acceptable.

But I should still note about the fact in my privacy policy, shouldn't I?

Couple other things I've noted when working on GDPR compliance for my forum:

- It may be good idea to write in your forum rules that you don't allow users to embed their data outside of forum profile. - Forums accumulate tons of lurker accounts (users that register account but don't post or browse anything) that could be automatically deleted - Forums like to log IP's used by users when they, say, post messages. Those could be overwritten to 0.0.0.0 for items older than X days.

I've also been working on privacy policy template for people in my position that I have on GitHub and would love to have any feedback:

https://github.com/rafalp/misago-privacy-policy-examples/blo...

Ralfp··on So Your Startup Received the Nightmare GDPR Letter
What worries me most is how little is being said about private-operated sites. I am little Joe running internet forum about space battles with maybe 5 active users right now and no more than 100 active members historically. Should I sign data processing agreement with Google because I am using Gmail to send E-mails? Should I hire DPO? Am I risking my house being taken from me to cover multimilion fine because user posted their photo or e-mail 5 years ago and I’ve missed it because I don’t delete user-posted content together with their account?
Ralfp··on My struggle to learn React
Give React Storybook a look, its tool for easily building component previews for devs.
Ralfp··on NO EU citizen access allowed
It displays text for me:

We are sorry, but our site does not allow membership from any citizen that is part of the EU. This is due to their governing authorities belief that the GDPR applies to ANY site that a member citizen participates in, no matter that the destination site has no business nor physical presence in a country that those same governemental authorities have jurisdiction over.

The requirements to comply are overly burdensome for a small site that is paid for out of the admins personal funds to comply with. Due to this fact, we have decided that allowing access to EU based citizens is an encumbrance that we will not accept.

Using a proxy service or bypassing the geolocation blocking that is occurring by anyone to become a member is not allowed. If you really desire to use this site (and mayhap others that block EU members) then I would recommend you contact your elected officials to complain about the GDPR and issues that it is causing. And no, your EU Commission is not an elected body - it's an appointed one so you need to complain to your nations elected officials. Note that it may do no good as the EU commission is only beholden to the EU and carries out its desires based upon that outlook. In case you can't tell, no, I don't like the EU as it's to much like a one world government - which I find to be similar to one size fits all clothing.

Once (and if) there is a clarification on several questionable aspects of the GDPR we may open access back up.

Ralfp··on Ember.js 3.1 and 3.2 Beta Released
I've meant first open source forum software with JS frontend.
Ralfp··on Ember.js 3.1 and 3.2 Beta Released
> But Ember gets a bad wrap from the internet because (admittedly) their marketing materials with the gooofy chipmunks make it look like a toy

Ember.js is best technology that I've ever dropped, but let me assure you, the Tomster had nothing to do with my decision.

Ember got into the spotlight when Atwood and Co. have launched the Discourse. Back then it looked super impressive - first open source forum software and arguably one of first open source apps following "JS fronted and API backend" architecture. And it was all done with Ember.js, js FW marketing itself as the modern way to build JS apps!

A lot of people wanted to try it out (myself included), some moving from Angular, other from Backbone, and others coming from backend development. If Ember ever had the cool factor, it was that time. Ember.js was the next big thing, a framework for creating ambitious web applications, and all the people came to it to build their ambitious applications, looking up to Discourse as example of such application.

And then those people have hit the roadblock. Ember.js's pitch was building applications, but it's documentation has never moved past explaining individual parts of technology, and into the field of how those should be put together in final application. Angular had millions of easily googleable tutorials like "this is best practice for setting page title when user enters the route" or "this is how you can configure framework to authenticate with your backend technology".

I also clearly remember the "calling set on destroyed object" error that happened when you tried to update the state of object that was already destroyed that was impossible to debug, because the error was literally "Error: calling set on destroyed object" and it put world to stop. For comparision, in React.js that was "Warning: calling setState with X, Y and Z on unmounted component ComponentName". That one error was absolute productivity killer when debugging Ember.js apps from day one, and it was years before somebody from Ember.js core actually went to Ember's source code and changed "assert !obj._is_destroyed 'calling set on destroyed object'" to "assert !obj._is_destroyed 'calling set on destroyed object'". There was always bigger fish to fry for Ember.js core team, who were so bussy making blogpost after blogpost of new great features or API changes happening, while being oblivious to comments below those same blogposts asking "can I now do partial updates on models because they are super costful to update?" or "is calling set on destroyed object fixed yet?". And then guys from their ambassador product, Discourse, started writing blog posts following the pattern of "Here's how we've replaced Ember.js's feature with our one because framework's didnt work", and those involved things like `Ember-Data` or Ember views.

Ralfp··on Building a Text Editor for a Digital-First Newsroom
Last commit over year ago.
Ralfp··on Lead is even deadlier than was feared
Which means you better have somewhere you can land in range of 200 kilometers if we are talking about passenger liners.
← PreviousPage 10 of 15Next →