i am ski

Getting There


It's finally starting to come back together. Somehow I managed to wrap my brain around the whole update-the-site-from-the-iPad concept, and I seem to be back to posting to this blog like normal. Well, almost normal. There's still a few minor issues to iron out as I see it:

  • Transfer the host name i-am.ski to Github Pages

  • Fix the templates so I'm as close to the original Ghost theme I had going (there was a ton of CSS I wasn't using, started with a different base theme this time)

  • Work on integrating iA Writer (strictly for aesthetic purposes.)

  • Categories! Need to create or import the current category template pages.

And I'm sure there's more to do that I'll think of down the road.

But holy hell, I'm finally updating my site from the iPad. That's pretty amazing in my book. This little iPad Pro 11" is a pretty amazing little machine, and being able to utilize even more of its awesomeness it just...well, awesome.

Testing Textastic


Once again, testing to see if I can figure out an ipad solution. I think I have several "testing" posts now floating around in the ether. Not sure where they disappeared to.

Oh well. Take 424235!

edit

Whoa. Holy crap, did I actually get this working? Did I find a solution that actually works?

If I smoked, I'd go have a cigarette. This has been a long process in getting this all setup. I'd rather have used iA Writer, and that's strictly because it's just a more elegant program for writing, but honestly, right now, Textastic is bombastic.

I'll worry about iA Writer later. For now, let's get comfortable with Textastic and Working Copy.

Signal Reaquired


After a failed update and a couple of months of apathy, I'm finally back to having my site looking how I want. Simple and clean is the name of the game here.

The fallout took place when trying to update Ghost and basically things did not go well. I wasn't in the mood to troubleshoot (again!) after that first go round, so I figured I'd revisit later. Later became days, which turned into weeks... before I knew it, five months had gone by and I was still looking at the "I broke it again" html page I'd thrown up.

I decided to move on from Ghost, and opted instead for Jekyll, a static site generator. The big benefit here is there's no need for a database. No database means less maintenance, less overhead, fewer options for script kiddies to try to take over my site (who'd want to??). It also uses Markdown which is something I've been wanting to get more familiar with.

I'm also going to collect all my previous posts (at least those that I can find) and import them here. There are posts from Wordpress and Blogger that date back quite some years. I plan on dating them when they were originally posted, so there will be posts back from the early 2000's. I won't be posting items that were simple one liners ("It's snowing!" for example) and would've been better off as tweets.

Now on to the fun of importing entries and ripping out all the extraneous markup that some of these tools add. Joy.

Buttoning Up The Site


I think the end goal that I have in mind for this website — aside from the obviousness of blogging — is to be able to update from wherever I am. As I’ve switched to Jekyll, this isn’t as easy a task to accomplish, as say, something built on Wordpress, or even Grav. Both of those CMS’s have Admin areas that you load up in a browser to compose your pages in. As far as I know there’s no admin plugin available for Jekyll. Not that I’ve looked that hard.

I’m intending to write most my posts on my iPad. I know there are various Markdown editors available, but currently I’m using the iOS version of Scrivener. I’ve setup a project where I’ll write my posts, that is currently synced to Dropbox. Currently I’m using iA Writer, and will hopefully get this to sync with Dropbox, or similar. This isn’t something that’ll be completely fool proof anytime soon. After all, I’m quite the fool and excel and breaking stuff. I’ve also finally uploaded the site to the domain, so I’m not just talking to myself on my local machine. Now I’m talking to myself in the great wide open digital domain.

There are still a few things to button up before I’m completely happy:

  • Being able to creat a post and seamlessly upload it to i-am.ski

  • I haven’t tested how images will look yet

  • Still need to setup RSS Feeds (not that I’m at all popular, but you never know and it’d be nice to have them setup in advance. Besides, once they’re in place, they’re low-maintenance)

  • Fix the icon in the footer

  • Get descriptions for each category in place

  • Code refactoring; I suspect there’s a lot of unused CSS that I could remove

  • Setup a /now page

Otherwise, I feel pretty good about the state of the site. Good enough to currently show it to the public at least. The list above can be worked on in my spare time.

Signal Not at Full Strength


I'm not having as much luck as I'd hope getting an iPad-only solution to posting entries here. I can't get my Dropbox to sync after following Tyler Hall's entry. I know it's possible...but maybe not possible with my host, which is currently a VPS on Dreamhost. I'm sure it is... I've just not been smart enough to figure it out as of yet.

Another option which I think I'll explore is utilizing Github Pages, and point the i-am.ski domain there. Assuming I can get it working (Github Pages has built-in support for Jekyll right out of the box), there will be the added benefit of becoming more comfortable with Git. I use Git daily at work, and while I'm not near as gun-shy as I used to be, if anything goes awry and I need to use some other git commands, then I tend to get a bit nervous. Particularly when I end up having merge conflicts, or similar issues.

