HNHacker News
TopNewBestAskShowJobs

piotrkubisa

551 karma · joined March 20, 2016

Software Engineer

E-mail: My username [at - without these brackets] Google Mail service com

[ my public key: https://keybase.io/piotrkubisa; my proof: https://keybase.io/piotrkubisa/sigs/48OF4qNZeEa0cZsAgANWMKn9vJZuQurNeBlQnl9rjDQ ]

submissionscomments
piotrkubisa··on A look at modern PHP
Yeah, PHP scripts in CRON, especially those using some relational database were my nemesis that time too. The nice thing, which in PHP 5.5 was introduced is generators, that almost completely resolved the problem with memory leakage in such scripts IMHO.

[0]: https://www.php.net/manual/en/language.generators.overview.p...

piotrkubisa··on A look at modern PHP
The really nice thing of Symfony framework is database schema mapping and migrations, which have compatibility with numerous database systems and provides abstraction layer [0], that among many options of interfaces have quite handy YAML-formatted schema mapping [1]. Nothing extraordinary these days but it is really stable and simple to use.

[0]: https://symfony.com/doc/current/doctrine.html

[1]: https://www.doctrine-project.org/projects/doctrine-orm/en/2....

piotrkubisa··on A look at modern PHP
It is also worth noting the number of packages published on packagist.org [0] (kind of npmjs.com for PHP), which is rapidly growing.

[0]: https://packagist.org/statistics

piotrkubisa··on Multi-account containers add-on sync feature
Yeah, I don't complain on maintenance by now, but I anticipate it might be problematic as soon as new features comes in. I am looking forward to create a fork from their Rust[0] backend and include DynamoDB as a storage to keep compatibility with the latest version of Firefox Sync Server protocol.

[0]: https://github.com/mozilla-services/syncstorage-rs

piotrkubisa··on Multi-account containers add-on sync feature
I wrote my very own Firefox Sync Server, completely from scratch, based on their docs but also based on mozilla-services's Python code and some Firefox OS codebase. I mostly used Go as a programming language and AWS Lambda/DynamoDB as a way to store and serve API endpoint.

> [...] I found the documentation to be sparse and the software ultimately non-functional.

Yes, my first take on the documentation was the same - existing but hard to understand in first proof-read. As I implementing my own sync and token server I really often I was catching myself "hey, you don't have to look into Python code, they really wrote how it should work in docs", especially [0] and [1] pages. There are also few other websites owned by Mozilla, which are very outdated, so also misleading.

Ah, worth noting is about:sync extension [2] and logs stored in the profile directory, which may help you to investigate some issues that might come during development and maintenance.

> Has anyone had any positive experiences with self-hosting the Firefox Sync Server?

I am biased a bit, because I had one very negative experience related to token verification error, which costed me ~4 dollars, before I noticed and I had put service into downtime for some months. However, I am really happy about a whole project. Operational costa are is about few cents per month. It also helped me to write some tools I use on daily basis and preserve knowledge I have learned about serverless applications on AWS.

[0]: https://mozilla-services.readthedocs.io/en/latest/storage/ap...

[1]: https://mozilla.github.io/application-services/docs/sync/faq...

[2]: https://github.com/mhammond/aboutsync

piotrkubisa··on Building a Linux Desktop for Cloud Native Development
Could you expand what do you mean by "ChromiumOS vibe" (ELI5)? Do you look for a i3 inside GNOME Shell?

PaperWM[0] is an example of a tiled scrolling (window) manager based on GNOME SDK (Mutter) that runs in GNOME session.

[0]: https://github.com/paperwm/PaperWM

piotrkubisa··on Tips from Poland on Old-School Zero Waste (2019)
> Everybody just hauled buckets of trash to the big container to come back home with an empty bucket.

I have born in 90s, but I lived in a block from that era and remember how chute for trash was a nice idea - in winter time I haven't had to leave building to empty the trash bin.

piotrkubisa··on Building a Linux Desktop for Cloud Native Development
> I am still waiting for a Ubuntu Spin that attempts to do this.

You made me curious: what does mean _this_ in your comment? What do you like in ChromiumOS and would like to see in Ubuntu? What is in Ubuntu that you would like to have replaced with a ChromiumOS-like alternative?

piotrkubisa··on Show HN: I made an open-source anonymous email forwarding service
> Unfortunately, mail delivery is far, far harder than it should be.

However, we still receive spam e-mails to our inboxes.

piotrkubisa··on Gitea 1.10.0 Released
That's actually interesting, but there is some work already done in that area, but Gitea opposed to GitLab is not a company (nor group of $$-oriented people), but just a community-based effort, so I would not expect someone will invest in infrastructure and maintenance. However, it does not deny the fact they actually self-host the experimental/staging area[0] and time have been invested to migrate outside GitHub[1].

[0]: https://gitea.com/explore/repos

[1]: https://github.com/go-gitea/gitea/issues/1029

piotrkubisa··on Build Your Own React
> This might even become standard for most documentations.

I hope not, because slow, meaningless animation makes me tired and something inside me wants escape that page. Also it affects scrolling, especially noticeable when I am scanning a text instead of reading - you might lose context (note how the presentation reacts on pressing "page-up" / "page-down"). Kindle and all e-reader hates animations[0][1] - any animations (they are just huge black holes for battery). IMHO any documentation SHOULD be able to printed out on paper and sorry - paper is not interactive.

However, I will warmly welcome some interaction in dedicated docs section but it would be great if it could be duplicated as a rich-text article.

[0]: Not saying about the reader mode in browsers (e.g. Firefox)

[1]: Please think also about people that are disabled or use VoiceOver/NarratorMode to be more productive / are just lazy to read text using their eyes :)

