Get Unstuck

Inspired by https://www.interviewcake.com/article/python/coding-interview-tips I thought I could make a variant. We’re no longer talking about a coder and an interviewer, we’re talking about a solution provider and their client.

 

Get unstuck.

Sometimes you’ll get stuck. Relax. It doesn’t mean you’ve failed. Keep in mind that the client usually cares more about your ability to cleverly poke the problem from a few different angles than your ability to stumble into the correct answer. When hope seems lost, keep poking.

Draw pictures. Don’t waste time trying to think in your head—think on the board. Draw a couple of different test cases. Draw how you would get the desired outcome by manual effort. Then think about translating your approach into product.

Solve a simpler version of the problem. Not sure how to find the 4th most important demographic in the market? Think about how to find the 1st-most-important and see if you can adapt that approach.

Launch a naïve, inefficient solution and optimize it later. Use brute force. Do whatever it takes to get some kind of launch, traction, or engagement.

Think out loud more. Show what you know. Show what you thought might work and why it won’t work. You might realise it actually does work, or a modified version does. Or you might get a hint from the client.

Wait for a hint. Don’t stare at your client expectantly, but do take a brief second to “think”—your client might have already decided to give you a hint and is just waiting to avoid interrupting.

Think about the bounds on time and effort. If you’re not sure if you can optimise your solution, think about it out loud. For example:

  • “I have to at least look at all of the items, so I can’t do better than market testing.”
  • “The brute force approach is to test all possibilities, which is incredibly lengthy.”
  • “So, because the answer will contain n^2n2 items, it follows that I must at least spend that amount of time.”

 

Thanks to Parker Phinney and Cake Labs. No intent to violate https://www.interviewcake.com/terms-and-conditions

New video codecs: new sounds great, new takes years.

If you are a video algorithm engineer, it’s likely that you spent years at university studying something abstruse in mathematics or particle physics. Or, perhaps, visual/mechanical reproduction systems.

When you take a commercial job working for a video encoding company, I enjoy reading your patent applications. I like seeing your standards-body submissions. It’s great seeing your names in the minutes-of-meeting for boards and committees. Sometimes, I get to meet you and shake your hand.

It’s even better when your submissions for a new video codec are not only accepted, but when they are endorsed and your peers start using the reference encoder components, the reference decoders, and when everyone uses the same videos to test compliance.

What’s hard is that this all takes years. Years! IBCs and NABs come and go, MPEG committees meet and disband, and time passes.

The result?

A provable, reference, standard for interoperability. And/or a set of parameters that others can go and innovate with. Products, systems, and even optimised circuits that map your math into personal enjoyment.

Codec is a portmanteau of coder-decoder or, less commonly, compressor-decompressor.

[ https://en.wikipedia.org/wiki/Codec ]

 

What hurts you, and the industry, is if someone decides there’s “a breakthrough” that is possibly based on a story.

Like, “Adams Platform“:

Investors who believed him ended up $27 million poorer. Despite the huge loss and the failure of the technology to work, no one has ever been prosecuted.

The Adams Platform technology could compress video by a ratio of a thousand to one, Mr Clark said. It could transmit full-screen, broadcast quality video over a standard phone line, he said. It couldn’t.

The claims seemed even more outrageous in the early 2000s, when broadband internet had yet to become the commonplace it is today. The potential seemed unlimited, and Mr Clark excited a huge amount of interest as well as a fair amount of scepticism.

It all amounted to nothing, and the company he floated on the ASX to exploit Adams Platform quickly folded after admitting there was no evidence the technology worked.

 

And like many others.

Now, if an amateur can download MediaInfo and look at a sample file that has been apparently encoded by a new codec, yet get all the encode parameters from the known codec x264:

x264 is a free software library for encoding video streams into the H.264/MPEG-4 AVC format.

[ http://www.videolan.org/developers/x264.html ]

……is it really new?

 

viz:

cabac=1 / ref=4 / deblock=1:-2:0 / analyse=0x3:0x133 / me=tesa / subme=11 / psy=1 / fade_compensate=0.00 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=7 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=3 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=1240 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00

 

And if the same amateur can view this video in a standard player, without any decoder component installed, is it really a new codec?

 

New sounds great: new takes years.

 

 

The Trout Fisher

“The Trout Fisher casts patiently all day. He frequently changes his venue and his lures. If he has frightened a fish he may ‘give the water a rest for half-an-hour,’ but his main endeavour, viz. to attract fish by something he sends out from his boat, is incessant.”

I be seeing you at IBC2014.

By Christian Van Der Henst S. ( https://www.flickr.com/photos/cvander/1346102099/in/photostream/ )
Photo by Christian Van Der Henst S. ( https://www.flickr.com/photos/cvander/1346102099/in/photostream/ )

As some of us get ready for IBC2014, remember:

You will have scheduling issues, so be flexible.

If setting a meeting, or attending one, be considerate and try to keep in contact with each other.

You rarely need to see, or present, the first 6 slides of your deck.

The slides are there for cold prospects, not set meetings with your clients. Skip them.

You will walk circa 15,000 steps per day, so get your wearable/tracker ready.

Is this the most exercise you will get all week? Likely, sadly.

The WiFi will suck, your roaming won’t work or will be expensive, so get a MiFi and a local SIM.

It has always sucked, and will always suck, until a major serious vendor and sponsor get behind it.

You will run out of battery on your phone every lunchtime, so at least carry a cable so a kind soul like me with a 10,00mAh battery pack can charge you up.

And get your own battery pack. With two USB ports. Right now. Shipped to your hotel.

Get to bed before 2am. No meetings before 9am.

I’m not your dad, but surely this is common sense; aber IBC kommt nur einmal im Jahr….

Have enough time to just walk around, see new things, and meet new people.

I would never have met the university researchers working on vector-based video had I not bumped into their poster presentation.

by Christian Van Der Henst S. ( https://www.flickr.com/photos/faceme/5042023426 )
Photo by Christian Van Der Henst S. ( https://www.flickr.com/photos/faceme/5042023426 )

The best networking, the best intel, the best gossip, and the best deals happen when you least expect them.

Go for that coffee. Or that beer, that glass of rosé in the afternoon sun. Go for a ride on a boat. Listen to what others see as the hot topics.

 

Your thoughts? Your tips?

 

 

LockTight – one more final update ;-) for Mac OS X Mavericks 10.9

surf image from http://www.flickr.com/photos/35740357@N03/7257446130
from http://www.flickr.com/photos/35740357@N03/7257446130

Well, I managed to recompile it for 64-bit and for Mac OS X 10.9.

 

I can’t say that I can support it, or debug it, but if it works for you: fantastic!

 

LockTight for Intel (v0.1.2) (zip archive, 48kbyte file, HTTP download)

 

I’m referring to LockTight for your Intel-based Mac, per:

http://www.gkoya.com/2006/11/23/locktight-for-mac-os-x-intel/

 

Nevertheless, this is being provided without any support statement and without any expressed warranty or merchantability statement. It is virus- and malicious code- free.

 

NO WARRANTY

1. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

2. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.