Last Build Date: Sat, 29 Oct 2016 17:05:34 +0000Copyright: Roy Osherove
Sat, 29 Oct 2016 17:01:07 +0000
As part of my work in the past few years I’ve been more and more deeply involved in large scale DevOps implemementations in very large companies. I’m now writing about my experiences in here:
Wed, 17 Aug 2016 23:11:38 +0000
Music Production also has some corollaries with coding in terms of testing.
When producing music, it is important that the music sounds good on multiple types of speakers: in your car, in your iphone headphones, on a boom box by the pool, in a club speaker system etc.
In that regard priducing the music locally on yoru own speakers is much like “works on my machine”.
Producers will usually take the music and test it out manually in various systems, or have multiple sets of monitors, but still test the music in their car, on friend’s systems and more.
There are also “emulators” for sound. There are some software solutions that emulate how your music will sound through different speakers, in different locations , in different file formats (mp3 has less data than a .wav file, wav file, for example.
Nothing beats real work integration testing though. Much like code.
Mon, 21 Dec 2015 17:40:34 +0000My off hours hobby is music production. Here are similarities I see between coding and music production so far: Code compiles into binary - midi is rendered into wav files When producing music you need to take many breaks to get your ears “out of the mix” and get your head clear again. The same goes for coding when facing tough creative problems or complicated code. Software culture is moving in the direction of automation and factories, with architectures that support changing things on the fly. Music production has two opposing factions: a. Newer pop songs are made almost in an industrial fashion (try many tracks in a day, find one that works , then lyrics and vocals are found for it from many contenders; and b. singer-songwriter which is all about manually crafting a song which can take a lot of time. (compare that to a hand crafted optimized piece of code that needs to run at a very low level like a DSP unit or real time calculations) Pair-Programming - > most new music these days is not done alone: there are lyric writing teams, melodic writing teams, production teams. in Music, new digital tooling is taking the place of older generation analog tooling. Instead of filling rooms with huge hardware, people use digital work stations with software plugins that emulates almost every piece of hardware out there. Software coding is fully digital, but used to be very hardware oriented . Software testing is still very manual but automation is starting to take its place. Long term support: Software can keep changing after you’ve released it (new features added etc. Music is usually delivered in multiple different versions: radio mix, PG safe mix, club mix etc.. and music also gets remixed, new covers by other bands are made, remakes by the original band in shows, digitally remastered albums… not exactly the same, but in music all the “stems” (the parts that make the individual atoms of the song) are always saved and can be used to recreate different variations of the song. Code has classes and functions, Music production (digital) also has building blocks: Sound designers use waveforms and combine them, munge them up and process them to create new types of sounds that are then reused by other musicians. If a waveform is the input of code, an LFO envelope is a type of function that operates on that code. Those are just two types of the :atoms” of synthesized music) When mixing, it is encouraged to take many breaks (20 minutes mixing, 15 minutes break) so that your ears don’t get too used to the mix. Programming is also a very tough activity that is helped by taking many small breaks. TDD: In music you might have a “reference” mix - a song you like or a sound you want to sound like that tells you how close you are to getting the same results (loudness, frequencies, etc). TDD is the same way somewhat in that you set yourself a target and see if you measure up to it or not. Music is not automated for this though, and is not a any kind of regression test. Music pros do as much integration testing as possible they make their friends, DJS, their mom and their cat hear the mix all the time because they know they are not objective about how it translates in the real world. There’s more but my head is drawn a blank.. [...]
Fri, 30 Jan 2015 06:50:30 +0000
I’m happy to report two new video courses that I just finished recording and publishing two new courses:
Both of these are tools that I rave about in almost any new windows based dev shop I go to. Most people have at least heard of Total Commander, but never bothered to find out why people like it, even though it looks ugly. But almost nobody heard about FinalBuilder, but those that did, always have this small glitter in their eye, because they know what I mean when I say you can automate pretty much 99% of your problems away with this stuff.
I hope you find these courses helpful.
Sat, 25 Oct 2014 16:38:15 +0000
Also, here is a talk I did about it:
src="http://osherove.com//www.slideshare.net/slideshow/embed_code/16957770" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen>
Tue, 07 Oct 2014 00:57:36 +0000
After two years in amazing Norway, our Scandinavian adventure has been transformed into what I can only call so far as “The New Jersey Experience”. I’m here on an O-1 visa. I’m also open to doing part time training courses in the area so contact me.
The three little boys, my wife and me moved to Tenafly, home of many other Israelis, to stay 20 minutes away from New York City (baby), in a nice and quiet place with (supposedly) good education for the kids.
We couldn’t think of a place more different than Norway, where we will learn things we didn’t even know we didn’t know. It’s all about ravines.
Let the games begin!
Fri, 11 Jul 2014 08:31:13 +0000
I somehow forgot to blog about this, but it’s never too late. My new online course Beautiful Builds and Continuous Delivery patterns is now available and is $25 until the end of this month (July).
Here’s the course description:
Ah, Continuous Delivery. Everybody and their sister are talking about it, but in real life, nothing is ever as simple as listening to a conference talk about it.
In this course Roy Osherove, author of the books “Beautiful Builds” (still in progress, actually) and “The Art of Unit Testing”, discusses common problems and solutions (patterns!) during build automation and continuous delivery.
We start from the basics, defining the differences between automated builds and CI, separation of concerns in build management, and then move on to more advanced things such as making builds faster using artifacts, solving versioning issues with snapshots, cross-team dependencies, and much more.
More info at beautifulbuilds.com.
Fri, 11 Jul 2014 08:22:51 +0000
I got this question in the mail. I thought it was quite valid for many other people:
Is my hunch correct? Should I put efforts into implementing unit tests in this complex scenario?
You can go either way.
Wed, 07 May 2014 20:36:55 +0000The Udemy Pyramid Scheme. I’ve run several successfull courses on udemy (update: I’ve moved my courses over here now) back when they had a royalty rate of 90% revenue share per course. Then things started to change, to the point where teaching in udemy to me feels like trying to win in a pyramid scheme. Here are the “new” revenue share model numbers: http://support.udemy.com/knowledgebase/articles/277758-instructor-revenue-share Quoting: 100% revenue share on students that instructors bring to Udemy 50% revenue share on students that Udemy brings to an instructor’s course 25% revenue share on students that are driven by Udemy paid ads end quote. Seems fair. Until you realize, the hard way, that any exiting udemy user that takes your courses that YOU didn’t bring in with your specific course codes and discounts, counts as a 50% revenue share. Points of consideration: There is a finite number of people who might be interested in your course There is a high chance that many of them have already signed up for udemy Of those who haven’t yet signed up to udemy, you have to bring in and make them use you special offer codes. Only then do you get 100% of that course’s revenue. Once you did that, you basically screwed over other course instructors, because your student will now and forever be considered a 50% revenue share for all other teachers. That means that I benefit and make money at the large expense of other teachers on udemy, while making udemy much, MUCH more money in the long run. The earlier I started with my courses on udemy, the more chances I have to get into udemy those users who have not signed up to udemy yet. The later i sign on to teach in udemy, the smaller my chances are ever making more than 50% revenue share, unless I bring my own crowd. Consider this: for each student on udemy, udemy makes 50% commission on all their purchases, EXCEPT one instructor. Eventually, there will be less and less chances for ALL instructors ot make ore than 50% revenue on courses, as the student population targeted has already signed up. any students that UDEMY brings to the table with ads, will actually only get you 25% revenue share. This whole idea pits the teachers one against the other, to see who gets "fresh" users first, thus taking them “away” from other teachers. That’s not healthy. So I opened my own shop on shopify and at least now I don’t feel like I’m screwing over anybody else. I pay more than 100$ a month for some of the plugins etc. But I do have enough people on twitter and I’m well known enough in some corners that it pays me OK. I don’t like doing it, but it feels better. If they went back to the old model I’d probably go back to them, honestly. When udemy sent me an email asking why I haven’t been selling any courses, here was my answer: “ Hi Roy, I saw that you drove almost $4,000 to your Udemy courses between Nov-Dec 2013 with instructor coupon codes and haven’t driven any additional income since then. I just wanted to send you a note to find out what we can improve to help you continue building your business on Udemy. Would you mind providing a little insight? 1) How did you drive your initial Udemy course sales? 2) Why did you stop promoting your Udemy courses? 3) What do you need to restart promoting your courses? I appreciate any feedback you can provide! And if you’d like to schedule time to chat, I’m available. Just let me know. :) Regards,…. “ My answer: “I stopped because your new royalty model (50% if existing user) is basically a pyramid scam. And it feels unfair. By bringing in ne[...]
Tue, 28 Jan 2014 18:34:58 +0000Here is the way I backup my photos> First I use dropbox for “immediate” backup of the last month Then I use PictureLife as a full backup and viewing service Then I use Amazon Glacier for “cold storage” For my stuff I sell I use Amazon S3 Here is my system. Dropbox : First Line of Backup My wife and I take most of our photos on our phones, so we have dropbox installed on our phone with automatic uploads. Every time we get to a wifi spot, the phone “calls home” to dropbox to upload the latest and gratest photos and family videos we have taken. I have my own dropbox account with 100 GB on it. My wife has a separate, free dropbox account. My wife has shared her “Camera Uploads” dropbox folder with me. She also has auto upload enabled. Dropbox also automatically supports multiple versions up to a point, for the same file, so even if we get our files encrypted by that awful virus, we can restore them by version. I hope. Cost: $10 a month for the pro plan PictureLife: 2nd Line of Backup with Browsing I pay for a standard picturelife plan, so I can always browse all our pics and videos on my phone, ipad and more. I chose picturelife because it supported videos. Lately other services have added that possibility as well. We have picturelife installed on all our family PCs and phones. On the PCs it is set to look for stuff in the camera uploads and the shared camera uploads folder from my wife. Yes, we upload the same pics multiple times, but picturelife seems to be mostly smart enough to tell if the same picture has been uploaded multiple times and keeps only a single copy. sometimes we get two *especially if we get any pictures from what’sApp. This is still not a solved problem.. If we do take pictures with other camera, we just put the SD card in the laptop slot and let dropbox import everything into the camera uploads folder. From there everything gets synced to picturelife. Cost: $15 a month for up to 300GB Glacier: Cold Storage We have two “family computers: in the house. One of the main media center windows machine with 1TB hard drive on it, and it is connected to my dropbox account. That means it also gets all of mine and my my wife’s photos since she has a shared folder with me. Every one a month or two, I zip up al the files on that machine’s camera uploads and “camera uploads from my wife”’s folder and upload them to amazon glacier. the zip file is named with a date range for example jan24-feb25-2013.zip . Once the glacier upload is done (I use fastglacier for a speedy upload) I can safely delete the photos from dropbox, so that I do not pass the 100 GB limit (we have lots of videos). No virus will have access to those files. I also have a copy of all these files in two other glacier regions, just in case. the cost are extermly low. Much better than S3. Cost: about $10 a month for around 300GB so far Amazon S3: Quick access for my work I have all the video files for all my courses backup to both S3 and Glacier. S3 is good because I host some of them for the blog and sometimes I need to get them to upload stuff to my shop. So I have two online backups for my large video files. S3 costs more, so I make sure to keep stuff there without the redundancy options, which is much cheaper I have LOTS of data on S3 so I get around $40 per month in costs.. Final Words I don’t rely on a single service to stay up. And I always have full access to everything from the last ten years. Total cost for managing all my files ever: $65-$75 a month. Your costs might be $40 lower since you might not need S3 if you are not keeping professional grade work for quick retrieval. [...]