The tile of this post seems like a non-sequiter.
Why would a company not do that?
If you trying to project your own ideas,
a part of that process is killing competing ideas
Goa (India) ONSITE
We're developing an enterprise developer tool for the Mac.
We have a small house to work out of in Dona Paula, an outskirt of Panjim, located in a quiet neighborhood, very close to the ocean.
We're looking for 2 developers to pair up, initially for a 10 month period.
The work involves app UI design and speech recognition algo design targeting the MacBook.
you can start working immediately.
we will pay you a salary and offer performance linked bonuses in the form of equity.
Goa (India) ONSITE
We're developing an enterprise developer tool for the Mac.
We have a small house to work out of in Dona Paula, an outskirt of Panjim, located in a quiet neighborhood, very close to the ocean.
We're looking for 2 developers to pair up, initially for a 10 month period.
The work involves UI design and speech recognition algo design targeting the MacBook.
you can start working immediately.
we will pay you a salary and offer performance linked bonuses in the form of equity.
Absolutely.
Paint is by a long shot, Microsoft's best product.
It's easy to build since it's codebase is pretty small
and they haven't changed it much since it was introduced.
So it's rock solid.
IDK why they're fixing what ain't broke.
Open source is associated with philanthropy and with being really smart. If you're a really smart coder, out to change thw world, you'll obviously build a library or framework to help the other, not so fortunate coders around you as a way to bring relief from the tyranny of the big monopolistic corporates (read Microsoft). It's your David changing the evil ways of their Goliath.
Right. Early PC apps were developed by developers mostly for the developer community and PCs were used mostly by developers themselves as a cheap replacement for workstations.
When they started proliferating in the end-user space and experienced exponential growth in volumes, innovation took a back seat and commercialisation drove the chariot. Now that everyone's become rich, we need to get serious again about making it a lot more useful. Automation would probably be the first area I would address in that endeavor since the capabilities of the PC are now quite robust.
This is a great question.
The PC has been around for a long time now.
For the most part, users/developers have been sitting around, twiddling their thumbs and waiting for the tool and app gods to rain their blessings.
This question begs the need to be proactively involved in the process of designing how you use your PC
Exercise.
Cooking.
Sketching.
Paying attention to grooming.
Practicing ignoring people as much as possbile in public.
Reducing the amount of information I process outside of programming. --> Not using a smartphone. Using public transport. Minimizing internet use, no social media.
Walking as much as possible to help slow things down.
Consciously taking breaks from mental work, instead of just getting absorbed in a programming task.
The equivalent of interval training.
its possible to strengthen your ability to focus while you program through interval training.
Observing nature, such as bird-watching, wind conditions, cloud formations etc.
Well, mental health has always been and will continue to be an issue that needs to be addressed in the workplace.
This is because the workplace now is at least half composed of programming related tasks.
Programming is such a mentally tasking task due to the need to get everything just right to get your computer to do what you want with it, that the fallout from it could be compared to a hangover.
Your mental faculties do get tired by the process of programming leaving you in the lurch when you step outside that mental zone, and making you susceptible to attacks on issues unrelated to programming, that many managers and other people that don't exercise their mental faculties enough tend to indulge in.
As a programmer, it's just as important to learn what to do outside of your programming related tasks, specially ways to relax and rejuvenate your mental faculties.
If you don't do this, you'll burn yourself out leaving you susceptible to mental disease.
I would state that in a much stronger way --
A programmer should only think of their programming as a tool
and concentrate first and foremost on what they are building.
Good habits should emerge from that bent of mind.
If all you do is code to specs, you will never become a good programmer.
Yes, and in addition, this is a good way to choose projects.
We need to "reinvent the wheel"" a lot more
rather than just building on top of frameworks that we have inherited from the past.
The more work we do at the lower layers of our stacks, the better the quality of our software will be, in terms of its usefulness.
There's so many coders around now that there's not enough work at the top of our stacks anymore
Re: b)
For video, the encoder contains a model of the decoder, including the amount of buffering available to the decoder.
The bit-rate controller at the encoder uses this model to ensure that the decoder always has the right amount of data in its input buffers.
It also ensures that the information rate of the channel is matched with that of the compressed stream in a live transmission setting.
The transport scheme which operates at a layer below the codec, therefore only needs to take care of delay and packet delivery/loss related issues over the channel. Media is typically transmitted over UDP.
Digital cinema uses a resolution that is much higher than H.265's targeted sweet spot.
Their quality needs are also a lot higher.
Motion compensated video cannot give them the desired quality.
Hence intra frame only wavelet based compression.
Also, note that JPEG2000 which uses wavelets implies that for still images, wavelets can be made to work better.
JPEG which preceded JPEG2000 was 8x8 DCT based.
That's a good research topic.
Considering the time-frame involved -- 20 years
you could infer that attempts at finding alternative strategies have been half hearted
The way the ISO and standardisation works is the reason for this.
99 out 100 researchers work on the mainstream
Well, you could.
But the way current schemes are structured,
the motion compensation is done on a 16x16 macroblock basis
Using an 8x8 DCT to clean up the 4 quadrants within a macroblock makes sense.
But performing a global wavelet transform on a motion compensated difference image
would mess you up at the boundaries of the macroblocks
since you would potentially have discontinuities there.
Of course it would be possible to devise a scheme
that had a different approach to motion compensation
like say a per pixel one that used optical flow.
Also, not all macroblocks are encoded using motion compensation
Even in P and B frames, some are encoded intra.
You would lose that small optimisation in a wavelet based scheme.
Similar techniques as the ones used to optimise DCTs
could be used for wavelets.
There has just not been a demand.
The standardisation effort tends to swamp out all alternatives
once the decision to choose the algorithm has been made.
There's a huge amount of momentum behind the standard
which makes alternatives very hard to pitch.
This is part of the reason why the same basic technique has been in prevalent use for 20 odd years and nothing else has come into play
The problem with Wavelet based compression was
since wavelet transforms were applied globally
to the whole frame at a time,
while they were suitable for still image compression
they couldn't really take advantage of motion compensation
so their applicability for video was low.
Same with fractal based techniques.
Besides, as resolutions got higher and higher
the blockiness of the 8x8 DCT became less and less a factor
It's interesting to note
that the architecture of the first ISO codec MPEG (1)
is almost identical to the one we have today H.265
That codec was standardised in the late 90s
So this design has carried through for about 20 years.
Most of the changes relate to the targeted parameters
such as frame size, frame rate and bitrate.
Only the last step 264 --> 265 seems to have added new features.
You obviously hit the proverbial nail on the head and "figuratively" broke it considering that you're right at the top of Hacker News, something that becomes many peoples' claim to fame, for technical articles of course
Well, thanks for bringing out that uncertainty in the post.
Subsistence living is probably the wrong word.
What I meant was, we're a start-up that's bootstrapping
and so we don't really have a lot of cash, but we have equity
so we'll do the best we can to keep you comfortable
for a short time during which we'll generate the product to bring in revenue.
Thereafter we'll increase your pay and you'll have equity.
This scenario is probably true for many bootstrapped start-ups.
Probably basic would have been a better word than subsistence.
Also, I have a Masters in ECE from UC Irvine and worked several years at Intel after that.
So, I'm in a good position to guide engineers with that level of education.
If you look at our website, you'll find a brief description of our planned product
and a link to our Crunchbase entry that gives you more corporate level information. We were incorporated in India back in 2012
The .desi extension is to signify that we started in India.
I, the founder, am based in India.
It's a totally legit domain extension.
Your choice of work location is totally flexible.
So you can work from anywhere in the world.
We would only meet for planning purposes
I don't think you should restrict yourself to NGOs
Even commercial organizations help people and community
You should identify what kind of work interests you
and use that to drive your decision.
I have found that the maximum propensity to gain
is to set your priorities right
and then sit back and watch the river flow
I don't mean that as a fishing analogy
but more as a "let your ideas evolve in a organic way"
So you would expect
that you would achieve your top priority the soonest
and lower priorities later
How much you achieve is a rate issue
and I don't think there are any fixed answers for that
Obviously the are ways to accelerate your rate of progress
through an analysis of the data
and this is typically what the pundits vouch for
But this a grey area.
Since most start-ups are driven to grow revenues
rate acceleration is very typical
but that is a more a matter of business than engineering
This is a very sincere and honest question,
one that few start-up founders,
if they look deep inside their hearts,
would have a top of the hat answers for.
Yet, it beleagers start-up critics such as TechCrunch
and people interested in start-ups in general.
While there are no cookie cutter answers