
Share
This post is public.
Founder of Pocus Labs
Let's say I'm writing a screenplay in Google Docs. Using a standard screenplay format, in order to add a character name, to change who's speaking, I have to:
- Unindent any previous indentations
- Center-justify the text
- Turn on all caps
- Type the name
Then to type dialogue, I:
- Left-justify the text
- Turn off caps lock
- Indent by one
- Type the dialogue
*Then* if I want background info, I have to:
- De-indent the text
- Type the description
As you might imagine, this gets *tedious* over the course of switching between multiple content types (and those aren't even *all of them*).
How do I make this easier, without changing the format itself? Any tips?
Share
This post is public.
Founder of Pocus Labs
Don't call it a comeback! The client-server model has been here for years.
Let's start with a story: I have no fewer than a dozen internet-connected devices with screens, in my home with a family of 3 including myself. I'm starting to think that having an independent, fully-functional "brain" in each one is a stupid idea.
Why not take the client-server model that's used on the web, and apply it to computers again, like the mainframe days? You could have a "core" of computing power in a designated (and probably air-conditioned) space in your home, with a bunch of screens that connect to it. You can even have a VPN/SSH tunnel that goes from your devices to your core when you're away...
Thoughts? cc
Dane Lyons
Let's start with a story: I have no fewer than a dozen internet-connected devices with screens, in my home with a family of 3 including myself. I'm starting to think that having an independent, fully-functional "brain" in each one is a stupid idea.
Why not take the client-server model that's used on the web, and apply it to computers again, like the mainframe days? You could have a "core" of computing power in a designated (and probably air-conditioned) space in your home, with a bunch of screens that connect to it. You can even have a VPN/SSH tunnel that goes from your devices to your core when you're away...
Thoughts? cc
Share
This post is public.
Founder of Pocus Labs
I'd *love* to build a box that runs on a RISC-V processor -- the whole open source hardware aspect is really appealing (as are the tons of general purpose registers available...but that's another post). Point is:
Is it possible to build a RISC-V system right now? What about ARM?
(I know, the new Macs are using ARM, but I'm thinking about a desktop setup.)
Is it possible to build a RISC-V system right now? What about ARM?
(I know, the new Macs are using ARM, but I'm thinking about a desktop setup.)
Share
This post is public.
Founder of Pocus Labs
My current project, I don't have a working demo yet, so I list it under "Ideas" instead of "Show & Tell". Basically, it's going to be a web app that hooks up to a MIDI keyboard, and generates artwork based on what you play.
I'm starting with a simple visualization, or at least, one that's simple in my mind and relatively simple mathematically. I draw concentric circles with radii that vary per circle, meaning i extend and retract sections of the circle based on what you play per bar. Every bar of music (if it were sheet music) I expand the circles, zoom out a bit. I plan on animating these transitions and playing the music alongside it, in the final product, but for now just the visualization is a challenge!
To put it another way: imagine you're starting to play. The cursor, the drawing, is at [0, 10] (for a circle with an initial radius of 10). As you play, the cursor follows the circle, going outward for higher notes and inward for lower notes. Once you complete a bar or a measure or however long the circle lasts, you start a new circle outside the original one and the viewport zooms out a bit.
Later on, I might be able to vary color based on octave, or key velocity, or something like that, but for now, just trying to get paint on the canvas, quite literally.
Thoughts?
I'm starting with a simple visualization, or at least, one that's simple in my mind and relatively simple mathematically. I draw concentric circles with radii that vary per circle, meaning i extend and retract sections of the circle based on what you play per bar. Every bar of music (if it were sheet music) I expand the circles, zoom out a bit. I plan on animating these transitions and playing the music alongside it, in the final product, but for now just the visualization is a challenge!
To put it another way: imagine you're starting to play. The cursor, the drawing, is at [0, 10] (for a circle with an initial radius of 10). As you play, the cursor follows the circle, going outward for higher notes and inward for lower notes. Once you complete a bar or a measure or however long the circle lasts, you start a new circle outside the original one and the viewport zooms out a bit.
Later on, I might be able to vary color based on octave, or key velocity, or something like that, but for now, just trying to get paint on the canvas, quite literally.
Thoughts?
Share
This post is public.
Founder of Pocus Labs
If you're a dev: when's the last time you made something using HTML, CSS, and *vanilla* Javascript? If you're not a dev: when's the last time you designed something pixel-by-pixel, say, in MS Paint? When's the last time you build an instrument, like a drum? When's the last time you fabricated a circuit board by yourself, or processed wood from raw timber, or machined your own screws?
You get the idea. It's probably been rare -- it certainly has been for me.
To get back to my original example, I'm finding more and more that vanilla HTML, CSS, and especially vanilla JS are suited to the sort of experiments I want to run.
Unfortunately, we have this culture lately, in the dev community, of using the latest framework -- oh you haven't heard of FooBundler? It came out like 2 weeks ago, get with the times! 🙄
Seriously though, sometimes you just want to work with raw materials. So, I'm personally going to just use Parcel, so I can get ES6 features, and write pure HTML, CSS, and JS for this project. More to come on the project, but more importantly:
Does anyone else ever feel the need to get to the essence of their medium? To strip away the layers of helpful abstraction (and not so helpful bullshit) to just get down "to the metal", as they say? What's it like, when you do?
You get the idea. It's probably been rare -- it certainly has been for me.
To get back to my original example, I'm finding more and more that vanilla HTML, CSS, and especially vanilla JS are suited to the sort of experiments I want to run.
Unfortunately, we have this culture lately, in the dev community, of using the latest framework -- oh you haven't heard of FooBundler? It came out like 2 weeks ago, get with the times! 🙄
Seriously though, sometimes you just want to work with raw materials. So, I'm personally going to just use Parcel, so I can get ES6 features, and write pure HTML, CSS, and JS for this project. More to come on the project, but more importantly:
Does anyone else ever feel the need to get to the essence of their medium? To strip away the layers of helpful abstraction (and not so helpful bullshit) to just get down "to the metal", as they say? What's it like, when you do?
Share
This post is public.
Founder of Pocus Labs
A lot of people are talking about unionization in the software world. And for the most part, I’m all for it — unions, in essence, are the protection of workers, and I’m in favor of that.
Of course, these unions can mean a lot of things. Are we talking software standardization? Are we talking national-level unions of unions, such as the UAW? Or the Teamsters? I’d say those organizations are mostly harmful, rather than helpful, when it comes to empowering workers.
Here’s the question: how can we best empower software workers?
Of course, these unions can mean a lot of things. Are we talking software standardization? Are we talking national-level unions of unions, such as the UAW? Or the Teamsters? I’d say those organizations are mostly harmful, rather than helpful, when it comes to empowering workers.
Here’s the question: how can we best empower software workers?
Share
This post is public.
Founder of Pocus Labs
Warning: serious web geekery ahead. I may be talking to myself, in this thread.
First things first, this isn't literally a "canvas" in the sense of an HTML canvas element. It's really a giant div, inside which "contenteditable" divs can be nested (this is for the GiantCanvas project, if you're wondering).
Problem is when you expand the bounds of the "canvas" beyond the bounds of the screen (I'll just call the giant paintable div a "canvas" from here on, for clarity's sake). The problem is, you have certain elements that you want to remain fixed, but on a mobile device, the zoom function may prevent the elements from showing up properly.
What to do?
I'm thinking at this point I should have a "frame" div, a sort of window into a part of the canvas, and when you scroll or drag across the frame, the canvas view changes. No scrollbars, no native bullshit to deal with, with regards to zooming or what have you -- it's just an "infinitely" scrollable canvas without much muss or fuss. I think I just have my HTML mis-structured, to be completely honest.
Does this seem like a feasible path? I wouldn't really say I'm "blocked" or that this is even a solid obstacle at this point, yet. I would say it blocked me momentarily, and I had to stop and sketch some things on paper (yes, real paper) to get my thoughts straight, so I thought it worth recording in a sort of journal entry here.
Anyway, any thoughts on this approach?
First things first, this isn't literally a "canvas" in the sense of an HTML canvas element. It's really a giant div, inside which "contenteditable" divs can be nested (this is for the GiantCanvas project, if you're wondering).
Problem is when you expand the bounds of the "canvas" beyond the bounds of the screen (I'll just call the giant paintable div a "canvas" from here on, for clarity's sake). The problem is, you have certain elements that you want to remain fixed, but on a mobile device, the zoom function may prevent the elements from showing up properly.
What to do?
I'm thinking at this point I should have a "frame" div, a sort of window into a part of the canvas, and when you scroll or drag across the frame, the canvas view changes. No scrollbars, no native bullshit to deal with, with regards to zooming or what have you -- it's just an "infinitely" scrollable canvas without much muss or fuss. I think I just have my HTML mis-structured, to be completely honest.
Does this seem like a feasible path? I wouldn't really say I'm "blocked" or that this is even a solid obstacle at this point, yet. I would say it blocked me momentarily, and I had to stop and sketch some things on paper (yes, real paper) to get my thoughts straight, so I thought it worth recording in a sort of journal entry here.
Anyway, any thoughts on this approach?
Share
This post is public.
Founder of Pocus Labs
Yesterday I learned about what my dad calls “hundred year soup”, or as Wikipedia calls it, “perpetual stew”:
https://en.wikipedia.org/wiki/Perpetual_stew
https://en.wikipedia.org/wiki/Perpetual_stew
Share
This post is public.
Founder of Pocus Labs
https://giant-canvas.vercel.app/
I've come up with a basic concept for collaboratively writing on a wall. Since the last share, I've introduced instructions for first time users, and I've improved the typing experience. As an example, here's a wall where we'll all see the same text:
https://giant-canvas.vercel.app/walls/tuJJApujyvD3EymyxIbt
From here:
I've come up with a basic concept for collaboratively writing on a wall. Since the last share, I've introduced instructions for first time users, and I've improved the typing experience. As an example, here's a wall where we'll all see the same text:
https://giant-canvas.vercel.app/walls/tuJJApujyvD3EymyxIbt
From here:
- fonts
- colors
- rotation and moving text
Thoughts?
Share
This post is public.
Founder of Pocus Labs
I probably know way more git than I should. So, I’ll share here — I shouldn’t be the only one right?
For the uninitiated, git is a way to track changes to files. That’s all for now. There are more explanations as to what git is, but they’re 90% horse shit. What you want, is a way to track changes to files. These can be text files, images, songs, whatever.
If you’re on Windows, google “git for windows” and follow the links. If you’re on Mac, open a terminal and run “brew install git” (assuming you have Homebrew).
To start a git project, use “git init”. This will make a “git directory” out of whatever folder you’re in.
If you want to ignore files, add a file called “.gitignore” to the project’s main directory (mind the dot at the beginning). Each line represents a file or folder you want to ignore in git. You’ll want to add stuff like temporary files here, stuff that changes a lot that you don’t really care about.
To add files to git, there are many ways, but you probably want “git add -A”. That’ll add every changed file in the project.
To make a “commit”, or a list of changes with a message, run “git commit”. This will open the editor of your choice and let you write a little message, usually < 50 characters, describing the change (or whatever the hell you feel like).
For further reading, check out github.com or gitlab.com. They both offer reasonable services for free, and good services cheap (I prefer gitlab, but most use github). This is where you can “push”, or back up your code/images/text/music/etc.
That’s about it, for now! You now know enough git to be dangerous. 😈 Go forth and create!
For the uninitiated, git is a way to track changes to files. That’s all for now. There are more explanations as to what git is, but they’re 90% horse shit. What you want, is a way to track changes to files. These can be text files, images, songs, whatever.
If you’re on Windows, google “git for windows” and follow the links. If you’re on Mac, open a terminal and run “brew install git” (assuming you have Homebrew).
To start a git project, use “git init”. This will make a “git directory” out of whatever folder you’re in.
If you want to ignore files, add a file called “.gitignore” to the project’s main directory (mind the dot at the beginning). Each line represents a file or folder you want to ignore in git. You’ll want to add stuff like temporary files here, stuff that changes a lot that you don’t really care about.
To add files to git, there are many ways, but you probably want “git add -A”. That’ll add every changed file in the project.
To make a “commit”, or a list of changes with a message, run “git commit”. This will open the editor of your choice and let you write a little message, usually < 50 characters, describing the change (or whatever the hell you feel like).
For further reading, check out github.com or gitlab.com. They both offer reasonable services for free, and good services cheap (I prefer gitlab, but most use github). This is where you can “push”, or back up your code/images/text/music/etc.
That’s about it, for now! You now know enough git to be dangerous. 😈 Go forth and create!