Otherwise, isolation goes on. Given the time I've been spending in my basement where my home office is, I've been wondering how hard it'd be to add another window. Probably more money than I want to spend on this house.

And Now For Something Completely Different


In one of my previous entries, I mentioned that I have a hard time getting better than proficient at something:

one of my bigger shortcomings -- at least in my eyes ( and if you think there are other, bigger ones, please keep it to yourself, thank you very much) -- is my lack of digging deeper and really getting to know how to work with, and learn what it is I'm tinkering with. So lately I've been trying to focus on just one Digital Audio Workstation (DAW). I've been working with Bitwig, because it's still fairly new (v3.0.3 as of this writing), and somewhere down the road I'd like to be someone other people turn to to learn this software. Then I can brag about how I've been using Bitwig since v1.0. I even have the badge to prove it. A bit childish and maybe narcissistic, sure... but it's the small things.

Like any piece of creative software, whether it be Affinity's Photo or Designer, Scrivener, or Ableton Live (Bitwig's main competitor in the DAW field), they're all easy enough to do something basic up front, but the real power comes from digging deeper, and learning the ins-and-outs of the software. And of course, the more one digs, the more complicated the software can become. Bitwig is no different, so I've been trying to break it down into smaller bits, making the knowledge easier to digest. The smaller bits also help with trying to keep focus, an issue I'm constantly struggling with.

I'm not, however, taking a very practical approach. It would make sense to start at a high level, learning the basic interface to an expert level. I know the basics well enough to feel comfortable working through the project.

So yeah, that looks complicated and crazy, but I feel comfortable enough with it that I don't need to focus on it. Instead, I've chosen to start my deep dive with one of the synths that Bitwig provides. Phase-4 is a four oscillator, phase-manipulation synth. Each oscillator is identical in purpose, and differentiated by color: red, blue, yellow, and magenta (why they just didn't call it purple...). The four oscillators are fed into a global filter area, and there's also a global area to the left of the filters that house the pitch, glide, shape and mod.

Breaking it down to just the one of the oscillators, the primary control for each is the Shape knob, which affects the overall amount of phase distortion applied. Right above the Shape knob is a menu which you can click and drag to change the oscillator setting. These will be familiar settings, with Sine, Saw, Pulse Width, etc. This changes the algorithm for the phase distortion.

As an aside, there's a great video from Dave Linnenbank that talks about Phase Synthesis. In the video he's using Bitwig, but the principles apply to other DAWs and even analog synths. Watch it if you're at all confused about this particular form of synthesis. I certainly was/am/will be.

The Mod knob (heh) next to the Shape knob sets the maximum amount of phase modulation allowed from any source. And the four smaller knobs to the right of the Mod are setting the individual levels of modulation, each associated with their oscillator based on their color.

Now multiply that all by four. Four oscillators each with four ways to modulate the other oscillators and you have a tool for creating some very rich sounds. There's much more to say about the Phase-4 synth, and I've barely scratched the surface. I'm hoping to play with this more in the future, and update this post (or even create a new one) with some examples of the sort of sounds you can create using the Phase-4 Synth.

Feast or Famine


It's gotten busy at work.

I mean... BUSY.

For a few months there I didn't have much to do. Mostly bug fixes here and there. And then we had a new project start and I was given the Bootstrap/UI duties for that team. And then a second project spun up, and it was decided I could be a "shared resource", and I was given the Bootstrap/UI duties for that project.

And then third project came about.

And a fourth.

Currently, I am on five scrum teams. Yes. Five. Now, I don't always have work or bugs for all teams at any given time, but there are days when I'm heads down for a solid 8-10 hours.

It shouldn't (hopefully) be for long. If it is, I'll burn out. Thankfully I have a good scrum master who's always checking my point totals and making sure I'm not going batshit crazy. Two sprints ago I was given a total of 13 points. A full sprint's effort is typically 8. That was a crazy week.

But hey, at least I'm not bored.

Office Annoyances


I'm not a fan of the "Open Office" concept.

I get that it's supposed to foster creativity and collaboration. That productivity is supposed to increase. A worker in an open office is more approachable and communication increases.

Perhaps that's all true. Personally, I don't buy into it. I think rather than fostering collaboration it's fomenting animosity towards fellow co-workers. Case in point: my desk is maybe 4' x 2'. I have a side divider that's probably 16" inches tall, and a divider on the back of my desk that's maybe 2, 2 1/2 feet. Before I switched from sitting on the left side of my desk to the right, I was literally about a foot away from my co-worker (thankfully, no one sits to my right). The person who sit across from me is at least 6'2" and likes to stretch his legs out under the desk. I don't blame him at all. We end up kicking each other a lot, as I like to do the same.

Distractions

The noise is another factor. Several times one or more people will be on a conference call, and while most of my co-workers use headphones, some don't. So I get to listen to their calls (and yes, they've been told headphones should be used). I don't even like having to attend my own conference call meetings, now I'm listening to others as well. Double aggravation points when two people are on the same call, one is on headphones, one isn't, and there is a nice echo and occasional feedback. Along those same lines are the habitual knuckle-cracker and the guy who really likes to masticate his food. I'm not sure what he's eating but he does it loudly, wetly, and way too often.

