piotrkubisa's comments

pqb | 5 years ago | on: A look at modern PHP

Of course! I believe almost all PHP devs noticed, they have terrible slowdown by Doctrine and used XDebug to check where is the problem. I am not PHP dev anymore and I hope it has improved a lot since my last adventure with this ORM but I'd still advocate to not use it on client-facing interface - you can use Doctrine only for database management (CLI), while for web interface use raw PDO or equivalent (Eloquent). You can also use cache or transform page into static-site. Sky is the limit.

piotrkubisa | 5 years ago | 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 | 6 years ago | 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 | 6 years ago | 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 | 6 years ago | 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 | 6 years ago | 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 | 6 years ago | 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 | 6 years ago | 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 | 6 years ago | 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 | 6 years ago | 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 | 6 years ago | 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

page 1