Page MenuHomePhabricator

20after4 (Mukunda Modell)
Release Engineer @ Wikimedia Foundation

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Saturday

  • Clear sailing ahead.

User Details

User Since
Nov 28 2011, 9:35 AM (677 w, 2 d)
Availability
Available

Recent Activity

May 1 2022

20after4 awarded T13658: How to rebrand Phabricator a Mountain of Wealth token.
May 1 2022, 10:15 PM
20after4 added a comment to T13675: Can Arcanist plausibly be compiled into a binary?.

FWIW I've found by far the easiest way to work with microcontrollers is using micropython / circuitpython on any of these chips: ESP32, ATSAMD21/ATSAMD51 and RP2040. The esp32 is in many ways the easiest and most practical because it's extremely cheap and includes a wifi radio.

May 1 2022, 9:58 PM · Arcanist

Jul 12 2021

20after4 committed rPa0b91de535af: New MediaWiki logo for the icon that represents the MediaWiki oauth provider. (authored by 20after4).
New MediaWiki logo for the icon that represents the MediaWiki oauth provider.
Jul 12 2021, 1:28 AM
20after4 closed D21661: New MediaWiki logo for the icon that represents the MediaWiki oauth provider..
Jul 12 2021, 1:28 AM

Jun 3 2021

20after4 added a comment to 2021 Week 22 (End of Active Maintenance).

@avivey: a few folks have started discussing collaboration in the #phabricator channel on libera.chat irc network.

Jun 3 2021, 4:09 PM

Jun 1 2021

bbrdaric awarded Changelog a Heartbreak token.
Jun 1 2021, 8:41 AM

May 30 2021

20after4 updated subscribers of 2021 Week 22 (End of Active Maintenance).

I'd be interested in collaborating with anyone who is interested in continuing community-supported maintenance of Phabricator.

May 30 2021, 6:45 AM
20after4 awarded T13654: Wind Down Phacility Operations a Heartbreak token.
May 30 2021, 6:38 AM · Phacility

May 14 2021

20after4 added a comment to T13652: Notes on Ardunio CNC drivers.

I'm starting with an absolute bottom-of-the-line 3018, I've "upgraded" it with a plotter collet I made out of a pool noodle and a piece of cable gland so I'm less likely to hurt myself for now:

179844809_10107947618735199_738255650651003118_n.jpg (935×526 px, 71 KB)

So far, I've mostly been implementing controller software, following heavily in the footsteps of GRBL. I think I'm maybe ~25% of the way toward having a similar-ish capability set? But I don't really know what I'm doing, I am doing a few things a bit differently, and haven't written any meaningful amount of C in many years, and suspect I may run into a wall with the CPU.

One thing I've changed is that the computer tells the board what hardware it is connected to at startup, e.g. "Linear Stepper Axis 1 is enabled by pin 8, driven by pin 2, and direction is controlled by pin 5", since I'd like to be able to rewire the board without updating the software, and generally have more control over the hardware configuration, and have an arbitrarily large number of axes and actuators and blinking lights and whatnot. My motion commands then reference axis IDs ("2D linear motion on axis 0 and axis 1 to relative position 15, 35") instead of spatial axes like "X" and "Y" directly.

May 14 2021, 1:32 PM

May 7 2021

20after4 added a comment to T13652: Notes on Ardunio CNC drivers.

Now that I realized this isn't an April fools joke (or if it is, it's kinda late...) anyway I have a whole lot of experience in this department, having built several cnc controllers. My latest one is using a beaglebone black but I also experimented quite a lot with an arduino running grbl and another one running on a $30 esp32 board. If you have any unanswered questions I'd be happy to comment. I should have slightly better than ignorant responses.

May 7 2021, 10:26 AM

May 4 2021

20after4 added a comment to T13652: Notes on Ardunio CNC drivers.

lol

May 4 2021, 4:44 PM

Apr 20 2021

20after4 updated the diff for D21661: New MediaWiki logo for the icon that represents the MediaWiki oauth provider..

ran generate_sprites.php

Apr 20 2021, 10:00 PM

Apr 7 2021

20after4 requested review of D21661: New MediaWiki logo for the icon that represents the MediaWiki oauth provider..
Apr 7 2021, 8:59 PM

Mar 23 2021

20after4 awarded T12843: Add support for creating workboard columns from the Conduit API a Baby Tequila token.
Mar 23 2021, 3:08 PM · Conduit, Projects, Workboards, Feature Request

