Last Build Date: Thu, 20 Apr 2017 06:11:40 +0000Copyright: Roy Osherove
Thu, 20 Apr 2017 06:08:44 +0000
I’ve added a new course to http://courses.osherove.com - This time it’s all about Vim, which I’ve been using for a few good years now.
width="360" height="315" src="https://www.youtube.com/embed/oOKfu5OPlFs" frameborder="0" allowfullscreen>
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 unfa[...]