So, you’ve built yourself a nice new Angular library and you’re excited to put it to use in your apps! It’s an exciting time. But wait: the code you used is proprietary, and you can’t upload it to NPM.1
Good news: thanks to some features of Git, NPM, and mostGithosts, there’s a way to bypass NPM, and you don’t even need to set up your own repository. Sound good? Let’s go.
Now, I’m assuming that you’ve already (a) created your Angular library, and (b) have it in Git. If you haven’t done (a), there’s a pretty good guide on Angular’s site; if you haven’t done (b), allow me to evangelize source control to you: Git is awesome, and you should be using it. This book, available online for free, is an excellent getting-started guide.
So, you’ve got a version-controlled library; how do we make it available?
1. Build the library.ng build {YourLibrary} spits out your library as a ready-made NPM package.
2. Track the built files.git add dist/{your-library}. If you’ve got that in your .gitignore, you’ll need to remove it, or git add -f. I’d recommend the former; you’ll need to do this every time you update the library. Wrap it up with git commit and a nice message explaining what you’ve changed.
3. Set up a second repository. This is where the NPM package version of your repository will live. Leave it empty; we’ll push to it in a moment.
4. Push the subtree. This is the the magic part: we’re going to treat the built files as their own separate repository. git subtree push --prefix dist/{your-library} {path to the second repository}2
5. Tag the release with a semantic version number.3 While it’s possible to do this via the command line, it’s not fun, so I’d recommend using the GUI for your Git host of choice.
6. Generate a read-only token for the second repository. In GitLab, this is under Settings > Repository > Deploy Tokens. Configure it as you’d like, but be sure to enable read_repository.
7. Add the library to your app’s package.json. Give it the Git address for your second repository, and follow it up with either a tag or branch name to pull from. (For example: "your-library": "git+https://{GitLab token username}:{GitLab token password}@gitlab.com/{your username}/{your-second-repo}#master would pull the latest version from master.)
Et voilà; you’ve got a private Angular library, ready for use.
One of my favorite things about iTunes is that it can show me play counts for songs; I think it’s neat to see what my Clear Favorites are. ↩︎
Two songs by Mr. Hudson on this list now, and I only started listening to him because I hit the wrong thing while trying to play Coldplay one day. Gotta love random chance. (Or a good marketing strategy, I suppose.) ↩︎
Found this song by way of Elementary, who usually have pretty good final songs. And speaking of Elementary, it’s ending this season, I believe. I’ll be needing a new Sherlock Holmes show soon… ↩︎
One of my top two favorite additions this month; not the album art I chose, though, because Elliot Moss had an excellent design. ↩︎
I… do not want to admit to how long it took me to figure out that this was Chris Martin singing. Just a lot of “wow, I didn’t know Avicii sounded so much like the Coldplay guy!” ↩︎
My other favorite addition this month; some serious Bon Iver circa 2016 vibes. ↩︎
Eventually I’m gonna have an entire playlist of songs that I picked because they reminded me of the excellent sound design in the opening to Passengers. ↩︎
Lyrically, at least, this is sorta… Evanescence-y? ↩︎
Similar song on this list: “How You’ll Be Remembered.” Sadness and piano, definitely my aesthetic. ↩︎
Reminds me of when I used to listen to Noon Pacific. I wonder if they’ve stopped doing the whole “Spotify-only” thing?
Follow-up, having taken a break to go check: no, they’ve gone deeper into it and won’t even show song names now. Exclusivity: it’ll reduce your audience! ↩
I heard this playing on the radio the other day and was thoroughly confused, and then confused about why I was confused. I think the moral of the story is that I don’t really understand the concept of radio anymore. ↩︎
This one keeps getting more fun to sing along to. ↩︎
About two weeks after I’d added both of these songs to this list, I was like, “oh, maybe I should try listening to the rest of the album.” So, y’know, look for that next month. ↩︎
Pretty catchy, but I do have to ask: is this actually something people say? ↩︎
This would actually work pretty well in one of those ‘gentle alarm clock’ type apps. ↩︎
This pops up whenever I’m in a nostalgic mood, because I just go to the folder of playlists from a past year, and iTunes sorts by artist first, so this is up a the top. ↩︎
I think this is the catchiest addition this month. ↩︎
The problem with having these playlists be in order like this is that I wind up with the ‘vanguard’ of stuff that’s made it through months of the playlist, and I don’t have any new comments to add to them. ↩︎
In my head, the origin story of this song involves the two guys in Daft Punk just being… paralyzed by introverted terror when The Weeknd walked into their studio ↩︎
This is… pretty off-brand for me, gotta admit. But hey, it sounds good. ↩︎
This is one of two blocks of “it’s time for some throwback music!” in this playlist. ↩︎
Tycho is excellent “lazy Saturday morning” music. ↩︎
Fun fact: if you just search for “Alejandro” in Apple Music, you’ll get several covers of this song, but not the original. ↩︎
Found out that a friend of mine recently moved to the neighborhood where I live, and immediately got this album stuck in my head – it came out right when we moved out here, and I spent a lot of time listening to it while getting deliberately lost so I could learn the lay of the land. ↩︎
This is the fourth keyboard replacement since I got it last summer; gotta love that butterfly keyboard. ↩︎
There are some excellent jokes about Hozier’s new album, but I won’t be repeating any of them, because I like to pretend I’ve got a better sense of humor than I actually do. ↩︎
This didn’t make it into my playlist on the first listen, but then I came back to it and liked it more, and I’m glad I gave it a second chance. ↩︎
Consider this a continuation of my previous post; same vacation, different day.
I was trying to come up with a clever caption, but I got distracted by making half-formed ‘Barsoom’ references instead.
This was actually one of the last things we did while I was over there; a nice little walk in the woods. That picture doesn’t do it justice—the walk started in the “it’s not spring yet” portion, but as we made our way downhill, we started to see actual greenery.
We saw so many dogs, but I didn’t take their pictures, that’s an invasion of privacy. Dog privacy.
We had pretty good luck with the weather—it was nice and sunny while we were at the top of the hill; the wind picked up a bit right as we were getting to the shore of the reservoir, just enough to give the trees some fun movement.
Again, I kinda wish this was a live photo, there’s something really pleasing about the way trees move in the wind.
I’m just now realizing how damp and unpleasant it must’ve been to actually get over there to do the graffiti.
There’s little pieces that are obviously man-made, sure, but for the most part, it’s easy enough to just let nature handle it.
I linked to my post about Detroit Lake earlier, and it’s actually kinda eerie how much this photo looks like the view from the campground we stayed at there.
And then there’s the unofficial pieces that people add.
This is one of those things that isn’t all that funny but makes me laugh nonetheless. I just read it as being very plaintive. Please, somebody, just play ball with this tree, it’s so sad.
And, despite the signs posted every fifty feet along the path on the way in, ‘this is our water supply, don’t swim in it, people drink this,’ there’s always a rope swing.
I’m not kidding, either; apparently this thing gets taken down every week over the summer, and within a couple of days, somebody’s put up a new one.
I recently had the opportunity to visit a friend of mine over in Connecticut. I’ve never been to New England before (the closest I’d been previously was an hour spent in a New York airport, and given that I can’t even remember which airport it was, it clearly wasn’t the most fun visit), and I was pretty excited to see the sights.
Seriously, I’m never going to stop enjoying panorama photos.
The first place we went that made me glad I’d brought my camera was Wickham Park; it’s up on more of a hill than I initially realized, which made for a good panorama at the top.
I have an impressive number of photos of paths in my collection.
A bit lower down, there are a few different ‘gardens’ around the park; the first one we wandered around was the ‘marshland’ theme, if I’m remember correctly.
Every once in a while, I wish my DSLR could take a Live Photo, because the sound of all the birds when I was taking this one was pretty great.
Honestly, I think the top and bottom of the hill were the best parts; the gardens in between were… not all that impressive.
The “Oriental Garden”, for example, featured a rather sad pagoda and a very slimy pond.
I also didn’t bother taking any pictures of the “Irish Garden,” which looked like what happens when someone in the 1930s makes a garden, and it becomes too ‘historic’ to tear down for being a racist caricature. An aesthetic that was rather undercut by the sign at the end, which says it opened in 2016.
The “Scottish Garden” was a bit more interesting in the statuary, but rather lacking in actual plant life.
When we visited, I read through the pamphlet a bit, but it mostly boiled down to a list of all the different gardens, a brief mention that it was named after the rich fellow who’d established the place, and the fact that it’s a private park, owned and maintained by Bank of America on behalf of the family’s estate. (“Everything around here is owned by some bank of another,” I was told.)
Oh, you thought I was done with the panoramas for this post, didn’t you?
But hey, it’s sitting on some pretty land, and I do like seeing parks that’re at least somewhat open to the public, so who am I to complain?
(Technically speaking, this is also a panorama, just not as intensely so as they usually are.) (It also wasn’t taken at Wickham Park, but still.)
Instagram’s little ‘share a song in your story’ thing is a good way to discover music. Not as good as it could be — if they’d give Apple Music links instead of only Spotify, I’d be happier. ↩︎
I wrote a paper about this song, and haven’t the faintest idea of what grade I got. The moral of the story: stressing about grades has always been pointless. ↩︎
I found an interview this guy didwhere he described his music as “feeling nostalgic about something or feeling some weird sadness about something,” which is exactly my aesthetic, given that I describe my taste in music as “sad hipsters crooning into microphones.” ↩︎
Considering that Majik recently broke up, sorta, I was really happy when this came out and was a great addition to their repertoire; it feels a bit like a return to what they sounded like when I first started listening to them, which is, not coincidentally, why “Friends” is also in this list. ↩︎
I love this, because it makes me nostalgic for the ‘80s. And not in a Thor: Ragnarok “look at how Aesthetic(TM) this time period was!” way, but I genuinely miss my experience of everyday life as a 20-something in the ‘80s. Which is impressive, given that I wasn’t born until the ‘90s. ↩︎
This goes as a shoutout to my sister, who made me listen to this whole album. Told ya it’d wind up in my playlist. ↩︎
Fun fact: I consistently read this title as “‘reliant,’ but pronounced wrong” ↩︎
The first line is great, just “I’m not magnificent” ↩︎
Probably my favorite off this album – “Jenny Jenkins” is really catchy, “Astrovan” has some great lyrics, but “St. George” just has the most visceral emotion in his voice. ↩︎
This feels like the auditory version of a really good horror movie, and I love it. Which is weird, considering that I really don’t like horror movies. ↩︎
Ooh, this is a weird note to end on, just ‘hey, time to be Sad’. Like, I love it, but I would’ve preferred to end on a slightly higher note than “let’s discuss your mortality” ↩︎
Joshua Tree National Park has been on my ‘places to visit’ list for quite a while. Honestly, I’m not sure how it wound up there, but I’m happy it did – from what I saw, it’s a pretty cool place.
(I was told by a friend that you should really try to stay for the whole day, especially sunset, and just see what it all looks like with different lighting conditions, but unfortunately wasn’t able to do that this time; next time, though…)
I also climbed some rocks, but the ones I climbed were… less vertical.
The park was established in the 1930s by FDR. At the time, the Works Progress Administration – among other things – was running a poster campaign intended to inspire the American people, I believe along the lines of ‘look at all this neat stuff our country has!’
Panoramas are fun.
As far as I can tell, Joshua Tree didn’t get any of those posters, unfortunately; something about the federal government very busy all of a sudden.
Seriously, these rocks are fun to climb. I wish I’d brought some proper climbing clothes, I would’ve… probably injured myself much worse than the scraped elbow I got.
A lot of the posters that were produced are lost now, more’s the pity. It was an interesting aesthetic, and I’m a big fan of the whole “advertising for the national parks” thing.
The nice thing about making these with a DSLR and Lightroom as opposed to my phone is that I can pause and wait for people to walk by.
Fun fact about the Joshua Tree: they don’t form rings in the way that other trees do; when scientists want to figure out how old one is, the preferred method is to measure the height, then divide by the species’ average growth rate.
The moral of the story here is that our national parks are a treasure, and we should continue to support them. (And expand them! Write to your congresspeople about it.)
I titled this photo ‘support’ before I started writing this post, so it’s really just an amazing coincidence that I worked it in right after I talked about supporting the parks.
I used one of those “year in review” things to analyze my Apple Music data, and after I filtered out the playlist that I leave going when I’m asleep, this was, unsurprisingly, one of my top songs. ↩︎
This and Hide & Seek sorta started me on a nostalgia trip later in the month; you’ll see it in a bit. ↩︎
I really like this song, it’s a cool collaboration, but having half paid attention to the lyrics, I’ve gotta say, I think the guy’s being a dick. “Hey, congrats on the engagement/wedding, also I’ve been in love with you forever” ↩︎
May or may not have binge-watched an entire season of House while I was sick. That’s definitely a good show to watch while you’re sick, you just sit there diagnosing yourself with everything. ↩︎
I’m gonna be honest, I mostly just think this song is really funny, because you can hear him thinking “oh, this is gonna upset some suburbanites” with some of the stuff he says. ↩︎
This song is also hilarious, I love that there’s just a whole song about “ooh, sorry, there’s really no way to reach me, I got a new phone or whatever” ↩︎
Now taking bets on which will fall out of these playlists first: this song, or the latest bit of Coldplay. ↩︎
Originally I had a version of this that was released as a single, but it got pulled from Apple Music, so I replaced it with the version off the EP. Not sure what happened there. ↩︎
I didn’t actually realize this was on Apple Music until I was putting this playlist together, the version I have is a rip of the YouTube video. ↩︎
The downside to the Shortcut I have for putting these posts together is that, for whatever reason, it just can’t handle diacritics, so anything that involves áéíóú or ü or whatever just… doesn’t show up, and I have to look up the links by hand. Ugh, my life is so difficult. ↩︎
This is the single most emo thing I’ve listened to all year, and it’s kind of amazing ↩︎
This whole album is really interesting, I definitely recommend listening to it all. ↩︎
Second occurrence of indirect Imogen Heap in this playlist ↩︎
I’m like 95% sure this song is about being trans ↩︎
This song really reminds me of a friend of mine, which is weird because when I sent it to him and said as much he replied “I have never heard this before” ↩︎
Just a hint of Christmas music, here at the end of the month. ↩︎
Had to get out my phone during a game of Scattergories to prove that there’s actually a song called “Coldplay” ↩︎
Favorite review of this song I’ve heard, (paraphrased) from a tech podcaster: “during the day, put the volume on your HomePod really high, and then play this song. During the day, though, don’t do it at night, your neighbors will get mad.” ↩︎
I’ve actually got a joke I came up with about the way this song sounds, but thinking about it I don’t think I want to post it online, because I don’t want the internet knowing what my sense of humor is like. ↩︎
I haven’t actually listened to Jake Miller’s new single yet, it’s in my queue, but I’m still wondering if anyone’s told him that entire color theme screams “bisexual” ↩︎
does this one get stuck in your head as much if you don’t know Spanish? someone who didn’t take Spanish in high school, report in ↩︎
Probably my favorite song off the new album. That said, the whole thing is great; if you want to feel nostalgic, I recommend it. ↩︎
So far my impression of this guy is “a gay who decided ‘instead of being a Lana del Rey fangirl, I’m just gonna be her’” ↩︎
I am happy today to announce the release of the first major update to Meditime!
There are two major changes in this, and I’m going to start with the one that isn’t mentioned in the title: animations! After some tinkering, the opening/closing circle with the start/stop of the timer is now much smoother, and I went ahead and reused it in the transition to and from the new Settings page, as well.
The second new animation plays behind the timer as it runs, a slow up-and-down motion to help you focus on your breathing.
(A video would’ve been more clear here, but frankly, I don’t feel like embedding videos on this site is worth the effort.)
It’s a five-second inhale, five-second exhale cycle, giving you a total of 6 breaths per minute, which is a nice, calming rate. Not a huge addition, but one I am very proud of.
The other big change is the new Settings page; rather than just the privacy policy, I wanted a place to hide a bit more of the complexity that adding new features requires.
Starting from the bottom, I’ve added the ability to change the granularity of timer adjustments, and switched the default from 1 second to 5 seconds. If you really do need that timer running for 33 seconds precisely, you still have the ability to set that, but if you prefer round numbers and didn’t enjoy trying to swipe just right to make that happen, the new 5 second or 30 second increment options make that a lot easier.
Finally, the big change: Siri support!
The obvious parts are the new ‘Add to Siri’ buttons there, to start the stopwatch and end the current session. It’s pretty handy — thanks to Siri’s integration with the HomePod or AirPods, you can now make your interactions with the app an entirely hands-free experience.
Less obvious is the fact that the app is also linked into the Siri Shortcuts system. Every time you start a timer or stopwatch, and every time you end the session, that’s fed to the system as a potential suggestion for Siri to show you. And it links in with the Shortcuts app, as well, so you can add meditation to your “good night” Shortcut routine. (Or “good morning,” or anything else you’d like!)
Every time you set and run a timer, that gets handed to the Shortcuts system, and you can pick those up via the Shortcuts App or through the Settings > Siri & Search, where you can set custom Siri Shortcuts. They work just as well as the two provided in the app’s settings page, but provide a larger range of customization, for the power users out there.
Thank you for reading, and I hope you enjoy the new update! If you don’t have the app, not to pressure you or anything, but you’ve already read this far, it’s only $0.99, and I’d quite appreciate your patronage.