Dec 3 2020

20after4 added a comment to T13269: Improve initial implementations of Workboard triggers and groups.

Off the wall suggestion: how about a trigger that sets the subtype:

Dec 3 2020, 7:31 AM · Workboards (v3)

Nov 2 2020

20after4 accepted rPc04147328fa3: Fix isValidGitShallowCloneResponse.

This has been tested in wmf production and the fix is working.

Nov 2 2020, 10:21 PM

Sep 1 2020

20after4 added a comment to T13478: Fix various policy issues with project member materialization around interactions between "Project Members" policies and Subprojects/Milestones.

Probably related: According to https://phabricator.wikimedia.org/T261642, it seems that when leaving a project, phabricator leaves behind some cruft in the form of materialized memberships for milestones of that project.

Sep 1 2020, 9:42 PM · Policy, Projects

May 28 2020

20after4 added a comment to T10915: Allow story points to just be task count.

I think that this is something we(Wikimedia) can patch downstream in our fork, I don't think there is anything further to add to this upstream discussion.

May 28 2020, 6:27 PM · Restricted Project, Feature Request

May 18 2020

20after4 added a comment to Blog Post: Quick Look: Inline Comments on Character Ranges.

Thanks for the quick-look posts, these are nice.

May 18 2020, 3:58 PM · Quick Look, Differential

Apr 28 2020

20after4 updated 20after4.
Apr 28 2020, 7:32 PM

Feb 20 2020

20after4 awarded T13491: Why does Arcanist require "--"? a Burninate token.
Feb 20 2020, 11:48 PM · Guides

Jan 5 2020

20after4 edited the content of Community Resources.
Jan 5 2020, 11:13 AM

Nov 11 2019

20after4 edited the content of Community Resources.
Nov 11 2019, 10:12 PM

Oct 8 2019

20after4 awarded T13419: Fully modularize object relationships, to support custom relationships like "Subtask/Parent Task" a Love token.
Oct 8 2019, 9:57 PM · Infrastructure

Sep 10 2019

20after4 awarded T13377: Write about "how to solve problems with program behavior" a Mountain of Wealth token.
Sep 10 2019, 1:46 PM · Guides

Aug 13 2019

jcox awarded Changelog a Love token.
Aug 13 2019, 4:30 PM

Aug 1 2019

20after4 awarded D20648: Update one straggling "CAN_INTERACT" check in comment removal a Love token.
Aug 1 2019, 6:56 PM

Jul 12 2019

20after4 awarded T13322: Allow parent projects to have direct members a Love token.
Jul 12 2019, 6:23 PM · Projects
20after4 accepted rP099919366b12: Fix "add more metadata" fatal in Pholio.

Thanks!

Jul 12 2019, 6:07 PM

Jul 11 2019

20after4 added inline comments to rPaacc62463d61: Prevent editing and deleting comments in locked conversations.
Jul 11 2019, 10:46 PM
20after4 added a comment to rPaacc62463d61: Prevent editing and deleting comments in locked conversations.

@epriestley: Try removing a comment, it throws an exception

Jul 11 2019, 10:45 PM
20after4 added a comment to rPaacc62463d61: Prevent editing and deleting comments in locked conversations.

Apparently commits don't support CAN_INTERACT capability?

Jul 11 2019, 8:49 PM
20after4 added a comment to T13332: Javelin behaviors which pass PHUIViews to configuration parameters fatal the page in an abrupt way.

Could this be related to the custom footer markup? The code in question hasn't changed in a long time but I suspect maybe it's related to changes in the remarkup rendering code that's adding metadata where it didn't previously?

Jul 11 2019, 7:00 PM · Javelin
20after4 added a comment to T13332: Javelin behaviors which pass PHUIViews to configuration parameters fatal the page in an abrupt way.

I toggled developer mode on for a moment and managed to get a stack trace:

Jul 11 2019, 6:56 PM · Javelin

Jul 3 2019

20after4 awarded T11036: Put subproject columns on workboards a Love token.
Jul 3 2019, 11:03 PM · Workboards (v3), Projects (v3)

Jun 21 2019

20after4 awarded T13291: Implement a "{src ...}" rule in Remarkup for referencing source files in Diffusion a Mountain of Wealth token.
Jun 21 2019, 9:06 PM · Remarkup, Diffusion
20after4 added a comment to D20539: Add a "{src ...}" Remarkup rule to provide a more flexible way to reference source files in Diffusion.

