HNHacker News
TopNewBestAskShowJobs

kemenaran

1,093 karma · joined January 21, 2011

Follow me at https://mastodon.xyz/@pmorinerie
submissionscomments
kemenaran··on Ask HN: What do you self-host?
I like self hosting, but I want it to work without having to do sysadmin work. Especially the upgrades–most hosting providers will have one-click tools to install self hosted instances of something; but very few have working upgrade scripts to keep up with the new versions.

So I set up Yunohost [0] on a small box, and now I install self hosted services whenever I need them. Installing a new service is a breeze–but more importantly, upgrading them is a breeze to.

For now I self host Mattermost, Nextcloud, Transmission.

[0] https://yunohost.org

kemenaran··on Mastodon 3.0
I'm truly amazed by the Mastodon team. After several years, they keep delivering major features on a regular basis.

Even on my own projects, on a much smaller scale, I've never been able to go that fast.

kemenaran··on Rails 6.0
Rails has been the joy of my web developer life for the past five years. Went through native development, SPAs, etc. – and happily came back to Rails in the end. The productivity of it is just fantastic.

Congrats for shipping, and to many good years to come!

kemenaran··on Link’s Awakening disassembly progress report – week 5
Oh, nice!

The compression algorithm is said to have been written by Satoru Iwata himself, giving a hand to the overloaded GameFreak team when the development of Pokémon G/S was hitting size limits pretty badly [1].

There is a readable version of the decompression routines in the Pokémon G/S disassembly repo [2]. As the code was originally written in assembly, it is not decompiled–only re-documented.

Which means the code we read is the actual code Iwata wrote it 20 years ago.

I really like seeing the traces of actual human beings in a disassembly. Noticing different coding styles; seeing where routines were written, then patched over later… We read code, but we see people.

[1] https://retrocomputing.stackexchange.com/questions/11476/how...

[2] https://github.com/pret/pokered/blob/10289bf/home/pic.asm

kemenaran··on Slack S-1
Doesn’t Uber use Mattermost these days?

https://mattermost.com/blog/how-uber-uses-mattermost-to-enha...

kemenaran··on Chrome, Safari, and Edge to Prevent Disabling of Click Tracking Privacy Risk
:reading the title: Why doesn’t they mention the stance of Firefox on this?

> Of all the browsers I tested, only Brave and Firefox currently disable it by default and do not appear to have any plans on enabling it in the future.

Oh, that's why.

kemenaran··on Firefox 65.0 released
Are you on macOS Mojave?

If yes, it could be because Firefox started honoring the system font settings of Mojave [1].

Enabling font smoothing in System Preferences now results in slighlty bolder fonts, and grayscale font smoothing. Firefox and Chrome needed some time to adjust to these settings, but now have the same rendering than the rest of the system.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1495282

kemenaran··on Firefox 65.0 released
Handoff on macOS, finally! \o/

Just tested opening Firefox on iOS, and the "Open page in Firefox" pops up in the Dock of my Mac. Neat.

(It is advertised as also working with Mobile Safari.)

kemenaran··on Happy Birthday, Ruby
I'm currently working on a Ruby project, and I love the language so much! It's elegant, fast enough for me, and the ecosystem rocks.

It seems that, after Ruby borrowed from many previous languages, a lot of rubyisms went into Rust (the nice functional-style enumerations, the awesome package manager inspired by Bundler). And I'm thrilled the best of the Ruby world found its way into other languages.

A future where the elegance of the Ruby language is available both as an interpreted-scriptable tool (Ruby) or a compiled-statically-typed language (Rust) looks like a nice place to me.

kemenaran··on Medium is a poor choice for blogging
Could be a good time to mention Plume [1], a Medium clone written in Rust that uses the fediverse for displaying blog posts across different instances.

Still very much a work in progress – but one can already publish articles, comment them, and follow people using RSS or a Mastodon account (because ActivityPub rocks).

Not ready ret, but quite promising.

[1] https://github.com/Plume-org/Plume

kemenaran··on It's time to head back to RSS?
I would guess mainly for synchronization between different computers and devices?
kemenaran··on It's time to head back to RSS?
I found RSS feeds to be the best remedy for my accelerated bit-sized dopamine-inducing news consumption.

