Different legal environment. Until 1908, player piano companies didn't have to pay royalties to composers. See White-Smith Music Publishing Co. v. Apollo Co..[1] So, in its growth period, the player piano industry didn't need to acquire music rights.
Then Congress changed the law, to create the "mechanical license" right to play out the song from a storage device.
Joining these courses may be enriching for everyone though. You may learn something new or a different approach to a problem you've solved. Other students will appreciate your actual experience with the subject. And the professor may learn a thing or two (and appreciate your contributions) if you can add to the subject. That said, I'm not good managing my time and I don't have the guts to code an OS from scratch, so what do I know?
Well, it's a starting point for songwriters. We won't get amazing solos and clever mind-bending lyrics (yet?). One thing I love about these AI music generators is that you can take the exact same lyrics and hear them in a lot of different styles and melodies. That's something that I'd struggle with. Can you easily imagine the happy birthday song with different melodies and rythms? These tools won't create the next bop, but they can seed back ideas to musicians, while people without music skills can have fun creating songs about the things they like.
Looks very nice! A few things I'd like to see to make it more useful:
- Let me pick a database when I start so the data types are restricted to that particular database. This can help down the line with other quirks and particularities of each db.
- I'd love to be able to use this and convert it to a model for my ORM (I'm currently using Prisma, but depending on your vision this could expand to other languages and ORMs such as, for example, Django). This would be helpful because I'd be able to jump from design to implementation without rewriting everything as models in my ORM.
- The nodes to establish relationships are difficult to click, and several times I ended up dragging the table instead. Consider making them easier to grab.
- If I delete a property from the table (in the grid) there's no quick way to undo. A toast message with an undo link would be helpful.
- The "delete diagram" option didn't ask me for confirmation and even if I saved my diagram before, it's gone. And this option is dangerously close to "Rename"!
You can absolutely use a regular expression find/replace to solve this. But using multicursors, you can just highlight the first "foo ", then hold Ctrl+D to select all instances, then hit right arrow key so that your cursors are at "foo |bar/2322" (and nothing is selected) et al, then use shift+right arrow key to select bar, baz, blah, and all other substrings, then use ctrl+X to cut that list to your clipboard. Hit delete key to get rid of the /s and add a space so you can keep the fields separated. Then, use ctrl+arrow to move your cursors to just before foo ("|foo /2322"), paste, hit space. Now you have "bar foo 2322". Repeat the same action to cut all the "foo" substrings, then move your cursor to the end, now type ": " and then paste.
You get the idea. It sounds complex, but these are all just comprised of the same fundamental editing patterns-- all of the cursors act as if you had just that one cursor when you press the keys. You have to play with multicursors to really appreciate their power.
Most of the time, someone who is well versed with multicursors and their editor's cursor shortcuts (arrow keys, page up/down, shift/ctrl arrow keys, etc) will be able to complete these sort of textual manipulations much faster than using find/replace.
It doesn't have to be identical. For the method they're describing you just have to get search results -- so you can use regex in that. You can also just command-click anywhere you want to leave a new selection-point. (Or use various other find commands that search for things and add them to your selection pool.)
The benefit of it is that you're left with a cursor in each ___location, and you can then do absolutely anything that you'd normally do with a single cursor in every place at once. This includes things like copy/paste, which will maintain a separate buffer in each selection. This also includes things that're actually tough to do with normal find/replace -- I could select the bit after a search result and switch it to title-case, for instance.
You can do most things you'd use it for with find/replace. But sometimes it's easier to watch it happen as you type, rather than construct a fairly complex regex with groups and suchlike.
Since the data shown on your Timeline will come directly from your device, it won’t be available on Maps on your computer after your data is moved to your phone.
I got fired with severance, and took the opportunity to do this. It feels so rewarding to work on your own project, waking up and just deciding what you want to do next with it. There were also periods where anxiety got to me, because it's not giving me enough money to live from it (it barely supports its own costs). But all in all I'm enjoying it and learning a lot in the process. If anything, it makes me want to keep trying to find financial independence and new ideas.