I've been wishing for this literally forever. If I could award more mountains of wealth tokens, I most certainly would!

Jun 21 2019, 9:06 PM
20after4 awarded D20539: Add a "{src ...}" Remarkup rule to provide a more flexible way to reference source files in Diffusion a Mountain of Wealth token.
Jun 21 2019, 9:05 PM

Apr 19 2019

remusvrm awarded Changelog a Like token.
Apr 19 2019, 7:09 PM

Mar 26 2019

20after4 awarded D20321: When moving cards on workboards, treat before/after cards as optional hints, not strict requirements a Love token.
Mar 26 2019, 6:12 AM

Mar 13 2019

20after4 awarded T10578: Provide 'Sort by Points' option in workboards a Love token.
Mar 13 2019, 4:05 PM · Workboards (v3), Feature Request
20after4 awarded T10333: Add groups to workboard columns a Love token.
Mar 13 2019, 4:05 PM · Restricted Project, Restricted Project, Workboards (v3)

Mar 9 2019

20after4 added a comment to T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes.

I wholeheartedly agree that all that proxy field mess needs to go away. With that gone the only moderately confusing part remaining would be the way in which custom fields interact with herald, email and notifications.

Mar 9 2019, 12:48 PM · Custom Fields, Maniphest

Feb 28 2019

20after4 added a comment to T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes.

Making a way to set fields to default: disabled would make this feature even better ;)

Feb 28 2019, 9:27 PM · Custom Fields, Maniphest

Feb 26 2019

20after4 awarded T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes a Mountain of Wealth token.
Feb 26 2019, 3:58 PM · Custom Fields, Maniphest
20after4 added a comment to T13255: transaction.search should accept user PHIDs as constraints.

quack

Feb 26 2019, 3:57 PM · Conduit, Transactions
20after4 awarded T13255: transaction.search should accept user PHIDs as constraints a Pterodactyl token.
Feb 26 2019, 3:55 PM · Conduit, Transactions

Feb 25 2019

20after4 added a comment to T13068: Refinements for "Mute Notifications".

FWIW I appreciate and use the mute feature (though only occasionally)

Feb 25 2019, 2:16 PM · Notifications, Mail
20after4 added a comment to D17593: Maniphest: Allow restricting custom fields to subtypes.

roughly similar: D20161: Add basic, rough support for changing field behavior based on object subtype

Feb 25 2019, 2:01 PM
20after4 awarded D20208: Support an "authorPHIDs" constraint for "transaction.search" a Mountain of Wealth token.
Feb 25 2019, 1:52 PM

Feb 23 2019

20after4 awarded D20204: Fix URI construction of typeahead browse "more" pager a Mountain of Wealth token.
Feb 23 2019, 2:09 AM

Feb 22 2019

20after4 added a comment to T13251: Upgrading: PhutilURI Query Parameter Changes.

This change broke the search dialog on tags typeaheads...

Feb 22 2019, 9:28 PM · Installing & Upgrading, Guides, Infrastructure

Feb 11 2019

20after4 added a comment to T13248: Support enabling and disabling (and making other adjustments to) custom fields based on object subtypes.

This would be incredibly useful for the things we are trying to do at WMF. I've gone so far as to duplicate lots of forms for each subtype and remove fields as needed. This results in N * N forms and it's not at all manageable beyond a very small number of sub-types.

Feb 11 2019, 10:37 PM · Custom Fields, Maniphest

Jan 9 2019

20after4 awarded T13229: On Third-Party Integrations a Like token.
Jan 9 2019, 12:25 AM · Phacility

Dec 16 2018

20after4 added a watcher for Plans: 20after4.
Dec 16 2018, 6:03 PM

Dec 11 2018

20after4 added a comment to T12588: create subtask side menu to allow creation of subtasks of different types to the parent task.

If any of these lists only have one form (or the user can only see one form), we'll take the user directly to the specified form.

Dec 11 2018, 8:34 PM · Feature Request

Nov 8 2018

20after4 edited the content of Community Resources.
Nov 8 2018, 11:37 PM

Nov 2 2018

20after4 awarded T13208: Workboard queries may vanish or fail to persist (spooky) a Mountain of Wealth token.
Nov 2 2018, 9:34 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