piotrkubisa··on Recursive Mono and Sans, a free variable type family
I have Ubuntu 18.04, Firefox 70.0.1 and every switch/select-box/radio works fine - I can only complain on italics off|auto|on configuration, because it's a bit slow (it does not change immediately, ~2s). I'd try to look into Developer Console first to investigate if all JSes were loaded and they haven't returned any error.
piotrkubisa··on Ubiquiti adds phone-home to the access point firmware
There are also TLSense routers[0], which include configurations with Intels i5 [1] or i7. They also claim 7-15W power usage, AES-NI support, microphone/headphones jacks, HDMI, RS-232 and room enough for 16GB of RAM, which is quite unusual in routers.

[0]: https://teklager.se/en/products/routers/

[1]: https://teklager.se/en/products/routers/tlsense-i5-4lan

Edit: I noticed those thanks to link on PCEngines site, which is quite also amazing, knowing a fact TekLager and PCEngines are direct competitors.

piotrkubisa··on Ubiquiti adds phone-home to the access point firmware
Based on information I've found in article [0] pfSense had problems with reaching 1 Gbps but it seems disabling hardware offloading significantly increases throughput [1] (940 Mbps).

[0]: https://teklager.se/en/knowledge-base/apu2c0-ipfire-throughp...

[1]: https://teklager.se/en/knowledge-base/apu2-1-gigabit-through...

piotrkubisa··on Notepad++ 7.8.1 Release “free-uyghur-edition”
That's interesting, the special, official forums section to say "I don't like N++" [0] is has not been found as a target by bots and is quite silent these days. However, that's surprising such category exist at all.

[0]: https://community.notepad-plus-plus.org/category/8/boycott-n...

piotrkubisa··on Helping newcomers become contributors to open projects
> that looks like a mirror

Yes, sure - it's a mirror, but take a look at original source [0][1]. I haven't found much information about "build & run" either.

> it’s a traditional “./configure && make && make install” type project

Yes, it is but you are talking about "building" not "running", which is also important process in terms of development. Also, deduction (from source code) what kind of combination of commands might be is a no-go argument for many would-be contributors (I looking at few friends who fall in love in npm start), not saying it requires some experience in specific tooling (here, how to build C projects), which not everyone has.

[0]: https://git.xfce.org/xfce/xfwm4/about/

[1]: https://git.xfce.org/xfce/xfwm4/tree/

piotrkubisa··on Helping newcomers become contributors to open projects
> Document how to build and run it.

This, especially in non-web repos (C/C++) is common mistake of READMEs and docs.

Let's take an example of XFCE-WM project [0]. The main README does not include any information how to compile it, nor provides any link to the documentation how to build this very specific code. If you will google it you might find following wiki page [1], which is general for all repositories. In the COMPOSITOR [2] file you might notice some information about flags that you can provide during building, and that's great such doc has been created, but except that document I couldn't find any information how "fresh contributor" would like to debug and test some change in code that he made in the cloned repository. Download and install some linux distro on virtual machine and then invest (1h+) to configure it accordingly to run it there? Use Xephyr (I guess "fresh contributor" has never heard about this tool)?

In my honest experience, the "how to build" step is probably included in many of repositories, but the "how-to-run" is usually lacking in READMEs and it is what I really would like to see in complex projects (e.g. desktop environment).

> Document your availability. If you have to step away from the project, put this at the top of the README, even if it's temporary. Don't drip-feed interaction - be either on or off.

One more thing related to docs and "how-to-build-&-run" thing. Let's say the project owner have some critical accident that made him unavailable to push progress of development forward for few months or longer. If there isn't any knowledge shared (docs, other contributors) then I guess the project will be stalled and possibly forgotten if there is no clear incentive to use alternative methods of repo maintenance (e.g. fork).

[0]: https://github.com/xfce-mirror/xfwm4

