• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Which are your top five computer programs?

      In terms of Utility: It is useful! Reliability: It will always work when you need it to! Uniqueness: It gives you the option of doing things that would never have been necessary before it came...

      In terms of

      1. Utility: It is useful!
      2. Reliability: It will always work when you need it to!
      3. Uniqueness: It gives you the option of doing things that would never have been necessary before it came along.
      4. Aesthetic: It satisfies your sense of beauty: It gives you the same kind of feeling a painting or a poem would.
      5. Transcendence: It transcends the zeitgeist and is the simplest it can and thus ought to be.

      Mine are:

      1. Vim
      2. mutt
      3. The Lucas Arts point and click adventure games
      4. A Lisp interpreter
      5. grep
      32 votes
    2. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      5 votes
    3. Books and long-reads on technology history

      I like reading about the development process of technology products (software and otherwise), even when I don't understand the tech bits. Maybe due to their open nature, it is not hard to find...

      I like reading about the development process of technology products (software and otherwise), even when I don't understand the tech bits.

      Maybe due to their open nature, it is not hard to find detailed articles, mailing list answers, and interviews that go deep about FOSS. But I also have an interest in massively successful/unsuccessful products with large, rich and sometimes convoluted creation process. So things link Linux, Windows (all versions), Mac OS, the iPhone, iOS, Android, etc.

      My interest is not necessarily in biographies or accounts that deify so-called technology geniuses, but rather in narratives that don't shy from the nitty-gritty details of the technical/creative processes while also addressing the human/personal side of things.

      It also doesn't need to be educational at all, I just realized these stories are enjoyable reads.

      Any suggestions? ;)

      6 votes
    4. What is a good free alternative to Wordpress that requires little coding?

      I have basic notions of HTML and CSS, but nearly zero JS knowledge. I can perform simple customizations and I know how to follow instructions. It is not my intention to create anything from...

      I have basic notions of HTML and CSS, but nearly zero JS knowledge. I can perform simple customizations and I know how to follow instructions.

      It is not my intention to create anything from scratch (so the platform should have plenty of free themes), nor do I want to become a webdev or webdesigner. This is not a technical project for me, my main concern is the content.

      I currently have a blog that uses Wordpress with a purchased theme. It's good enough, but a bit slow to load. Besides, simpler platforms might be easier to understand and manipulate.

      This alternative would also need to be FOSS and easy to self-host.

      As a plus, it would be awesome if I could manage the blog/website from within Emacs/Org Mode.

      Any ideas?

      14 votes
    5. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      4 votes
    6. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      9 votes
    7. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      9 votes
    8. Fortnightly Programming Q&A Thread

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads. Don't forget to format your code using the triple...

      General Programming Q&A thread! Ask any questions about programming, answer the questions of other users, or post suggestions for future threads.

      Don't forget to format your code using the triple backticks or tildes:

      Here is my schema:
      
      ```sql
      CREATE TABLE article_to_warehouse (
        article_id   INTEGER
      , warehouse_id INTEGER
      )
      ;
      ```
      
      How do I add a `UNIQUE` constraint?
      
      9 votes
    9. Play Chess against GPT-2

      @theshawwn: I am preparing to release a notebook where you can play chess vs GPT-2. If anyone wants to help beta test it: 1. visit https://t.co/CpWrFvtnY2 2. open in playground mode 3. click Runtime -> Run All 4. Scroll to the bottommost cell and wait 6 minutes If you get stuck, tell me.

      5 votes
    10. Hard drive dying, trying to save a VM

      I have a large VirtualBox VM on an external HDD. The HDD fails the S.M.A.R.T. test. The VM still works fine, but any regular attempt to copy the VM files over to a healthy drive fails ... there is...

      I have a large VirtualBox VM on an external HDD. The HDD fails the S.M.A.R.T. test. The VM still works fine, but any regular attempt to copy the VM files over to a healthy drive fails ... there is clearly already something corrupt in the VM's virtual HDD, although it is not (apparently? yet?) affecting the functionality of the actual VM.

      Any suggestions on how to save the VM? Linux Mint Guest OS, Pop_OS (Ubuntu) Host. The VM is nearly 800 GB. Both regular copy and rsync fail.

      Thanks,
      Eric

      PS: (and perhaps I should have led with this, but...) is it okay to ask these kinds of specific, technical, "help me with my tech-stuff" questions here on Tildes?


      Update to the update ... moved update info into a comment ... will keep my progress updated in that primary comment.

      Danke, y gracias to all

      14 votes
    11. What programming/technical projects have you been working on?

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's...

      This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

      12 votes
    12. Exotic threats in mobile testing...

      I'm currently in the process of reading the excellent "Lessons Learned in Software Testing: A Context-Driven Approach". Early on the following is mentioned. Test common threats before exotic...

      I'm currently in the process of reading the excellent "Lessons Learned in Software Testing: A Context-Driven Approach". Early on the following is mentioned.

      Test common threats before exotic threats.

      Seems reasonable enough. That said, it got me thinking It'd be cool to generate a list of such threats for future devs/testers to draw on. So...I'm calling on the collective experience of any Tilders involved in iOS or Android development to lend a hand.

      In your time working on mobile, what issues have you encountered that you would you classify as exotic? I.e those issues that infrequently arise but when they do can cause major damage. Any and all help is appreciated.

      4 votes
    13. Choosing a new printer

      I'm thinking about getting a new printer. My needs are basically to print out textual documents 2-3 times per month from macOS. I don't need to print photos. I will not buy an inkjet because of...

      I'm thinking about getting a new printer. My needs are basically to print out textual documents 2-3 times per month from macOS. I don't need to print photos. I will not buy an inkjet because of the outrageous price of the ink. I would like to have fax support (my spouse sees a lot of doctors and they still use fax machines a lot, and we're not comfortable sending personal medical info via a fax service on the web), and it would be nice if we could also scan documents. So I'm thinking a multi-function device.

      We currently have a Brother 7840W MFC with print, fax, copy, and scan. It's over 10 years old (maybe 15?) and I dislike it. It's been slowly losing functionality over the past 5+ years. The WiFi went out, but I was able to connect it via wired ethernet to a computer and share it from there. The drivers insist that there's a paper jam, but there isn't and it prints just fine (but sounds like some of the internal mechanical components are going to die any day now.) The UI of the printer is awful. I recall having to use the phone pad to enter my WiFi password, and it was like texting on a Motorola StarTAC. (Like if you want the letter "C" press the number "2" three times, etc.) The drivers and related software don't work like normal macOS software. (Disclosure: I also once wrote a scanner driver for Brother and it was horrible, but they shipped it, so I'm not real comfortable putting their software on my computer. But that was 25 years ago, so maybe they're better now?)

      I've heard horrible things about the drivers and software of most other major printer makers - HP, Epson, Lexmark, etc. I'm guessing what I'm looking for doesn't exist, but I just want a multi-function device in as small a package as is reasonable, and with a UI on the device and software that doesn't suck and that won't die on me in < 5 years. Does such a thing exist?

      17 votes
    14. Ask Tildes: Design practices for retrieving dozens (or hundreds) of related records over a RESTful API

      I'm looking for some feedback on a feasible mechanism for structuring a few API endpoints where a purely RFC-spec compliant REST API wouldn't suffice. I have an endpoint which returns $child...

      I'm looking for some feedback on a feasible mechanism for structuring a few API endpoints where a purely RFC-spec compliant REST API wouldn't suffice.

      I have an endpoint which returns $child entries for a $parent resource, let's call it: /api/parent/:parentId/children. There could be anywhere from a dozen to several hundred children returned from this call. From here, a child entity is related to a single userOrganization, which itself is a pivoting entity on a single user. The relationship between a child and user is not strictly transitive, but can each child only has one userOrganization which only has one user, so it is trivial to reach a user from a child resource.

      Given this, the data I need for the particular request involves retrieving all user's for a parent. The obvious, and incorrect solution to the problem is to make the request mentioned above, and then iterate through and make an API request to retrieve each user. This is less than very good as this would obviously be up to several hundred API calls.

      There's a few more scalable solutions that could solve this problem, so any input on these ideas is great; but if you have a better proposal that also works, I'm keen to explore that!

      Include user relationships in the call by default.

      This certainly does solve the problem, but it's also pumping down a load of data I don't necessarily need. This would probably 2x the amount of bytes travelling along the wire, and in 8 out of 10 calls, that extra data isn't needed.

      Have a separate /api/parent/:parentId/users call.

      Another option that partially solves the issue: I need data from both the child and the user to format this view, so I'd still need to make the initial call I documented earlier. Semantically, it feels a bit odd to have this as a resource because I don't consider a user to be nested under a parent in terms of database topology.

      Keep the original call, but add a query parameter to fetch the extra data

      This comes across as the 'least worst' idea objectively, in terms of flexibility and design. Through the addition of the query parameter, you could optionally retrieve the relationship's data. This seems brittle and doesn't scale well to other endpoints where it could be useful though.

      Utilize a Stripe expands-style query parameter.

      Stripe implements the ability to retrieve all related records from an API endpoint by specifying the relations as strings. This is essentially the same as the above answer, but is scaled to all available API endpoints. I love this idea, but implementing it in a secure way seems fraught with disaster. For example, this is a multi-tenancied application, and it would be trivial to request userOrganization.user.organizations.users. This would retrieve all other organisations for the user, and their users! This is because my implementation of expands simply utilises the ORM of my choice to perform a database join, and of course the database has no knowledge about application tenancy!


      Now, I do realise this problem could easily be solved by implementing a GraphQL API server, which I have done in the past, but unfortunately time and workload constraints dictate implementing a GraphQL-based solution is infeasible. As much as I like GraphQL, I'm not as proficient in that area as compared to implementing high quality traditional APIs, and the applications I'm working on at the moment are focusing on choosing boring technology, and not using excessive innovation tokens.

      Furthermore, I do consider the conceptuals around REST APIs to be more of an aspirational sliding scale, rather than a well defined physical entity, because let's face it, the majority of popular APIs today aren't REST-compliant, even Stripe's isn't, and it's usually both financially healthier and feature-rich to choose a development path that results in a rough product that can be refined later, than aiming for a perfect initial release. All this said, I don't mind proposals or solutions to my problem that are "good enough". As long as they aren't too hacky! :)

      10 votes
    15. Announcing the alpha release of Intergrid

      Intergrid is an online outliner and note-taking app. It's inspired by – and in many ways replicates – Indigrid, except it's on the Web. It's free to use, and it's readily available right from the...

      Intergrid is an online outliner and note-taking app. It's inspired by – and in many ways replicates – Indigrid, except it's on the Web. It's free to use, and it's readily available right from the main page.

      Why Intergrid?

      The main goal of Intergrid is to help you focus on the notes.

      There are no settings. You can't pick the font. Theming is not an option. There's only content, and what you want to do with it.

      Plus, it looks cool.

      Is it feature-complete?

      Hell no. It's been in development for three months – which is to say, not very long. It still has ways to go.

      Which is why I'm keeping the initial release rather quiet: Tildes and a handful of friends are the only people to know about it so far.

      Are there bugs?

      Afraid so. There are some I know about, and there are probably some I couldn't even reach.

      Why release it, then?

      Because it works already. You can add, edit, and save your notes in-browser. As long as you have cookies enabled, it will serve you. (Intergrid doesn't use cookies, and has no tracking to speak of, but the permission for localStorage – the technology used to store and gather data about your notes – is adjacent, as far as browsers are concerned.)

      It would be of particular use to people on systems other than Windows. While the current version is focused on desktops, future versions may gain mobile support – all the more likely because, outside from a handful of hardcoded interactions and design considerations, there's nothing preventing mobile users from enjoying the app.

      There's also the pragmatic reason: something Jeff Atwood called "Always Be Shipping", all the way back in 2007. You can't get feedback on an app that has no public version. Your programming expertise and design sense will only get you so far. Getting it out there – and going forward with the feedback – is a generous part of the process.

      Where are you planning to take it?

      The first step would be the fix the bugs. There will be a list of known ones in the comments.

      Once those are fixed (or can be postponed without repercussions to being able to use the app), there are features I'm going to implement within the next couple of months. Most of them, at least initially, are going to be put in to keep up with Indigrid's feature set.

      • Views: open, move, and close columns, each hosting a different view on the notes, allowing you to gain perspective or edit multiple ideas simulatenously

      • Bookmarks: store views as separate named bookmarks, allowing you to traverse different mental spaces within the notes

      • Action History and Undo/Redo: record changes to the notes and time-travel between its different states, because sometimes, you want to be able to "go there" and not be weighted down by rock-solid commitment

      • Offline Use: work with your notes even when the Internet is down

      (Even though the code for columns is already in the development branch, I was unable to come up with a respectable way of handling it before New Year, which is when I promised to release the app.)

      In the long term, I'd like to make sure you could access your notes from any browser on any device. This plan also includes the ability to create and share read-only or editable partial copies of your notes – for example, as presentation or a basis for an online discussion. After finishing with shaping up the current, local-only version, this is where want to take the development. I reckon it would take me somewhere between 6 and 12 months to finish the codebase for this.

      Anything else I should know?

      Do keep in mind that this is an early release. There may be bugs – perhaps even the kind that will rid you of your notes. If you're uncomfortable about using software this early in development, please don't: your sanity is dearer to me than getting users.

      It will, however, get stable over time. If there's ever a breaking change on the horizon – the kind of change that will change an aspect of Intergrid radically – users will be notified about it at least two weeks ahead, so that at least they could backup their notes. I want to ensure the safety of mind for the users of Intergrid, so that they know their notes are in safe hands.

      That said, make regular backups anyway. The nodes are encoded/decoded as indented plain text, which means they can be transferred to and from a simple textfile with copy/paste. Any single whitespace character – space, tab etc. – is considered one level of indentation, so it doesn't matter how you indent your plain-text notes: they will be aligned as you'd expect. Intergrid and Indigrid both export tab-indented text.

      Can I help?

      From the coding and design perspective, I would appreciate open-source involvement. However, at this stage, even though there's a repository awaiting changes, I'm uncomfortable making it public just yet, because licensing is hard and I don't want to get into any sort of legal trouble without at least understanding what I'm dealing with.

      Once this and other aspects of open-sourcing the code are dealt with, I'm going to post another update.

      If you'd like to support the development financially, you could donate via PayPal.me. The first $5 or so will go to supporting the infrastructure: the monthly hosting payment and 1/12th of the yearly domain name price. (Even though the domain name has been paid for for the next two years, I'd like to be able to host the app reliably. The domain name is directly tied to the data saved – you can't access another website's saved data unless they're on the same main domain – which is why it's important to keep it.)

      Check out Intergrid

      19 votes