Awesome, thanks @epriestley!

Nov 2 2018, 9:34 PM · Workboards

Oct 31 2018

20after4 updated the task description for T13208: Workboard queries may vanish or fail to persist (spooky).
Oct 31 2018, 7:47 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

I just tested and indeed @joshuaspence's steps are reproducible on https://phabricator.wikimedia.org

Oct 31 2018, 7:46 PM · Workboards

Oct 29 2018

20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

@dlgiang: if you go to maniphest and choose any of the existing saved queries, you will find the ID in the resulting url.

Oct 29 2018, 10:13 AM · Workboards

Oct 4 2018

20after4 awarded rARC8e0e07664a83: [Wilds] Remove libphutil a Party Time token.
Oct 4 2018, 4:31 PM

Oct 1 2018

20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

It seems to be a fairly recent problem so there must be some code change that started triggering it. The worst part, IMO, is that the workboard breaks in a not-entirely-obvious way instead of falling back to a default query. It took me a while to debug the issue the first time it occurred.

Oct 1 2018, 11:34 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

Could it be that a user assigns it to one of their "personal" custom queries and then later they delete that query by way of the maniphest saved query ui?

Oct 1 2018, 9:37 PM · Workboards
20after4 added a comment to T13208: Workboard queries may vanish or fail to persist (spooky).

I'm not sure what's caused this either but I've seen it twice on wikimedia's production install.

Oct 1 2018, 9:36 PM · Workboards

Sep 20 2018

20after4 added a comment to T13196: Allow search cluster path value point to alias for Elasticsearch fulltext engine .

@epriestley: I can help with testing and validating on elasticsearch, if that helps at all.

Sep 20 2018, 12:54 PM · Search, Elasticsearch
20after4 added a comment to D17593: Maniphest: Allow restricting custom fields to subtypes.

In theory, probably. In practice, anything not coming through a support pact is probably going to sit in queue for an eternity nowadays.

Sep 20 2018, 12:52 PM
20after4 added a comment to D17593: Maniphest: Allow restricting custom fields to subtypes.

@epriestley: I'm thinking about changing this to make it look more like your example (quoted below) as I think that would make custom fields and subtypes quite a lot more useful. Is this something that you would consider merging in the upstream?

Sep 20 2018, 12:24 PM

Aug 16 2018

20after4 awarded T13186: Upgrading: Legacy "Can Edit <Field>" policies in Maniphest; requireCapabilities() in TransactionEditor a Love token.
Aug 16 2018, 9:36 PM · Security, Policy, ApplicationEditor, Guides, Installing & Upgrading

Aug 15 2018

20after4 added a comment to T13062: Trying to manage anything in Gsuite is kind of not great?.
Aug 15 2018, 3:04 AM · Phacility, Ops

Jul 2 2018

20after4 edited the content of Community Resources.
Jul 2 2018, 1:05 AM

Jun 28 2018

20after4 added a comment to T13103: Document favicon customization and validate the "ui.favicons" configuration option.

Can't wait for "connect 2" to come out on playstation six.

Jun 28 2018, 11:53 AM · Files, Aphront, Infrastructure

Jun 18 2018

20after4 abandoned D16101: DiffusionCommitTagsHeraldField.
Jun 18 2018, 4:44 PM

Jun 12 2018

20after4 awarded rPc5b13a6be3b7: Allow object subtypes to be changed via bulk editor a Love token.
Jun 12 2018, 11:30 PM
20after4 requested review of D19493: Add a --limit argument to the `workers` management cli..
Jun 12 2018, 11:05 PM

Mar 17 2018

20after4 awarded T13103: Document favicon customization and validate the "ui.favicons" configuration option a Love token.
Mar 17 2018, 1:29 AM · Files, Aphront, Infrastructure

Jan 6 2018

cspeckmim awarded Changelog a Mountain of Wealth token.
Jan 6 2018, 4:47 PM

Dec 24 2017

20after4 added a comment to D18836: Prevent hiding the PhabricatorProjectDetailsProfileMenuItem.

@epriestley: Thanks! Hope you're having a great holiday weekend :)

Dec 24 2017, 6:32 PM

Dec 23 2017

epriestley awarded T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal a Hungry Hippo token.
Dec 23 2017, 4:32 PM · Profile Menu Item, Projects

Dec 22 2017

20after4 added a comment to T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.

