Short version:I think my biggest failure as a manager was not telling my staff that I considered their boundary point for finished work to be things running in production.Long version:I had a programmer a long time ago who would give me code that quote "worked on her machine" but could not function in production. She had no idea why and would point fingers in all directions than herself.When I ended our working relationship, I made it clear to my new staff that I considered the boundary to be that it would work in production. But what I didn't do was declare the boundary to be that the developers were responsible for it getting to production.I had in fact created the exact boundary I'd wanted to dissolve in the way that the devops movement had talked about in the 2005-2015 decade.#SoftwareEngineering #Operations #DevOps #Programming #SoftwareDevelopment

 

Replicating a Let's Encrypt type service, while each piece is small, there's a lot of moving pieces, from tracking nonces, to tracking keys, accounts, validation (which isn't the same as attestation!), issued certs, revoked certs, and also attestation!#programming

 

I've done so much work with my team and software to manage the smooth flow of work at work. I need to write this all up, but I've changed our flow to make work more smooth, more predictable, reduce waiting patterns for review, and reduce distractions.I've put both processes and software together to help management (mostly me) help identify when things seem either stuck or we're encountering a problem, and now am working on software to assist management in eliminating the need to do check-ins to the system, allowing us to queue small amounts of oversight work and then act on it on demand.I'm really happy with the outcome so far!#Programming #Management

 

Back in the 2000s, I wrote some XSLT to transform RPG character sheet from a semantic format to HTML.Basically, stuff like:20to a rendered character sheet.It was pretty neat because I had a clean separation of my data which I wanted represented one way into another data format, but xslt on the browser is a whole other matter. xslt on the browser is virtually unused, libxslt is not well maintained and being on the browser means it's subject to all kinds of inputs, including potentially malicious ones.Google isn't wrong to remove xslt support from Chrome.Today if I wanted to the same, even if I wanted to represent my data as XML (which I probably wouldn't), I'd just use a simpler HTML template language and then have a simpler parser in between.It would be more lines of code, but easier to understand.#xml #xslt #programming

[–] [S] 1 point 1 year ago (1 child)

@peribotsarah Nothing so complex! These systems pre-date blockchains by decades.In its most primitive form, OCAP simply means that capabilities are expressed as unforgable addresses in a system.A file descriptor in a Unix system is an example of one, as is a password reset token. A password reset token can only be used for password reset on one account. It can't be used to do other things. A file descriptor lets you do things to one file, not any file you want, etc.Imagine if you handed a malicious program a read only file descriptor to a file. It might want to write to it, but if all it had was just the file descriptor and nothing else, it wouldn't be able to do anything.

  • source
  • parent
  • context
  • [–] [S] 1 point 1 year ago

    The potential power of agents can't really be overstated. Systems that in aggregate can change the way we work at basically every level.People are worried about AI for damn good reasons. AI companies power their business through our private information. But it doesn't have to be that way. Fossil fuel companies do awful things to the earth, but that doesn't make electricity bad. AI companies are evil, but AI isn't bad on its own.If we want good AI that means good privacy, and good security. It means that a program that is there to record my voice and transcribe it doesn't need to have access to my personal photos. We need models of computing that are designed around consent, and build for small, singular tasks that compose.That's why the capabilities model is so necessary and we see so much work from different people and projects going into it.With Smart Contracts, it's necessary. With AI agents, we need it yesterday.#Programming #AI #OCAP #Capabilities #Agents #SmartContracts

  • source
  •  

    The main idea around object capabilities, decades before cryptocurrencies and all that, was around the idea of so-called "smart contracts", which really boils down to "Code that does financial and legal things on our behalf", and the core takeaway from that was that if you don't have a serious computer security model, there's no real way to do this right.When I say serious computer security model, for non-tech folks, I don't mean "Install the latest virus scanner.", I mean you need complete assurance that a program that's meant to do one thing can't do something else- not "should not" or "won't try", I mean "can't", as in even if the person who wrote this program is pure evil, the thing they want to do won't happen.And the best way we know how to do that is the object capabilities model. It's not the only way, but we've learned in the last ~35 years that it's the only practical way.Now let's talk about AI and LLMs...1/#Programming #AI #OCAP #Capabilities #Agents #SmartContracts

     

    So much of programming is writing glue code between two systems, and related to my post about Pidgin (babka.social/@serge/1151184496), I think about how useful LLMs could be where you have two well documented APIs such as a remote client API and an internal API, which in this case would be LibPurple's API (used by Pidgin).Another example would be using LLMs to develop plugins for OpenTofu or Puluomi, where both the internal and external APIs are well documented and there are examples for it to draw from.This kind of programming is very tedious, not especially creative, and is very necessary. I wish we saw more of it.#LLM #Programming

     

    Business folks, as I read this Reddit thread, I worry about this being an issue for a new project/business I'm working on.I had developers (who I recently let go) who were producing bad output. I think a lot of it was they never actually tried the code they made. They didn't run it and use it, so what they designed and built was either broken or "technically working" but not usable.Do you have this issue? Do you think there are approaches to addressing it?This is one issues that doesn't happen in the FLOSS world, which has its own problems, but "Developer doesn't use product" isn't one of them.old.reddit.com/r/Entrepreneur/#programming #business #development #AskFedi

    [–] [S] 1 point 1 year ago (3 children)

    Another approach would be if Alice could generate multiple Passkeys and hand them out to individuals she trusts, and then retaining the ability to revoke them. Sadly many sites don't yet support Passkeys, and this model still lets someone like Mal revoke Alice's access, so that's not great.

    Bitwarden has a feature whereby Alice can share a password with Eve but not let her see it or export it. This could work pretty well, except that if the site requires 2FA from a SMS text message (vs TOTP or a token) or if Eve has the knowhow to intercept the password.

    I still think that what we ultimately want is attenuated scopes because then we can track all actions by the delegated party.

    I do wonder if this need is niche or if the current solution of "good faith password sharing" works well enough often enough that it's not risen to the level of concern for developers.

    2/2

    #Authentication #Authorization #InfoSec #Passwords #Passwordless #Programming

  • source
  •  

    I've been thinking about delegated authority on websites lately.It would be convenient if I could delegate certain functions to people, for example allowing someone like my accountant to have access to some of my financial records.Some organizations make this easy, allowing me to have multiple accounts.Other services don't offer this, nor do they offer any kind of OAuth type of delegated authorization or capabilities model.I've been thinking about ways around this.One very wacky way would be if Alice could have a a "special browser" that would tie into some service she runs. Bob would log in with his credentials and then behind the scenes the application logs in as Alice.This would be very complicated to implement though.1/#Authentication #Authorization #InfoSec #Passwords #Passwordless #Programming

    view more: next ›