12 votes

The things we do to ship desktop software

2 comments

  1. [2]
    rogue_cricket Link
    I am feeling this pretty hard right now. I've only ever used Python for small scripts, but support staff got wind of something I wrote at work for personal use and now they want to use it too. So...

    I am feeling this pretty hard right now. I've only ever used Python for small scripts, but support staff got wind of something I wrote at work for personal use and now they want to use it too. So now I've got to make sure it's completely OS-agnostic, with a robust logger for debugging, as well as set up for easy packaging and distribution and execution.

    It's the first time I've done this with Python. Because I didn't build it with the intent to distribute I'm finding the process pretty frustrating and time-consuming.

    9 votes
    1. bbvnvlt (edited ) Link Parent
      I can relate. I am not a programmer, but I worked in web dev for a year or two (php stuff, vanilla javascript webapps, html/css, the basics). I sometimes build little things for personal use and...

      I can relate. I am not a programmer, but I worked in web dev for a year or two (php stuff, vanilla javascript webapps, html/css, the basics). I sometimes build little things for personal use and for fun. A few of those I'd like to publish/share/promote, but I don't because I don't trust them to work that well, and I'm scared off by what I think I'd need to clean and beef up (e.g. testing across browsers and devices, interface buttons for functions I now control with keyboard shortcuts and/or clear explanation docs for those keyboard shortcuts and whatnot).

      fyi, some examples:

      • A text editor that doesn't let's you edit after a few seconds (text 'dries up'). Not my own idea, but I didn't like some things about the original (which has since shut down). I use it to quicly bash out first drafts for articles.
      • A big old presentation clock I use for student presentations in my courses (only tested/optimized for desktop).
      • A bookmarklet I call Slash that paints a diagonal line over your screen. I find it to be a nice way of visualizing where you are in a long article, much more 'there in the background' than progress bars you need to consciously look at. But there's many sites where the last one doesn't work (including Tildes):
      javascript:(function%20()%20%7Bfunction%20makeSlashMark()%20%7Bvar%20svgNameSpace%20%3D%20%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%2Cline%2Cg%2CslashMark%20%3D%20document.getElementById(%22slashMark%22)%3Bif%20(slashMark)%20%7BslashMark.style.width%20%3D%20document.body.scrollWidth%20%2B%20%22px%22%3BslashMark.style.height%20%3D%20document.body.scrollHeight%20%2B%20%22px%22%3B%7D%20else%20%7Bline%20%3D%20document.createElementNS(svgNameSpace%2C%20%22line%22)%3Bline.setAttribute(%22fill%22%2C%20%22none%22)%3Bline.setAttribute(%22stroke%22%2C%20%22%23000000%22)%3Bline.setAttribute(%22stroke-width%22%2C%20%2212%22)%3Bline.setAttribute(%22stroke-opacity%22%2C%20%220.05%22)%3Bline.setAttribute(%22x1%22%2C%20%2230%22)%3Bline.setAttribute(%22y1%22%2C%20%22100%25%22)%3Bline.setAttribute(%22x2%22%2C%20%22100%25%22)%3Bline.setAttribute(%22y2%22%2C%20%2230%22)%3Bg%20%3D%20document.createElementNS(svgNameSpace%2C%20%22g%22)%3Bg.setAttribute(%22transform%22%2C%20%22translate(-15%2C-15)%22)%3Bg.appendChild(line)%3BslashMark%20%3D%20document.createElementNS(svgNameSpace%2C%20%22svg%22)%3BslashMark.setAttribute(%22id%22%2C%20%22slashMark%22)%3BslashMark.style.position%20%3D%20%22absolute%22%3BslashMark.style.top%20%3D%200%3BslashMark.style.left%20%3D%200%3BslashMark.style.width%20%3D%20document.body.scrollWidth%20%2B%20%22px%22%3BslashMark.style.height%20%3D%20document.body.scrollHeight%20%2B%20%22px%22%3BslashMark.style.zIndex%20%3D%209999999999999%3BslashMark.style.pointerEvents%20%3D%20%22none%22%3BslashMark.appendChild(g)%3Bdocument.body.appendChild(slashMark)%3B%7D%7Dwindow.addEventListener(%22resize%22%2C%20makeSlashMark)%3BmakeSlashMark()%3B%7D())%3B
      

      EDIT: removed hyperlinks (URLs identify me personally)

      1 vote