"The Open Office concept fosters communication!" Ok, maybe. But it also inhibits my ability to go heads down and get some work done. As a web developer, I like to "Get in the zone" as it were and have no distractions as I work on building out a new page or component. Not possible if I'm getting stopped every five minutes for questions, or getting distracted by the guy who is, even as I type this (yes, I'm blogging at work), chewing mightily on a bag of chips. They're only chips dude, not old beef jerky.

How about the guy who likes to shoot his trash into the bin about 12 feet away? He's no NBA candidate - he misses probably 75% of his shots. Which means he then gets up, walks over and throws it away like he should. More distractions.

Findings

They have found that open plan offices create unwanted activity in the brains of workers that can get in the way of them doing the task at hand. Studies have shown that there's a 15% decrease in productivity in an open office environment. One subject wore a cap that measured his brain waves while trying to work in an open plan office. The results revealed intense bursts of distraction. Another study found that 76 percent of Americans “hate open offices.” 76%. That's a huge number of your employees to be hating their work environment.

I get that it's cost-prohibitive for everyone to have an office. But if companies are going to stick with the open office concept, there needs to be some changes. Bigger desks, so I don't feel like I'm sitting on top of my neighbor. As a bonus, I could actually fit a picture of the family if I so desired. How about some spaces where there's an abundance of natural light? One of the saving graces for myself is that I'm close to a window. I have lots of natural light. People at the other end of the room, not so much.

And headphones. Perhaps because companies are saving money on offices, they should invest in some headphones for everyone. Honestly, same days having my music playing is my only saving grace.

I don't think the open office concept is going away anytime soon, but it's almost like there needs to be a course on how to be a considerate open office co-worker.

I'm looking at you, Mr. I-eat-my-stinky-eggs-every-day-at-10:30.

Javascript Annoyances


There's a plethora of JavaScript books available for those who learn best by reading. Every single book I've picked up over the years (and I'm embarrassed to say how many I have that I've only picked through), has started with "The History of JavaScript", to some degree.

This annoys me.. I really don't care about the history. Does a mechanic open a manual on how to fix an engine and the first chapter is "The history of the internal combustion engine"? While I haven't checked any manuals lately, I would bet not. So why does it seem every JavaScript book needs to delve into the history of the language? The syntax and structure of JavaScript is nothing like it was back in 1995, much like a modern engine only slightly resembles an engine from 100 years ago. Maybe that's a bad analogy, as they're still using combustion to force pistons to turn a crankshaft to power a drivetrain (man, why hasn't the engine developed past that?), but you get the idea. I want to get to the practicality of the language, I don't believe I need to know it was originally called Mocha, then Livescript then blah blah blah.

Another annoyance: I've been going through the freecodecamp Basic JavaScript lessons, and completed the "Use Bracket Notation to Find the First Character in a String" chapter. Not that difficult really, especially if you follow the example:

var firstLetterOfFirstName = "";
var firstName = "Ada";

firstLetterOfFirstName = firstName[0];

In the case, the first letter (identified by the [0]) is A. OK, great, fairly simple.

Now what I want to see is a real-world example. When would I need to use something like that? How can that be a benefit to myself, as a front-end developer? I feel like there are two levels of JavaScript: those front end devs like myself, who just want to use JavaScript to add some basic functionality, and the more experienced programmers who can use it to launch rockets to the moon. Give me some real world examples after each lesson, and I think the lesson would stick better.

Spooooky


In a previous post , I mentioned that I had installed Ghost "just because". Which essentially means I can't leave well enough alone. In this case it turned out to be a good decision.

While I did like the flat-file structure of Grav, I was getting annoyed by several minor things, which added up to me deciding to just say "Screw it!", and install Ghost as my CMS of choice. The install of Ghost was a bit trickier, due to my host, but I found a good guide to get me through and within the hour, I had it setup and running. I only had six entries from my Grav install, and I had copied those to a text file previously. So it was a fairly painless process to post them in Ghost and get them tagged as I saw fit. Then I zipped up the theme I was using on my localhost (mnml, with some changes specific to me. Again, I found another how-to to accomplish that), uploaded it, and I'm happy with the result.

So far.

Hopefully, I will leave well enough alone. I'm sure I'll have some small changes here and there I want to fix, but overall, I should be good to go for the most part. Now it's time to get back to learning. Javascript will be my main focus. Or at least, should be. I did just upgrade to Bitwig 3. That's been a lot of fun to play with.