D18836 probably isn't the right solution, however, it's the only straightforward fix I could come up with. I didn't dig into the details of why it 404s when I fix the code in PhabricatorProjectViewController to avoid the fatal. The patch is probably good enough for Wikimedia, however, I'm not sure if it's good enough for upstream.

Dec 22 2017, 3:26 PM · Profile Menu Item, Projects
20after4 requested review of D18836: Prevent hiding the PhabricatorProjectDetailsProfileMenuItem.
Dec 22 2017, 3:25 PM
20after4 added projects to T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal: Projects, Profile Menu Item.
Dec 22 2017, 3:10 PM · Profile Menu Item, Projects
20after4 added a comment to T10667: Improve ambiguity when resolving commits that appear in multiple repositories.

Another approach that might make sense would be to highlight the hash and then show a hovercard which lists the commits with that hash. Of course this wouldn't scale too far but it should handle the case where 2 or 3 commits have the same hash.

Dec 22 2017, 1:17 PM · Diffusion (v3)
20after4 added a comment to T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.

I tried to work around the immediate fatal by checking the return value of $engine->getDefaultItem() in PhabricatorProjectViewController, however, that resulted in hitting a 404 so it's a bit deeper of an issue. Perhaps the right solution is to prevent users from disabling both of the default items in the project "manage menu" UI?

Dec 22 2017, 9:04 AM · Profile Menu Item, Projects
20after4 updated the task description for T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.
Dec 22 2017, 8:56 AM · Profile Menu Item, Projects
20after4 renamed T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal from Disabling both orkboard" and "Project Details" to Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.
Dec 22 2017, 8:55 AM · Profile Menu Item, Projects
20after4 created T13033: Disabling both "Workboard" and "Project Details" causes project's /tag/ProjectName url to fatal.
Dec 22 2017, 8:54 AM · Profile Menu Item, Projects

Dec 13 2017

20after4 added a comment to T4369: Phabricator HTTP repository hosting has fairly severe scalability limits.

I don't see any easy way to cheat through $_FILES, though. We could remove it, but we have a nonzero number of users who compile their own copy of Linux and use a window manager that doesn't support drag and drop and disable Javascript and don't believe a monitor should ever have more than 256 colors, so that would leave them out to dry. The conversion also isn't trivial, so even if we want to move in this direction eventually I think it's a significant scope expansion over just building a synthetic $_FILES.

Dec 13 2017, 11:50 AM · Diffusion (v3), Restricted Project

Nov 29 2017

20after4 updated subscribers of T9805: XHProf will not build on PHP7.
Nov 29 2017, 6:50 PM · XHProf
20after4 added a watcher for Calendar: 20after4.
Nov 29 2017, 6:31 AM

Nov 14 2017

20after4 committed rPa1f12b4ac7af: Specify a null behavior for the callsign sort column. (authored by 20after4).
Specify a null behavior for the callsign sort column.
Nov 14 2017, 11:16 PM
20after4 closed D18773: Specify a null behavior for the callsign sort column..
Nov 14 2017, 11:16 PM
20after4 added a comment to D18773: Specify a null behavior for the callsign sort column..

@epriestley: Sweet, thanks! landing...

Nov 14 2017, 11:15 PM
20after4 requested review of D18773: Specify a null behavior for the callsign sort column..
Nov 14 2017, 11:14 PM

Oct 9 2017

20after4 awarded T13000: Sustained MySQL I/O overwhelmed db009 / huge Ferret engine ngrams table a Baby Tequila token.
Oct 9 2017, 1:10 AM · Ops, Phacility

Sep 26 2017

20after4 abandoned D18636: Add the repository name to revisions in Differential list view..

@epriestley I have no problem patching it locally (already have) it just seemed like an obvious thing to show on the differential screen. If it's not wanted upstream then it's no sweat off my back :)

Sep 26 2017, 9:16 AM

Sep 23 2017

20after4 updated the test plan for D18636: Add the repository name to revisions in Differential list view..
Sep 23 2017, 7:55 AM

Sep 22 2017

20after4 created D18636: Add the repository name to revisions in Differential list view..
Sep 22 2017, 9:04 PM

Sep 6 2017

20after4 awarded T12819: InnoDB FULLTEXT appears to fail catastrophically once it reaches a moderate size a Party Time token.
Sep 6 2017, 3:51 PM · Restricted Project, Search