[1]: https://docs.xfce.org/xfce/building

[2]: https://github.com/xfce-mirror/xfwm4/blob/master/COMPOSITOR

[3]: https://en.wikipedia.org/wiki/Xephyr

piotrkubisa··on One Page Dungeon Generator
He is also an author of the Procgen Mansion [0][1][2] - procedural generator of buildings with a floor plans, which includes stairs, doors and windows.

[0]: https://watabou.itch.io/procgen-mansion

[1]: The demo on that site utilizes keyboard not fancy buttons as in Fantasy City Generator, I recommend to quickly read information about key bindings.

[2]: https://itch.io/jam/procjam2018/rate/321647

piotrkubisa··on Congressman's phone password is 111111
I liked BlackBerry10 picture passwords [0][1]. Unlocking was a bit slower than drawing few lines but good enough to unlock device fast - I'd say even if you were weakened by some disease/illness/exhausting workout moving slowly a number to target is easier than drawing few crossed lines.

[0]: https://helpblog.blackberry.com/2014/02/how-to-use-picture-p...

[1]: https://youtu.be/WmBhvn9Q9SE?t=151

piotrkubisa··on Congressman's phone password is 111111
This, 1000x this! The whole "draw your code" is equal to 111111 codes, because both operations are easily possible to hack if you leave your phone to your peer or random freak. Isn't it the same issue as in many house alarm systems that you just need some UV light to note the most used keys to guess the code?
piotrkubisa··on Firefox Preview/GeckoView Add-Ons Support
> I understood that Fenix won't support Firefox Sync

Based on my user experience Fenix (Firefox Preview) supports Firefox Sync in terms of bookmarks. I believe history and other data is also synchronized, but I haven't had occasion to test it thoroughly. In my opinion claim that "Fenix won't support Firefox Sync" is a bit too far [0]. I noticed the login/password sync feature has not been implemented yet [1]. I suppose it will might materialize soon, because lack of it could be a huge mistake in terms of usability.

[0]: https://github.com/mozilla-mobile/fenix/issues?q=firefox+syn...

[1]: https://github.com/mozilla-mobile/fenix/issues/5074

piotrkubisa··on The Quest to Be Good at Everything
> NoteToSelf Mail is a little app that I have on my home screen that lets me really easily send an email

Oh snap, I haven't thought the AppStore is such saturated platform, where there is specific app to send an email to myself - why FastMail or Spark won't be enough to do that? Isn't just two/one less click optimization app?

piotrkubisa··on Migrating from Cloudflare
I could say the same about overwhelming number of articles on HN, especially those related to software development, that they are kind of an advertisement. The person also does not seem to be affiliated with CDN provider of his choice [0].

[0]: https://ashfurrow.com/about/

piotrkubisa··on We need decentralized communication
> We need decentralized communication

> Although Riot has made significant progress in the past few months, there is still a long way to go before it becomes a suitable drop-in replacement for platforms such as WhatsApp or Discord.

The problem with adoption client based on Matrix protocol is clearly lack of the quality of clients and being so annoying for users. I think it also stands true for other protocols like IRC or XMPP. In my humble opinion, clients for all 3 are far behind Telegram or WhatsApp or even BBM.

Looking on commits in repos of various Riot clients, I am not sure if there is significant progress (yes, it's a bit unfair to said that, but comparing to let's say webpack repository, number of random contributions is quite low). For Android there are two versions - Riot and RiotX. RiotX is in early stage development (I'd say it's unusable), while the Riot just gets minor changes. iOS client is OK. Web and desktop client (based on electron) is not as simple as Slack to get start and running. I keep fingers crossed for Riot developers and spontaneous contributors to improve those clients - without good, simple to use clients there isn't any chance for Matrix to be adopted widely as WhatsApp or Telegram are.

Centralization is not really important factor for most of people during selection of communicator. IM is a tool and if it does not do its job properly, people will look for better alternatives. Just, please take a look how many sysadmins/devops switched to Slack from IRC. Please stop writing yet another article how centralization is bad - just help Vector.im, TheLounge.chat or other group to bring such IM client where most of people will be comfortable to use it.

piotrkubisa··on USB4 Specification
Edit is not available now, so I have to reply to myself:

// Actually, I really got used to 802.11a/b/g/ac naming (when those standarts had very distinct features), it really has rooted into my brain, so it's very hear from me speaking WiFi-5.

piotrkubisa··on USB4 Specification
> 2 - the name "USB4 Gen 3×2". Honestly I have never had the faintest idea what any of the various absurd names invented by the USB IF might mean. Superspeed? High speed? USB 3.1?

It's so fast, so consumers have enough time to spend additional 2 seconds to pronounce the whole "3x2", "Gen" or other marketing gibberish. Not saying about good connotations of SS abbreviation (as in superspeed logo) in Europe, especially in Poland. /s

