tylerlarson
Joined 15 years ago
Joined 15 years ago
I have the hardest time getting anything done because of the sea of people trying to find ways not to do any work. Is this not abuse of privilege? Do you all not hear the stories of people working multiple jobs and still not being able to pay their bills. Is this entitlement?
There are actual problems in the world, sure most of them you are able to effect might be small but what a complete waist of time to be stuck in a job for 8 hours a day and be actively choosing not to contribute solutions to the problems you are faced with. Sure not everything along the way is going to be interesting but if these problems don't excite you there are other jobs that should and if all of that fails go start a company because you are only on this planet for so long and waisting these hours making it look like you are doing work pails in comparison to actually making any impact on the people and things around you. You will be missing out on shared relationships of successes and failures as you resign yourself to this void.
It doesn't feel good to deceive people, it doesn't feel good to take money from people for work you haven't done.
There are people in this world that would literally give anything to have the jobs you have all listed but they can't even apply because they were not born in the right country or their parents didn't have the money to send them to the right school or their accent or skin color made that same interview that you passed impossible to even get.
This whole thread feels so wrong to me and I'm really amazed this community is okay with propagating it. It goes completely against the idea of progress and works against any form of entrepreneurial spirit. Companies fail because of this mentality and world as a whole is worse off because of it. Sure everyone has moments of these feelings but to encourage this as an ok path through of life, I just don't understand.
I've created renderers that do this. You can render out data as fast as your hard drive can write the data but yes these files are often ginormous. RGBA at 1000x1000 at 30FPS is about 7.2Gb per min.
There are raw file formats but because the files are so large they are normally thought of as streaming formats that you would pipe to another process like ffmpeg or gstreamer. If you actually want something saved to disk that other things can read your options are normally MJPEG, APNG, WebM or GIF. Some of the older video formats like AVI or MPEG might also work.
Personally I think animated PNG files are the cleanest simplest format internally, there are arrays of RGBA pixels that are gzipped plus the header data. Because the pixel data is compressed the files are smaller but still huge in comparison to a normal video file.
The answer to your question is also pretty complicated because most of these formats have many different formats that they internally allow, for instance MPEG, AVI and other video formats can be saved with pixel data in different formats. The problem is the specs for these things are often not fully supported by all of the players. To get useable files you will need to be specific about what you are trying to target. The formats that I normally target need to work in a web browser but if you just need it to work on your computer VLC can play almost anything.
I moved on from that a decade ago but it was a neat project at the time.
But I deployed my first integration of WASM about a month ago for PaperlessPost.com. It is a custom h264 video decoder that renders into a canvas that manages timing relative to other graphics layers over this video. This code works around a series of bugs we've found with the built in video player. It went smoothly enough that we are looking into a few other hot spots in our code that could also be improved with WASM.
One avenue for WASM might be simply polyfilling the features that are not consistently implemented across browsers.
You can involve computers in the process of creating work. Things like conceptual art doesn't even have to involve any artistic skill necessarily, but there are many other areas that do if you want to try it out. Paintings from unknown artist can sell for $5K and if you have the energy and space to make sculptures, they can sell for much more.
Always keep in mind who the buyers are, it isn't always directly to customers (galleries, governments, large corporations). Only make work that sells. In the process your pitch will need to be refined. It can't be simply that you want to make money, it has to speak the the audience.
There are many different customers out there looking for different things. Keep in mind there are very few people who devote themselves to this and few of these people have any sense of business, branding, marketing, or even creativity as deep as what is available in technology today. Sure many people can draw or whatever but this isn't want makes a successful artist.
Success comes from all of the same stuff that every other industry focuses on.
R.Mutt QED
How much money did the company make because of your contributions? What can you do to make the company worth more?
Are you forming relationships with people outside of the company that will enable the company to hire more qualified people or become better by any metric?
Are you applying your skills in a way that shows others in the company how to do their jobs better?
And so on.
You are not being paid because of your computer programming ability, you are being paid because you can provide worth to the company with this knowledge. If you are unable to find a way to apply these skills the company will keep you on, giving you a chance to find yourself and keep things going but the people that make more money than you are likely the ones that enable the company to make more money.
The most well known WebGL library is https://github.com/mrdoob/three.js/ Which has been used for many examples like this http://armsglobe.chromeexperiments.com/
But you could look at the libraries focused on 2d like these http://paperjs.org/ http://fabricjs.com/ But the larger 2d canvas libraries also have much of the same abilities. http://createjs.com/ - http://codepen.io/ianwhitfield/pen/BKOJmj https://github.com/pixijs/pixi.js - http://anvaka.github.io/ngraph/examples/pixi.js/06%20-%20Pac...
If you are just rendering vectors like an icon image, there is no harm in using SVG. If you want access to nodes on a page with a JavaScript library like jQuery, SVG is still the best option. For everything else SVG is not the most performant and is not able to deliver on many graphics abilities that the Canvas tag is capable of. I respect that in most visualizations it doesn't matter and it might be easier but it doesn't mean SVG is the best thing to use for all graphics.
But if you want something to run everywhere including web browsers, JavaScript is the only realistic option. So we make do. My current approach is to rely on HTML/CSS and React/React Native for the easy stuff and everything else is rendered in the Canvas tag with lots of JavaScript to bend the platforms into doing what you want.
In the past I have taken similar approaches by using things like Ejecta but the android support for this is lacking and now that WKWebView has addressed many of its issues, using standard WebViews within native containers is fast enough on mobile.
On desktop, Electron, NW or the other things like this can fulfill the same setup.
People will complain about performance which was a really big issues a few years ago but today the difference isn't large enough that it can't be worked around and most of the fear is in people heads. Most environments have web workers, and webgl, and JavaScript that has a JIT, and many new things like Web Assembly and SIMD should be available in the coming years making these platforms even more viable.
We are currently looking to fill these positions.
Associate Product Manager
Data Engineer - Insights
Data Engineer Intern
Data Engineer - Site Behavior
Front End Developer
Graphic Designer
iOS Developer
JavaScript Developer
Merchandise Art Director
Operations and Customer Relations Associate
Quality Assurance Engineer
Technical Operations Engineer
Visual Designer
Web Developer
If Firefox had an amazing debugger I would use it every day. I focus on graphics so this is where my mind is at but there are plenty of things that would benefit everyone like a better memory profiler or maybe being better about explaining to users how to fix issues. Chrome's Lighthouse might focus on how google works but it will also provide solid tips for how to make most websites better. Sure it might be wrong if you really know your stuff but it is also a great place to learn if you don't think you know it all.