No, it was pretty general. When I'm developing a desktop app, the first thing I do for any large piece of routine or semi-routine functionality is to look for an open source library that can either be used as a whole or as a template for how to do it. The majority of the time there's something close. That includes times I develop for Windows. This just doesn't exist in mobile, although some Java libraries can be made to work on Android, depending on what parts of the Java standard library they rely on.
That would help, but you'd still see at least a 6 month lag before major uptake by devs I think.
Out of curiosity, what part of 4 do you disagree with? That open source libraries aren't available (if so, links please), or that lack of libraries is a major problem?
And sadly, I don't think that the platform vendor is keeping up. I've recently started heavily writing my own reusable components, with the idea of spitting out a lot of small easy apps (to try and force myself to think in those terms, since I usually dream up giant multi-month efforts). Some of the things I had to write myself were ridiculously common, yet every damn dev is writing their own.
*Splash screen (and side note: the tutorials I found on the web on how to make one were all horrible, involving spawning threads and making sleep calls). *Intents to just play full screen video, or audio and matching image. *An Image widget that can use a resource or a URL as the source. *A wrapper around their gyroscope and accelerometer to form a compass sensor. Something they used to have (ORIENTATION_SENSOR) then deprecated. *A single function call method to get a URL as a string (or as an image, etc). *A view that displays the output of the camera, and manages requesting access to the camera when the activity is paused/unpaused. Really, how the hell did they miss this? *A JSON parsing library that will take JSON and an object definition and use reflection to turn the JSON into a java object.
Really, most of these are extremely common. Most aren't that hard, only the compass took significant time, and that because I needed to figure out the linear algebra and then clean up the sensor data. But google isn't providing it, and there aren't any good common Android libraries so everyone is rewriting most of these. And sure, some of these have limited use, but there's still ridiculous amounts of time being wasted by rewriting these thousands of times. Give us better tools to get out jobs done quickly, and we might have time to play with more advanced features.
Other than by calling into JNI constantly, how would you write an activity in C++? I was working on Android on a C++/JNI solution when 2.3 came out, I don't remember seeing anything particularly new then. Or much since. Or are you just talking about better OpenGL bindings for C++ (which is nice, but doesn't really help much other than games).
1)Too many versions too quickly. 2 major releases (3.0 and 4.0) in too short a timespan
2)Not enough work on backwards compatibility. If I use the 4.0 features, there's no good fallback. Java doesn't help them here- in C++ I could #define in 2.x and 4.x blocks, Java requires lots of reflection aware code because there is no conditional compilation. Or you need to set up special stuff with antenna and the like, which is hard to get working nicely with all the tools.
2a)The backwards compatibility they do have is pretty broken. Unless the support library improved, it couldn't do simple stuff like make PreferenceFragments work like PreferenceActivities in 2.x very well. So as a dev I can't code to 4.0 and use libraries to emulate features.
3)The ratio is still out of whack with more 2.x phones sold than 4.0. This is due to so few phones being upgradeable
4)For whatever reason, I don't see a lot of open source stepping in to help this. On the PC, there's be open source libraries galore to step into the gap. On mobiles, not so much. I think the idea of easy monetization via ads (regardless of how much you actually make) has helped to kill the open source movement on mobile phones. Plenty of free help out there, but not much in the way of quality libraries. But these are the people who generally would be jumping on new features. Without them, its mostly commercial devs and they just want to target the mass market.
Whty would you expect that? I'd expect the exact opposite as a developer- unless it's called out to me that it's another thread, that it's single threaded and I don't need to worry about synchronization between the callback and my main code. My guess is if you were to move to that model that you'd open up race conditions on 90% of pre-existing apps.
Multiple cores isn't going to help, processing is done in a single thread. Nor is more RAM, unless RAM was the problem to begin with. Most likely the bottleneck is the CPU, and I doubt you're really using a 3x faster CPU. Even if you are a 2-3x faster clock doesn't mean running code 2-3x faster- things like cache misses and mispredicted branches don't scale. Also remember that IPC is generally lower on ARM than on comparable x86 chips, so comparing raw numbers isn't that much of a help.
I've never yet seen a certification that was worth more than a pile of used toilet paper. Especially not for CS. And the attempts to even remotely get it to be so, especially for an internet certificate where the problem of proving the identity of the test taker is nearly unsolvable, will take a lot of time and money to do. It's not happening this decade.
Even once it does- it still won't be 10% as good as a degree. First, there has yet to be a certificate system that didn't sell out to maximize the number of certs given (and thus profits). No, the market won't fix it- the market never solves any problem except "how cheap can I make this". The entire idea of a market solving anythign else shows a complete lack of understanding of economics. But ignoring that, there is no replacement for taking a few years and studying a topic in depth surrounded by fellow students and with extensive resources all around you.
Then there's the problem of discipline. I taught a distance ed class at the college level. It was an upper level math class. It cost a few hundred dollars to take, so it was a significant investment. In the two years I taught the class, the only one to finish the class was myself- the semester before. Nobody else bothered to make it to the midterm, even with me asking them to do their homework. Very few people have the discipline to complete an education without a structure around them, especially in their early 20s.
Khan and similar ideas are great for additional resources for parents, for tutoring, for a bit of adult learning. Its not and never will be a replacement for college.
What is it you really want to do? Do you want to do research- develop new algorithms and approaches? Then it can help a bit. But you pretty much need to stop working and go to school to get the real benefit, the real benefit is in doing graduate research with a mentor, making connections, and studying without distractions. It isn't the classes.
If you just want to work on different types of applications- do so. Apply for jobs that do something else. Look at startups, go to local startup events. Search job listings and ignore anything that says J2EE or.NET. If you don't live near a major city, you may need to relocate. But it's easily doable- 11 years in and I haven't touched a business app yet.
Not at all. I'm happy to take a smaller offer if the work is more interesting and the workplace looks more fun. I walked away from 60K in bonuses when my company got bought out, because I couldn't stand to work for the new owners (I had previously).
The trick is that you don't need to be the highest, but you can't be out the low end either. I had a job offer last week that was perfect- right location, interesting work, a chance to mentor a bunch of young devs (something I enjoy doing), looked like a fun place to work. I was even willing to take a small paycut, since I was focusing more on things like location (I was actually looking to relocate to be by friends). They low balled me with an offer 30K under my minimum, which was already 20K under what I was making previously. Had to nope on out of there. I had another offer being finalized that was 20K over my old salary, and I still would have taken a paycut for the quality of life issues. In fact, in the end I turned the other offer down and continued my search.
Basically you need to be in the right range, but once you are whether you're the top offer doesn't matter unless the other guy is offering fuck you money.
It's not just people playing Buzzword Bingo. It's just hard to find *good* senior devs. At the startup I last worked for, we would interview a dozen people, be willing to hire maybe 3 of them, and get turned down by most of them. If you're looking for above average candidates (and I don't want to bother with below average ones) then you're going to have a wait on your hands. We had constant open recs, but it took months to fill one.
Aww, I love the flamebait mods. Listen, Firefox was supposed to be a rewrite of the Mozilla codebase to be lightweight and less buggy. It's no no longer lightweight (running FF with the same tabs open takes more memory that SeaMonkey, even though that's also my email client), FF is buggier (I haven't had SeaMonkey crash in months. Last time I tried FF it was every few days),and they both share the same Gecko core. What they don't share is the GUI. That's pretty epic level of failure to me- several years to not only fail your goals but to make things actively worse.
As proof- a SeaMonkey instance right now that's been running for several weeks on Windows 7 is at 700 MB of ram, displaying a dozen tabs and several flash instances. FF routinely goes over 1 GB.
Try SeaMonkey, the old Mozilla suite. It's stable, no frequent updates, no GUI changes every 2 weeks, and actually uses less memory than Firefox. The Firefox UI devs are obviously pretty god damn bad.
I joke that in my last job I fixed two bugs on my first day without writing a single line of code. One bug required me to add a line, one required me to remove a line. Net LOC of 0. And a completely useless measure for my day.
The loan wasn't given out under Chafee, it was given out under his predecessor. Chafee was only governor during the time the company was publicly imploding. Try researching things before posting next time, ok?
" In all the other cases before mentioned, the Supreme Court shall have appellate jurisdiction, both as to law and fact, with such exceptions, and under such regulations as the Congress shall make."
Congress has some ability to regulate how appeals must be done, but they CANNOT take away the supreme court's appellate jurisdiction. You're just wrong.
Learning how likely we were to wrongfully convict is a benefit in and of itself. If it looks like a rare occurrence after testing a random sample, then we can feel confidant about the rest. If it's frequent, then we must look at all cases again-it's better for the guilty to go free than the innocent to wrongly lose their freedom.
One good developer who already works for you doing this in his free time at work. Cheap (already paid for), slow (1 dev part time), probably high quality (good dev).
Doesn't matter. You'd never get even 1% of the user base to try it. If it isn't qwerty, it's going to be a toy used by a few dozen people.
Nor do I think I'd want to explain to my mom that she needs to memorize different combinations of swipes to get different letters. I barely got her to figure out Swype and I had the advantage of her wanting to play with software I helped write. you can piggy back a new method of input on top of a traditional QWERTY interface, but if it doesn't have that QWERTY tapping backup it won't get any traction.
No, it was pretty general. When I'm developing a desktop app, the first thing I do for any large piece of routine or semi-routine functionality is to look for an open source library that can either be used as a whole or as a template for how to do it. The majority of the time there's something close. That includes times I develop for Windows. This just doesn't exist in mobile, although some Java libraries can be made to work on Android, depending on what parts of the Java standard library they rely on.
That would help, but you'd still see at least a 6 month lag before major uptake by devs I think.
Out of curiosity, what part of 4 do you disagree with? That open source libraries aren't available (if so, links please), or that lack of libraries is a major problem?
And sadly, I don't think that the platform vendor is keeping up. I've recently started heavily writing my own reusable components, with the idea of spitting out a lot of small easy apps (to try and force myself to think in those terms, since I usually dream up giant multi-month efforts). Some of the things I had to write myself were ridiculously common, yet every damn dev is writing their own.
*Splash screen (and side note: the tutorials I found on the web on how to make one were all horrible, involving spawning threads and making sleep calls).
*Intents to just play full screen video, or audio and matching image.
*An Image widget that can use a resource or a URL as the source.
*A wrapper around their gyroscope and accelerometer to form a compass sensor. Something they used to have (ORIENTATION_SENSOR) then deprecated.
*A single function call method to get a URL as a string (or as an image, etc).
*A view that displays the output of the camera, and manages requesting access to the camera when the activity is paused/unpaused. Really, how the hell did they miss this?
*A JSON parsing library that will take JSON and an object definition and use reflection to turn the JSON into a java object.
Really, most of these are extremely common. Most aren't that hard, only the compass took significant time, and that because I needed to figure out the linear algebra and then clean up the sensor data. But google isn't providing it, and there aren't any good common Android libraries so everyone is rewriting most of these. And sure, some of these have limited use, but there's still ridiculous amounts of time being wasted by rewriting these thousands of times. Give us better tools to get out jobs done quickly, and we might have time to play with more advanced features.
Other than by calling into JNI constantly, how would you write an activity in C++? I was working on Android on a C++/JNI solution when 2.3 came out, I don't remember seeing anything particularly new then. Or much since. Or are you just talking about better OpenGL bindings for C++ (which is nice, but doesn't really help much other than games).
It's a combination of problems.
1)Too many versions too quickly. 2 major releases (3.0 and 4.0) in too short a timespan
2)Not enough work on backwards compatibility. If I use the 4.0 features, there's no good fallback. Java doesn't help them here- in C++ I could #define in 2.x and 4.x blocks, Java requires lots of reflection aware code because there is no conditional compilation. Or you need to set up special stuff with antenna and the like, which is hard to get working nicely with all the tools.
2a)The backwards compatibility they do have is pretty broken. Unless the support library improved, it couldn't do simple stuff like make PreferenceFragments work like PreferenceActivities in 2.x very well. So as a dev I can't code to 4.0 and use libraries to emulate features.
3)The ratio is still out of whack with more 2.x phones sold than 4.0. This is due to so few phones being upgradeable
4)For whatever reason, I don't see a lot of open source stepping in to help this. On the PC, there's be open source libraries galore to step into the gap. On mobiles, not so much. I think the idea of easy monetization via ads (regardless of how much you actually make) has helped to kill the open source movement on mobile phones. Plenty of free help out there, but not much in the way of quality libraries. But these are the people who generally would be jumping on new features. Without them, its mostly commercial devs and they just want to target the mass market.
If the caterer is really hot I'd watch it.
Whty would you expect that? I'd expect the exact opposite as a developer- unless it's called out to me that it's another thread, that it's single threaded and I don't need to worry about synchronization between the callback and my main code. My guess is if you were to move to that model that you'd open up race conditions on 90% of pre-existing apps.
Multiple cores isn't going to help, processing is done in a single thread. Nor is more RAM, unless RAM was the problem to begin with. Most likely the bottleneck is the CPU, and I doubt you're really using a 3x faster CPU. Even if you are a 2-3x faster clock doesn't mean running code 2-3x faster- things like cache misses and mispredicted branches don't scale. Also remember that IPC is generally lower on ARM than on comparable x86 chips, so comparing raw numbers isn't that much of a help.
I've never yet seen a certification that was worth more than a pile of used toilet paper. Especially not for CS. And the attempts to even remotely get it to be so, especially for an internet certificate where the problem of proving the identity of the test taker is nearly unsolvable, will take a lot of time and money to do. It's not happening this decade.
Even once it does- it still won't be 10% as good as a degree. First, there has yet to be a certificate system that didn't sell out to maximize the number of certs given (and thus profits). No, the market won't fix it- the market never solves any problem except "how cheap can I make this". The entire idea of a market solving anythign else shows a complete lack of understanding of economics. But ignoring that, there is no replacement for taking a few years and studying a topic in depth surrounded by fellow students and with extensive resources all around you.
Then there's the problem of discipline. I taught a distance ed class at the college level. It was an upper level math class. It cost a few hundred dollars to take, so it was a significant investment. In the two years I taught the class, the only one to finish the class was myself- the semester before. Nobody else bothered to make it to the midterm, even with me asking them to do their homework. Very few people have the discipline to complete an education without a structure around them, especially in their early 20s.
Khan and similar ideas are great for additional resources for parents, for tutoring, for a bit of adult learning. Its not and never will be a replacement for college.
What is it you really want to do? Do you want to do research- develop new algorithms and approaches? Then it can help a bit. But you pretty much need to stop working and go to school to get the real benefit, the real benefit is in doing graduate research with a mentor, making connections, and studying without distractions. It isn't the classes.
If you just want to work on different types of applications- do so. Apply for jobs that do something else. Look at startups, go to local startup events. Search job listings and ignore anything that says J2EE or .NET. If you don't live near a major city, you may need to relocate. But it's easily doable- 11 years in and I haven't touched a business app yet.
Khan's good for some stuff, but it does not have graduate level education.
I'm 32. But I saved carefully when I was younger and have a good sized cash cushion.
Not at all. I'm happy to take a smaller offer if the work is more interesting and the workplace looks more fun. I walked away from 60K in bonuses when my company got bought out, because I couldn't stand to work for the new owners (I had previously).
The trick is that you don't need to be the highest, but you can't be out the low end either. I had a job offer last week that was perfect- right location, interesting work, a chance to mentor a bunch of young devs (something I enjoy doing), looked like a fun place to work. I was even willing to take a small paycut, since I was focusing more on things like location (I was actually looking to relocate to be by friends). They low balled me with an offer 30K under my minimum, which was already 20K under what I was making previously. Had to nope on out of there. I had another offer being finalized that was 20K over my old salary, and I still would have taken a paycut for the quality of life issues. In fact, in the end I turned the other offer down and continued my search.
Basically you need to be in the right range, but once you are whether you're the top offer doesn't matter unless the other guy is offering fuck you money.
It's not just people playing Buzzword Bingo. It's just hard to find *good* senior devs. At the startup I last worked for, we would interview a dozen people, be willing to hire maybe 3 of them, and get turned down by most of them. If you're looking for above average candidates (and I don't want to bother with below average ones) then you're going to have a wait on your hands. We had constant open recs, but it took months to fill one.
You mean accidentally commit suicide by swallowing rare radioactive isotopes.
Aww, I love the flamebait mods. Listen, Firefox was supposed to be a rewrite of the Mozilla codebase to be lightweight and less buggy. It's no no longer lightweight (running FF with the same tabs open takes more memory that SeaMonkey, even though that's also my email client), FF is buggier (I haven't had SeaMonkey crash in months. Last time I tried FF it was every few days),and they both share the same Gecko core. What they don't share is the GUI. That's pretty epic level of failure to me- several years to not only fail your goals but to make things actively worse.
As proof- a SeaMonkey instance right now that's been running for several weeks on Windows 7 is at 700 MB of ram, displaying a dozen tabs and several flash instances. FF routinely goes over 1 GB.
Try SeaMonkey, the old Mozilla suite. It's stable, no frequent updates, no GUI changes every 2 weeks, and actually uses less memory than Firefox. The Firefox UI devs are obviously pretty god damn bad.
I joke that in my last job I fixed two bugs on my first day without writing a single line of code. One bug required me to add a line, one required me to remove a line. Net LOC of 0. And a completely useless measure for my day.
The loan wasn't given out under Chafee, it was given out under his predecessor. Chafee was only governor during the time the company was publicly imploding. Try researching things before posting next time, ok?
" In all the other cases before mentioned, the Supreme Court shall have appellate jurisdiction, both as to law and fact, with such exceptions, and under such regulations as the Congress shall make."
Congress has some ability to regulate how appeals must be done, but they CANNOT take away the supreme court's appellate jurisdiction. You're just wrong.
No, they can't. The constitution gives the supreme court appellate jurisdiction over all cases. All Congress can do is add more layers.
Learning how likely we were to wrongfully convict is a benefit in and of itself. If it looks like a rare occurrence after testing a random sample, then we can feel confidant about the rest. If it's frequent, then we must look at all cases again-it's better for the guilty to go free than the innocent to wrongly lose their freedom.
One good developer who already works for you doing this in his free time at work. Cheap (already paid for), slow (1 dev part time), probably high quality (good dev).
Servers are web 1.0. Cloud is web 3.0. Much buzzier and hipper.
Doesn't matter. You'd never get even 1% of the user base to try it. If it isn't qwerty, it's going to be a toy used by a few dozen people.
Nor do I think I'd want to explain to my mom that she needs to memorize different combinations of swipes to get different letters. I barely got her to figure out Swype and I had the advantage of her wanting to play with software I helped write. you can piggy back a new method of input on top of a traditional QWERTY interface, but if it doesn't have that QWERTY tapping backup it won't get any traction.