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.
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