Jokes asides, but what is a reason of using 3.1 name for USB-C connector? It is very, very different how it looks, how it can transfer power than early rentangle-shaped connectors of 3.0's. And now again, USB-IF serves now the same drama again with ambiguous name. I'm glad I am techie guy, but I believe 80% people will end with question what they really need to connect device with their laptops.

I wish we could completely drop "superspeed"/"gen 2" and use way simplified name. Such name should not follow the naming that WiFis has now, like WiFi 5 or WiFi 4, because even if we include identifier for people more interested in technical name (standard), like WiFi 5 (802.11ac), it still ends with situation you actually have portion of information, because 802.11ac operates on various powers and streams, i.e. WiFi 5 (802.11ac Wave2; 4 streams @ 1024-QAM), which is way different how it works than former example. However, I really like the quite recently introduced naming like: AC2600 or AC5300[0]. When I someone mentions "WiFi AC 2.6k", it tells me a lot more about given device for a techie person and consumer. Also, let's take a look like we query data from databases, the AC2600 could be an unique indexed column (even a primary key!), it falls below of group within defined standard, has various parameters etc. etc.

On the contrary to WiFi, USB type is easily identifable by parameters like possible power delivery, data transfer and connector type (shape, size). Why USB-IF can't introduce similar naming that are clear for everyone to recognize? USB standards are not the same as an iPhone, they do not need any fancy name to be better than previous generation.

[0]: https://en.wikipedia.org/wiki/IEEE_802.11ac

// Actually, I really got used to 802.11a/b/g/ac naming when it , it has really rooted into my brain, so it's very hear from me speaking WiFi-5.

piotrkubisa··on Microsoft Is Killing ePub Support in Edge Classic
I'd say PDF is all about presentation, while ePub/Mobi is closer to real books that focus on content and legibility.

EPubs are perfect for long-lengthy documents, where you can bookmark position to given line of text (not page, so I'd say it's more precise to get back in which paragraph you've finished reading), everything is searchable/copyable/highlightable, formatted into single-column, usually justified, wrapped using hyphenation, easy to change font size, colors (i.e. day/night mode) and there isn't strict paper (canvas) size. Basically, it increases accessibility and focus.

While the PDF is just like a ZIP (I think those formats share the same popularity), that consist collection of numbered crisp, anti-aliased PNGs and SVGs, sometimes with an attached metadata. I often hear, there isn't any chance to PDF document look different on other device. However, PDF is just a subset of PostScript (hence the name) and has many versions (standardized as a public document, by ISO, by other parties or just paywalled)[1]. Fortunately, quite old PDF1.5 version has majority of features used by typical document creator, also fact that there aren't many competing implementations and they seem to be up-to-date with PDF2.0 convinced users and developers to use it. That's worth noting, PDF supports reflow [0], but it is far from perfect and I guess many bookworms will refrain from using it at all.

[0]: https://en.wikipedia.org/wiki/History_of_the_Portable_Docume...

[1]: https://helpx.adobe.com/acrobat/using/reading-pdfs-reflow-ac...

piotrkubisa··on Microsoft Is Killing ePub Support in Edge Classic
> I would love to have at least one 100% working epub reader on Windows...

SumatraPDF is fine to read EPUBs on Windows (also supports PDF, MOBI, FB2, CHM, XPS, DjVu) - it's free, open-source software [0][1].

[0]: https://github.com/sumatrapdfreader/sumatrapdf

[1]: https://www.sumatrapdfreader.org/free-pdf-reader.html

piotrkubisa··on What happens when you launch Google Chrome for the first time?
Heads up, Mozilla is on the way to be notorious Google services/Google Cloud user [0]. Recently, they started adoption of the Google Spanner in the Firefox-Sync related backend services, while in others they adopted the Google Pub Sub. The use of GA and GTM might seem like hypocrisy but my guess mozillians don't have enough workforce and/or assets to control infrastructure to roll their own analytics platform.

[0]: https://github.com/search?q=org%3Amozilla-services+google&ty...

piotrkubisa··on From Mac to Linux – the setup I've grown to love
Isn't a F11 supported as a shortcut in most of applications to switch to full-screen mode? I remember it was supported over vast majority GUI applications I used, when I was complaining on small screen, but now personally, I don't understand why somebody would need it make windows be maximized-to-workspace as in macOS. There isn't such huge dock, and application menus were redesigned to be in-app-hamburger-menus and finally displays manufactures now provide monitors with higher resolution than few years ago. If you really notice lack of focus / working space, you shouldn't look for typical GNOME/KDE DEs but for a WM (windows managers) like Sway/i3 or AwesomeWM, which helped me to be more productive, when I dab in multiple applications at once.
Page 1 of 6Next →