7 ms·
Jira Is Turing-Complete
- pjmlp 5mo agoAll workflow and orchestration engines are Turing complete, the whole purpose is to automate execution flows.
- snemvalts 5mo agoHow many of them can run infinitely? Or be re-triggered by humans to continue where they left off?
- pjmlp 5mo agoDepends on how you code the workflow and transition state triggers.
- tgv 5mo agoI don't think so. First, JIRA is not orchestration. Second, all workflow needs to do is associate some status with external information, and make it easy to manipulate those. You need triggers and rules, some thing like infinite counters, two stacks, a bidirectional tape, etc. Prove me wrong!
- pjmlp 5mo agoYes, and the rules engine is there when creating custom workflows. https://developer.atlassian.com/server/jira/platform/creating-custom-workflow-elements/ https://developer.atlassian.com/server/jira/platform/creatin... I also explicitly mentioned workflows on my comment.
- tgv 5mo agoYou implied all workflows, not just Jira.
- pjmlp 5mo agoAnd I stand by it, naturally it depends on the specific workflow engine how those features are exposed. Then we can split hairs about which one don't really support it, so that you want win Internet discussions about all not being all.
- bigbluedots 5mo agoWell, you did say all. Is there a minimal set of exposed features that must be exposed for a workflow engine to be included?
- pjmlp 5mo agoConditions and state transitions, plus actions for side effects, obviously.
- hyperhello 5mo agoJira is completely awful and thus has the potential to take on any other form of awfulness.
- 0xffany 5mo agoOr is it Awfully-Complete? :)
- deleted 5mo ago[deleted]
- graypegg 5mo agoI don't think JIRA is fully capable of being truly awful without people adding most of the awfulness to it. A awfulness-vessel rather than awfully-complete, but it is certainly part of the torment nexus humanity is building for ourselves.
- 12_throw_away 5mo agoI like to think of it as a Torment Nexus SDK. Start with a punishing UI (the web UI work and become unresponsive frequently, always wait at least 1.5 s before responding to interactions, etc.), add infinitely customizable bureucratic rules on top, and then make people's jobs dependent on making the numbers go up in the correct manner.
- graypegg 5mo ago[dead]
- qsort 5mo agoJira is the ultimate example of the concept of alienation. If Marx knew about Atlassian the Grundrisse would have been insanely lit.
- halapro 5mo agoThe worst part is that every company with a tasks product works right towards Jira. Compare what GitHub issues were in 2014 to what they are today: https://github.com/features/issues https://github.com/features/issues and they keep. adding. redundant. features
- lmm 5mo agoThat explains why it's impossible to tell whether any given Jira operation is going to halt or not.
- akshaydeshraj 5mo agoUnderrated comment this !
- zombot 5mo agoDoes that count as "you can play Doom on Jira"? Does Jira supply the pump action shotgun required to kill the resulting demons?
- danielcasper 5mo agoI'll need you to submit a ticket to fire the shotgun.
- danudey 5mo agoSorry we're out of ammunition but I created "get more shotgun ammo" as part of the "supplies and buffs" epic and put it in the next sprint at one story point. This might result in DOOM-212 "Shoot Demons" getting bumped to next month but if you think it won't affect scope we can pull it in after all. LMK what you think as I'll need to get exec buy-in on this before we pull the trigger on this, literally and figuratively.
- jonasf1337 5mo ago[dead]
- fercircularbuf 5mo agoNot surprising if you've worked with their automation flows in-depth before. What's surprising is how awful their automation flow tools are to work with. Feels like programming in assembly to accomplish what you want.
- Buttons840 5mo agoJira is popular and has good API wrappers for your favorite language. I'm surprised corporate programmers with the hacker spirit haven't automated most of the things they are asked to do in Jira with Python command line scripts or whatever. If you can make Jira an order of magnitude easier to use for yourself than for the people pushing it, suddenly the script flips and Jira is something you push to protect yourself. I've used Jira to almost a malicious extent at times, and it's a great tool to cover your ass. If you ever get in trouble for something you just point out "this was all made clear in the hundreds of Jira updates I've written, you've been reading those, right?". What are they going to do? Ask you to use Jira less? We have AI now. Hook it all together with a custom script and have the AI do all the Jira crap for you.
- _ZeD_ 5mo ago> corporate programmers with the hacker spirit that thing does not exists
- Groxx 5mo agoQuite a few have, the issue is that every Jira instance is a fractal shit snowflake of custom properties several layers deep through old failed migrations to new organization strategies. And many times the API can do stuff that the UI doesn't allow, and everyone's relying on the UI to drive things, so you end up in weirdly broken corners because you didn't notice that you need custom_field_5537 to be paired with custom_field_442 or it doesn't appear on anyone else's dashboard. Also it claims custom_field_10995 is an integer type field, and returns as integers in the XML, but there's a pile of undocumented magic constant strings that you have to use instead when creating (but not updating!) a task or you get useless error messages. The web UI doesn't do this though (it's just integers in html and the request), and only 80% of the strings match the display text in the dropdown. Automating Jira is the absolute worst programming experience I've ever had. I can completely believe that simpler setups exist and they're probably quite easy, but omfg. Sadly it's still completely worth the effort. Highly recommended.
- jiggawatts 5mo agoI just had a thought: is there some API so obscenely baroque and painful to use that even AIs would flatly refuse to work with them? It would be an interesting exercise to keep feeding a coding agent ever crazier interface designs until it cracks. “The base64 of the rot13 encrypted EBCDIC string has to be included in a JSON in the XML SOAP request, but both the JSON and XML escaping is manual and incorrect...” "...but first split the string into chunks no bigger than 64 bytes and spread the request amongst HTTP headers instead of the POST body. Reassemble by trying every possible ordering until one passes the decoding steps."
- rectang 5mo agoEven more nauseating than https://brainfuck.org https://brainfuck.org
- taspeotis 5mo agoI came back to a workplace, that still used JIRA. Obviously during the interview I was like oh JIRA yeah yeah yeah you still use that? I can use that. Anyway yes, I can use JIRA. But it was a real shock to see the latest version of JIRA. It has a thousand papercuts, one of the worst is double clicking on text select stuff suddenly kicks fields into editor mode. What I was remembering was JIRA Server 4.0, you can walk down memory lane here* - zoom in enough and you'll see each issue has a title, type, fix version, affects version, and so on, and then you end up going straight to the comments. Very straightforward. * https://www.jirastrategy.com/wp-content/uploads/2020/04/deployment-issue-1024x332.jpg https://www.jirastrategy.com/wp-content/uploads/2020/04/depl...
- IshKebab 5mo agoThat version of JIRA could still easily be configured to be awful. That's the main problem with JIRA - the power to actually configure it to be sane is always reserved by a few people who don't want to bother, don't have time and don't care because they aren't really using it every day. Well one of the problems anyway. It's also unimaginably slow, and has weird limitations like issues can't be parents of other issues.
- zelphirkalt 5mo agoThe non-existence or non-availability of recursive features, like an issue being parent of an issue, or in Slack a thread being started inside a thread and so on, to me usually indicates, that the developers of the tool are afraid of recursion, and have never learned how to implement this easily in a database, used a programming language that easily deals with recursion, and don't know how to deal with it in other languages. They tend to think "it's too complicated". It's usually just a silly lazy excuse, but here we are, with tons of inflexible shitty tools.
- auxiliarymoose 5mo agoAlternatively, it is a conscious decision to help prevent users from causing complicated situations. Given a highly configurable system, users will find ways to (unintentionally) tie it into knots, so adding some guardrails can help reduce complexity demons down the line (both in the technical implementation and the user experience). I guess I prefer to give people making things the benefit of the doubt.
- dostick 5mo agoIt can’t be because in order to administer Turing test the system has to be usable straight away. This system requires extensive training and specific knowledge and steps for that.
- bluehatbrit 5mo agoThe Turing test is to test whether a programme exhibits intelligence. Turning complete is a measure of whether something can be used as a programming language to run as a universal Turing machine.
- unconscionable 5mo agoWoof. JIRA is so slow, and managers never seemed to set it up correctly. I have trauma from using it!
- zelphirkalt 5mo agoYou see, it's not the tool's fault. There is simply no one on this planet, who can set up the tool correctly... Surely we cannot hold the tool responsible for human incompetence. For whom it is built then, you ask? Well, that's an entirely different question, that shall not be discussed at this point.
- mavamaarten 5mo agoYeah the slowness is what always gets me. Like in essence a ticketing system isn't more than just a database of tickets and relations between tickets and states. And okay you can kinda make it explode by having tons of interconnected tickets and custom fields and plugins. But I will never understand how something that just works with simple textual data and attachments can be so unbearably slow.
- danudey 5mo agoPresumably it has to do with: 1. All the checks it has to do to see if there are relations between tickets, states, triggers, actions, reports, etc. 2. Accessing separate subsets of data for each ticket from different locations and bringing it all together (epics, sprints, user lists, comments, reactions, linked issues, linked PRs and branches, etc) 3. The code is apparently a complete dumpster fire, from what I've heard from people at Atlassian.
- sam_bristow 5mo agoSomeone should chuck a clean-up ticket on the backlog.
- jaspanglia 5mo ago[flagged]
- 0xbadcafebee 5mo agoI love Jira automations. Whenever I start on a new team using Jira, I go in and set up automations that do things like auto-count the subtask story points to fill the parent task's story points, or automatically move tickets to backlog if they don't have fully refined properties (missing user assignment, missing story points, missing priority, missing description, etc). In one sprint the team has a more organized board. Dunno why they're not the defaults, but easy enough to fix with automations.
- piva00 5mo agoWhy would tickets need to have a user assignment to be considered refined? It should be up to whomever picks it to work to get assigned to, not a part of the refinement.
- lelanthran 5mo agoHe moves unassigned tickets to backlog. That is correct, when a dev is done with their tickets they take a new one off the backlog.
- piva00 5mo agoAh, of course, I haven't worked with non-Kanban boards in more than a decade where having a swimlane for the "Todo" items picked for next-in-line work is common, and in that lane there are no users assigned.
- noja 5mo agoAny good alternatives to Jira, locally hosted without a huge licence cost?
- senand 5mo agohttps://www.openproject.org/blog/open-source-jira-alternative/ https://www.openproject.org/blog/open-source-jira-alternativ... I haven‘t used it myself, though
- RicoElectrico 5mo agoRedmine, maybe? With or without Redmine X.
- IshKebab 5mo agoHonestly the best issue tracker I've used so far is Phabricator (now Phorge). It would be a bit weird to use it just for issues though, and tbh I'm not sure I would recommend it as a forge because it has approximately no CI support.
- HarveyKandola 5mo agoYou can try Ekso: https://ekso.app https://ekso.app Fully self-hosted, dockerized. We made the pricing reasonable -- YMMV.
- mtron_ 5mo agoBugzilla. Seriously. Can be easily extended and unneeded fields can be disabled via template. We use it since 20 years at a 6000 heads company and it's totally fine.
- DarkUranium 5mo agoLeantime, Plane, Wekan come to mind. Jira is absolutely huge, so it's hard to tell what parts of it you're interested in.
- pbowyer 5mo agoJira is the one product I feel needs to be AI native. AI native in the sense that it papers over the pain points. New JIRA admin? AI will set it up to do what you want (after all, Atlassian has a great training set as they can see which Cloud installs work well) Need to set up a workflow? Bam, AI to do that. Need to onboard a user or manage permissions? Again, have a chatbot to do it (as a time-to-time Jira standin Admin, changing permissions always needs doing in 2+ places and devolves into a "Can you see this yet?" round of questions)
- onion2k 5mo agoJira has an AI feature called Rovo. It's terrible. Giving an API key to Claude however gets you exactly what you need. Albeit in quite a risky way though.
- jorge-d 5mo agoDefinitely, that's the issue with legacy tools and just plugging AI agents on top of existing API capabilities that were designed for human in the first place. Retrofitting agent-safety onto APIs that predate agents is harder than it looks (guardrails, permissions scopes etc.) Disclosure: I'm CTO of an ITSM product in this space (Siit), so I think about this a lot.
- tgv 5mo agoRussain roulette.
- kvgr 5mo agoI think at least 60% companies that use Jira could do better with just Trello. I dont know how it is possible to create such a horrible mess with task manager and some reports. But it probably keeps the managers and POs bussy so :D
- onion2k 5mo agoThis is true because Trello uses simplicity as a constraint, so users can't make quite as big a mess. They can still make a mess though and as a source of truth it still requires people to move things properly, so it isn't really any better. All project tracking applications suffer from the same ultimate root cause of problems: users.
- taikahessu 5mo agoI'm sure Atlassian knows this as well. When you setup a basic Kanban board in Jira, it is basically a Trello board. It is offered as one of the default options. I was actually surprised they offered such simple options. Of course the complexity is there, the moment you start wanting an extra column, you're in the rabbit hole.
- kvgr 5mo agoYes but it never ends there. Jira mess grows with middle managers trying to suck some kind of reports out of tasks. And trying to manage everything in it. 20 ticket states, 15 bug types and using epics for wrong reasons, every board setup differently. Moving between teams is hell. It is intergalactic spaceship when all you need to is go to have a smooth car ride.
- viceconsole 5mo agoProbably true, but Trello just had a major multi-day outage that prevented commenting on or moving cards, so I would be hard pressed to recommended it to anyone at this point.
- jdthedisciple 5mo agoWhat annoys me about Atlassian products (Jira, Confluence) is the long load times and terrible layout shifts: you never know if the layout is about to shift ever so slightly more causing another in a series of misclicks. Oh how many times I've accidentally assigned a newly created ticket to some poor fella I'd never even seen before...
- denysvitali 5mo agoCan't wait to run DOOM on it
- guangboshushu 5mo ago[dead]
- itemize123 5mo agoit's actually easy to be turing complete. it's a feat for a system to be non-turing complete and be "complex".
- animanoir 5mo ago[dead]
- dnnddidiej 5mo agoBut can it?
- baddash 5mo agoin before every project manager on planet earth makes a "guess we don't need you devs anymore haha" joke during morning standup
- moate 5mo ago...why would we want to do your job? No you fool, don't you see? Now you're all going to going to be forced to learn how to code...in Project Manager BWA HA HA HA HA!
- void_one 5mo agoplease reply to this comment with a link once they implement Doom in Jira
- khazhoux 5mo agoWhen would it be better to write software as Jira state transitions, instead of using python (with its large software ecosystem) or Rust or Go (type safety, etc)?
- DeathArrow 5mo agoOh no, that means someone will port Doom to run on Jira.
- itomato 5mo agoI already did. Quake 3 Arena also, but that’s not in the Marketplace (yet). We are going to chat about it on June 9 in an online Developer Event
- gjvc 5mo agoJira is the best way to destroy morale.
- butterisgood 5mo agoI've worked at a place that used this abomination called "Jira Align"... I think I'd rather do my own dental work without anesthetic.
- danielcasper 5mo agoI can finally play Doom in Jira.
- itomato 5mo agoYes. Quake 3 Arena Multiplayer too.
- amai 5mo agoTry Azure Boards instead and you will love JIRA. Because there is no software in the world that Microsoft can't make worse.
- encom 5mo agoI've always hated Gmail. I still do. But I switched jobs last year, and the new place uses Outlook instead. I struggle to find a word that adequately describes my disdain for Outlook; hate doesn't even begin to cover it. It struggles at the most basic of tasks: receiving and sending email. I'll get a notification on my phone about an email. I open the app and there's nothing. Pull down to refresh does nothing. It takes about 1-15 minutes to appear usually. Everything I do in Outlook is tedious as fuck. Many moons ago, in like Office 2003 times, I used Outlook as well, and I don't remember it being this bad. How did it regress so badly? Don't even get me started on Teams - I don't really know what problem that program is supposed to solve. Also our shared files are in OneDrive. But they're also in Teams. And they're also in Outlook for some reason. I had to transfer a bunch of computer backups (CloneZilla images) to OneDrive/Teams/Outlook. About 30 or so GB. It took forever, and my 6-core Ryzen laptop with Win11 was spinning its fans like mad the entire time. How? Why?
- danudey 5mo ago> I've always hated Gmail. I still do. But I switched jobs last year, and the new place uses Outlook instead. I struggle to find a word that adequately describes my disdain for Outlook; hate doesn't even begin to cover it. It struggles at the most basic of tasks: receiving and sending email. I'll get a notification on my phone about an email. I open the app and there's nothing. Pull down to refresh does nothing. It takes about 1-15 minutes to appear usually. Everything I do in Outlook is tedious as fuck. The number of times at my last job I had to tell someone to re-send me an e-mail because Outlook search couldn't find anything with "GitLab Upgrade" in the subject line (let alone the twelve message thread it was part of) was staggering. Also, my most hated functionality in Outlook: distribution groups (or whatever they call them). Instead of saying "devops@corp.com forwards to this list of people", you say "Devops is this group of people", so when you send an email to "Devops" it goes to all of those people. Sure, great. Except that it means that you can't filter by that. Saying 'Devops' is just shorthand for saying "This guy, this guy, this guy, and this guy" explicitly. If you say "e-mails sent to Devops" Outlook interprets that as "e-mails with any of this group of people in the To or CC field", meaning that Outlook filters couldn't distinguish between "e-mails sent to me" and "e-mails sent to my team". Since I almost always had someone from my team CC'ed on e-mails I sent, it meant that my "e-mails sent to Devops" filter just matched every e-mail coming or going. It ended up being that the alerting and monitoring e-mails we got I was only able to filter because the relevant tools put various headers into the e-mail (like X-Nagios-Alert or whatever) or they came from specific e-mail addresses (which was not always reliable but was often reliable enough).
- leonidasv 5mo agohttps://mattrickard.com/accidentally-turing-complete https://mattrickard.com/accidentally-turing-complete
- kingofmen 5mo agoThis appears bugged: > A Minsky program that adds register A into register B looks like: > 1. DEC A; if A == 0 goto 3 else goto 2 > 2. INC B; goto 1 > 3. HALT If A initially equals 1 it will be decremented and hit zero; the conditional triggers, and the program halts without ever incrementing B. ...which suggests that Jira is a Turing tarpit in which even the simplest programs are immensely difficult to implement correctly. Who knew?
- beefburger 5mo agoIndeed. The Jira rules implement test-then-decrement correctly, but the notation was ambiguous. I’ve fixed the pseudocode so that the test explicitly precedes the decrement. Thanks for the careful read!
- DocTomoe 5mo agoAny software that breeds a consultancy culture around it is a software that has become too complex and should probably be broken up into or replaced by smaller, more manageable parts. I'm saying that as a former ACE-certified Atlassian Consultant from a Platinum Partner. I'm much happier now.
- sam_bristow 5mo agoI think that a large part of Atlassian's problem is their network of extension vendors. Every time you look at a feature request for simple things like "as a user I'd like to see a total of the worklog hours I've added to tickets this week" you get a chorus of vendors popping up to sell you their $10/month plugin that approximately covers your request. If Atlassian actually fixed these papercuts their product would be better but they wouldn't be getting a cut of all subscriptions from the dozens of plugins people install to make it a usable tool.
- perseusai 5mo agoJira. The absolute worst piece of shit ticket tracker, except for all the others.
- andrewjf 5mo agoI'm going to sound like a lunatic, but the best bug tracking software I've ever used was Apple's Radar internally. I wish they'd open source it. I've also had a bunch of fever dreams about re-implementing it as a product.