RSS lets me focus on what I actually want to read, makes me take long-break (instead of short bursts of Twitter updates), and gives me longer and more structured content.

I also use RSS for sharing articles, by giving the URL of your Pocket RSS feed to friends.

I'm glad that, in the age of algorithmically curated timelines, RSS still exist!

kemenaran··on How to Fall Asleep in Two Minutes or Less
This is definitely a phenomenon for me.

I remember reading in A study that feet warming up was the factor best correlates to falling asleep (I remember it from only a few years ago, maybe it was a follow-up to this 1999 study? [1])

[1] https://www.nature.com/articles/43366

kemenaran··on Bazel Fawlty
Interesting to have feedback on Bazel usage outside of Google. Bazel looks like a great tool, but it's good to see the community starting to explore its sweet spots and drawbacks.
kemenaran··on ActivityPub: decentralized social networking protocol
Which is why they switched to dual OStatus / ActivityPub broadcasting – except for private messages, which are now only sent over ActivityPub.

All of this without breaking compatibility across instances running different versions; quite a nice piece of engineering IMHO.

kemenaran··on ActivityPub: decentralized social networking protocol
This protocol is a successor to OStatus (GNU Social), and mostly made by the same people.

From what I remember, Mastodon switched from OStatus to ActivityPub a few releases ago. In the past they had to extend the OStatus protocol for private messages, which meant some clients may not honor the private status of theses posts. ActivityPub has private messages defined properly in the spec.

It seems PeerTube (https://github.com/Chocobozzz/PeerTube) will also use ActivityPub.

kemenaran··on Patreon’s new service fee spurs concern that creators will lose patrons
I just migrated my two Patreon pledges to Liberapay, and it worked surprisingly well. You decide how often you want them to charge you—and then they re-distribute the money on a per-week or per-month basis to creators.

So you can choose to be charged every month (and have ~2% of banking fees), or to provide money for the next 3 months (and the banking fee will be less). Money will be redistributed to creators once a week (or once a month) anyway.

Plus they only charge banking fees, nothing for themselves (tip is voluntary).

kemenaran··on Patreon’s new service fee spurs concern that creators will lose patrons
I just cancelled my two pledges on Patreon, and migrated them to Liberapay.

The process was surprisingly smooth and easy. We'll see how it works on the long run, but for now Liberapay looks like an excellent alternative. (Also they don't take automatic fees for their own finances; tip is on a voluntary basis).

kemenaran··on Mastodon 2.0
I started using Mastodon a few months ago, "just to see", and found great people to interact to there. And these days I'm using Twitter less and less.

Looking back, I feel like the short-messages limit is fueling flaming statements rather than good discussions. I also see how constant enabled-by-default notifications and dark patterns made me addicted to new tweets ; on Mastodon I feel less pressure to keep up with the feed constantly.

Also, the project grew from a few to 100+ contributors in a few weeks, and apparently managed this transition quite smoothly. Development is ongoing at a steady pace, including new features and major architectural changes. Congrats to the team and contributors!

kemenaran··on Reverse engineering a Gameboy ROM with radare2
I'm always impressed by GameBoy ROM disassembling efforts.

The complete disassembly of Pokemon Red/Blue [1] is an outstanding piece of work. All the source code and data of the ROM have been figured out and commented.

For the Zelda DX disassembly I'm currently working on [2], devdri wrote a custom GameBoy disassembler named "awake" [3]. It produces a nice pseudo-code view with C-style statements, and also do some static codeflow analysis with variables propagation to know which memory banks are being switched in and out. Quite impressive IMO.

But damn, even with these tools disassembling is still a lengthy work…

[1] https://github.com/pret/pokered

[2] https://github.com/mojobojo/LADX-Disassembly

[3] https://github.com/kemenaran/awake

kemenaran··on Molinillo: a dependency resolution algorithm
From what I recall, Molinillo is used by both Bundler and Cocoapods. It always struck me as a nice example of good collaboration between two major open-source projects.
kemenaran··on Building a working game of Tetris in Conway's Game of Life
I have a question for more hardware-knowledgeable people than me:

We know it's possible to implement logic gates in Game of Life. So would it be possible to re-purpose a VHDL compiler to emit schemas for GoL-gates or GoL-transistors?

In this case, wouldn't programming a Tetris game in VHDL output a much smaller automata (avoiding the need to use huge OTCA metapixels, except maybe for display)?

kemenaran··on A hypothesis about how you might discover the next Twitter
I find it interesting that Mastodon was built with a lot of input from communities frequently harrassed on Twitter.

It influenced early design choices (the "retweets" count is not proheminently displayed ; fine-grained options for muting/blocking/banning).

Plus, in the end, isn't per-community-moderation the only way to avoid the "one rule fits all" dictatorship?

kemenaran··on Choosing Ember over React in 2016
> APIs that don't follow standard responses

Interesting. In my experience the clean separation of layers in Ember-Data (network, serialization, models) make it quite suited to non-standard APIs. I found writing a custom (de-)serializer for a non-standard API to be relatively easy.

Care to elaborate on what were your issues precisely?

kemenaran··on Choosing Ember over React in 2016
I'm developing and maintaining an Ember app which is nearly 5 years old. Some of our app code dates back to 2011 (when Ember was still Amber.js).

Remember how much the Javascript ecosystem changed in 5 years? There is no way we could have maintained the same code base without Ember; we would have needed to rewrite the app once or twice by now. And with each rewrite small features, little subtleties would have been lost, replaced by some bike-shedding about how we should hand-compose an entirely new stack.

Instead, we upgraded quietly from time to time, and kept all our carefully tuned code and beloved UI tweaks with us. To be honest, the maintenance and version bumps took quite some work, and some early upgrades required heavy refactoring. Ember paradigms changed frequently during the pre-1.0 era, and later React clearly influenced the best practices recommended for Ember 2 (like Data-Down Actions-Up, etc).

But boy is it worth it. Ember-Data is neat, the testing tools are great, the Ember-Inspector add-on is a joy, and the CLI tools gets us so many free features. And we never could have maintained this product without a stable framework across all these years, and the friendly developers community.

Also, to answer your question about add-ons: they're great. Among the core team there is a nice commitment to make many new features available as add-ons (rather than baking them into the framework). And the community solves many common problems for you indeed.

kemenaran··on From Kubernetes to a complete application development tool [video]
I wasn't sure what to thing about Cycle Analytics, and the metrics it provides ("time from thoughts to issue", "time from issue to code", "time spent reviewing"). IMHO these numbers may be too synthetic to give meaningful information. Plus, once we have this kind of dashboard, there is a risk of starting to optimize for the numbers (instead of optimizing the reality underneath).

That said, I see with this demo how these metrics could be useful to track, well, when reviews are taking too much time (needs more people? better repartition of reviewers?) – or when maintenance tasks are slowing new features (needs better tests? more maintainers?). I guess I'll have to try this out :)

kemenaran··on Wind Waker Graphics Analysis
The compensation of the sea motion reminds me of how Zelda Link's Awakening sea intro sequence was done on the Game Boy. It's suprising how two sea-themed games can make use of the same techniques accross vastly different hardware :)

Here with some animated gifs: http://kemenaran.winosx.com/posts/links-awakening-rendering-... (disclaimer: I'm the author).

kemenaran··on It's time to dispel the myths about nuclear power
Maybe it's time to recognize investing in renewable energies is better than in the dying nuclear power.

Nuclear is a fossil fuel too (uranium has to be extracted and is limited), costs a tremendous amount of money in power-plant building and dismantling costs, and concentrate the production of energy in a few remote places (which makes transport costs higher).

Meanwhile, the number of places running on 100% renewable energies is surprisingly high (https://en.wikipedia.org/wiki/100%25_renewable_energy#Places...). Why would we need nuclear again?

kemenaran··on We Need a Basic Income Guarantee
Except RSA is not available to everyone (many people are not eligible), not guaranteed (it's tied to searching for a job, for instance), and not an actual income that provides you the bare minimum (in some places it doesn't even get you housing).
← PreviousPage 2 of 2