I know the HomePod isn't exactly this, but here's what I really want... I reasonable surround stereo system that I can just plug my equipment into and really not have to mess with. The problem with existing solutions is that I have to get a receiver with x inputs (that part is fine), but then every time I want to use one device or another I have to switch the receiver to that source. I really want a system where I don't have to worry about a remote normally... If I switch to my DVR, it should "just know" and automatically switch on and play audio. Likewise, if I stop playing anything it should automatically switch off. I've got a Logitch Harmony remote which helps a lot, but it's not perfect and still confusing for other household members and especially guests to understand. I'd also like to not spend more than $300-500 on a sound system.
The other thing that would be really really awesome is if the volume control was based on audible output.... this way a setting of "4" would be the same no matter what source input I had.
I was willing to deal with a single speaker system if it delivered on "full" sound quality while being easy to use and install in most of the other aspects. What I imagined they would have would be an HDMI in and out port that would allow the HomePod to sit between the TV and the rest of the system... Then it'd be relatively guaranteed to always have the correct audio I want playing.
I looked at the Edifier website, but I don't think it's quite what I'm looking for.
I agree with your assessment. I was really waiting in anticipation for the HomePod mostly because I think Apple made a good decision about focusing on the sound quality and (relative) affordability. Personally, I'm not all that interested in the "smart" aspect of it. Sadly, as much as I love Apple products, the AirPlay-only option is just a deal-killer for me. I think the HomePod really would have made a huge dent in the market that everyone else was missing... namely a simple and affordable way to get good audio for my home entertainment system... (for most people, that means DVR, Cable, game console, AppleTV/Roku, etc). Sadly it looks like even Apple missed this key part.
Now I have to go spend $500+ on a receiver, speakers, and figure out how to wire it all up. And even then I'm probably not going to get the speakers in the "best" configuration.
The other things people mentioned are certainly a factor. But I think another factor is education. The "computer science" degree is what people normally study to go into a programming profession. But I've found the education typically rather lacking... people coming out of schools may know a couple interesting algorithms, but they don't know anything about software design, architecture, communication systems, or teamwork/planning. In addition, no one really learns how to be a true "author" of software. Most developers I've worked with (even senior ones) have no very little ability (and often times interest) in coming up with proper function/class/variable names, for example. Written code needs to be understood, maintained, and compartmentalized (for re-use and testing). There's process around code development as well (from code reviews to task/project management, to testing)... it'd be good if students were exposed to different ways these can be done, and the pros and cons each. These skills are just as important (if not more so) than understanding the syntax of a language or the details of how a hash table is constructed.
AMP is the reason I switched my phone to DuckDuckGo instead of Google. It loads web pages in ways that I canâ(TM)t interact with and there is no way to opt-out.
Multiple copies may be one solution, but it introduces another problem that doesn't have an elegant solution... you need a tool that can verify the integrity of your data (across the multiple copies). How do you choose which one is "correct" when you migrate and copy to a new system? In addition, how are you sure that any given copy is actually complete? What if you want to permanently delete a file from your archive?
I mitigated some of these problems for my photo library by using version control software. But they're not really designed for this purpose. Git runs into memory issues when you have repositories that run up to tens of GB. Subversion works, but you end up with a duplicate copy of all your files in your work tree.
There really isn't a very good archival solution I've found so far that allows you to be sure about the integrity of your data in the long term when talking even at the 100GB level, let alone the multi TB level.
FYI, Apple's languages/tools (like GCD, Swift, and OperationQueues) make it very easy and manageable to take advantage of concurrent programming. (At least compared to other systems I've see )
Wait, does Oculus have the same Michael Abrash that worked on Doctor Dobb's Journal? And author of numerous graphics programming books? That guy's pretty awesome! I remember reading his stuff when I was just in high school. In fact it may have been one of his articles where I *really* started to understand derivatives (way back when I was in high school studying calculus).
Not to mention testing. And we're back to the whole buggy/deficient driver mess of PC's. It's true that smartphones are basically like computers. But the one key difference is that I'm far less tolerant of buggy software/hardware on my phone than on my desktop.
GNOME 1.x was really great. It was fairly configurable while still being relatively easy to use and did what I (as a developer) needed. Current day GNOME looks like it borrows from the worst of Windows (the stuff even the Windows folks don't even like), and only recently adopted a few things that the Mac does (possibly because Windows copied some of it) but in some weird way that lost all of the intent behind the actions. So we end up with something that's simple but still not understandable because it's confusing and weird, and consequently useless to just about everyone. I managed to get by fortunately because they had an alternate window manager that was a bit more traditional.
Don't get me wrong, I still think the Linux community is amazing and love the fact that it all exists. But for GUI, not only have they lost sight of the Unix Philosophy, they also don't really have a good view of who their/actual/ users are.
Actually, I would contend that *all* infrastructure-based resources will be natural monopolies. As such, I think the way we handled it before was correct.. it was just the way we divided it wasn't quite right... Governments shouldn't run the services/technologies/etc. They should regulate a single local company to manage the it (ie. the government regulated monopoly). In this case, we're talking about the physical cable/fibre/etc into the home. Services on top of that, then can be a free market.
That's a very good point. Bug tracking systems (public and even private) should also have a way to track the reliability of submitters. I've been with the open source community since before "open source" was a phrase, and sadly from what I've seen, the community still seems to lack an understanding of the human side of things at pretty much all levels. And from how GNOME has been shaped through the years, it only seems to be getting worse.
There really needs to be a software engineering major too. Where I went to school, the CS curriculum really didn't cover how to break problems large problems down into logical structures and pieces manageable by small teams, or how write maintainable code, etc. And from talking with others, I gather this is pretty true for most colleges. So don't feel bad...it's not just the testers that lack formal education... the developers are often self-taught or learn on the job as well.
I actually think it's fine to discriminate in this case. Women and men *are* different and have different needs, especially when it comes to child birth. However, child care is entirely different, and what you suggest makes sense... there should be "primary care" leave as well that's equal between the two.
On the other hand, I think businesses get into this kind of trouble because they try too hard to classify people's personal time. Just give everyone X number of days off and let them manage their time off. I mean you could argue that maternity/paternity leave is also discriminating against single people. I mean why the heck should someone get more days off just because they're giving birth? Shouldn't I be given just as many days in order to find a girl to impregnate in the first place? Who's to judge which one is more important than the other?
I have a ScanSnap as well, but just use their Mac software. What type of paper are your documents and how many pages do you do at once? I've found for really thin paper or for many pages it helps to simply fan them out a bit. But if you're doing many pages (like over ~20 or so) you might need to feed them in batches... Unfortunately it's a bit of baby-sitting, waiting for it to reach near the end of one batch, then putting the next batch in. But I manage to avoid the multi-page problem most of the time this way.
I agree. The Retina Macbook Pro for example is entirely sealed. There's simply no reason for anyones fingers to get near the fan under any "normal" operation of the device.
It's not quite what you meant, but the Retina Macbook Pro can be upgraded to 768 MB of flash. That's pretty close to 1TB. Though it is slightly larger than a USB stick. =P
I think programming languages are similar to written language in this case. No two people will really have the same style of writing, but most people can agree whether someone's writing is "good english" or "bad english." Grammar is part of that determination but also comprehension.
I worked at a company when I was in my 20's where most of the engineers there were also in their 20's. However, after hosting a couple interviews, I quickly found that knowledge-based tests were far less useful than personality/attitude based test. And I managed to boil my C language "test" down to 3 questions (regarding volatile, static, and endian -- I work in the embedded space; anyone who's worked with embedded systems are intimately familiar with all 3 of these). Most questions I ask, while they cover technical topics, are largely testing their ability to communicate, reason logically, and define their own work parameters (eg. if I ask you to figure this out, what resources do you think you'll need)... If they pass all that, I also look for (as a bonus) whether they're outside-the-box thinkers, but these are rare to find.
Timed test, extensive knowledge tests, and puzzles... while fun, aren't useful (to me) for determine if I'm going to work well with someone.
My belief is that the problem with Android is the reverse. It really is open... to it's customers. However, the customers of Android are not the end-users, it's the carriers. Carriers have always wanted locked platforms that they can leverage and brand. And so one of the big failings of Android was that they allowed the carriers to close the architecture to the end-user.
One of the iPhone's greatest achievements was locking the carriers out. If you notice... there's very little in the way of carrier branding on the device. This wasn't true with any phone before the iPhone.
What I'm saying is that we make the copper itself the utility as you suggested. Same for every/type/ of scarce resource (spectrum usage, whatever)... copper's the most straight forward.. the others may require some thinking about... but as I said, the goal is to take the lowest-level that's practical.
But if you did that, then the cable companies, phone companies, etc. all essentially become *SP's.... whether it's Media-Service Providers, Realtime Voice Service Providers, or Internet Service Providers.
At that level, people can compete. But it's impossible to really compete fairly if one company owns the scarce resource.
Yes I agree that sharing some of these hardline solutions (DOCSIS, and even DSL as you mentioned) may be difficult today... but I think that's simply because there's no market for it. The engineering effort to allow for it, while not trivial, certainly shouldn't be difficult. If the market for it existed, people will find a way to make it happen.
As for giving ISPs differentiators... I'm not sure I understand the problem. In the ISP space right now, there plenty of the available and I have my choices.... unfortunately, DSL as a technology is lagging behind some of the others controlled by the monopolies, so I'm no longer using an independent ISP (though generally I've had much better experience working with those types in the past).
But what you're asking is kind of like asking "how do we give differentiators to makers of facial tissue?" There's plenty of brands out there and people buy different ones for different reasons. Let those businesses figure out their model and which customers they want to go after; as long as it's a level playing field, it's fair... that's the best we can do at this level (this level being figuring out what government policy should be).
I know the HomePod isn't exactly this, but here's what I really want... I reasonable surround stereo system that I can just plug my equipment into and really not have to mess with. The problem with existing solutions is that I have to get a receiver with x inputs (that part is fine), but then every time I want to use one device or another I have to switch the receiver to that source. I really want a system where I don't have to worry about a remote normally... If I switch to my DVR, it should "just know" and automatically switch on and play audio. Likewise, if I stop playing anything it should automatically switch off. I've got a Logitch Harmony remote which helps a lot, but it's not perfect and still confusing for other household members and especially guests to understand. I'd also like to not spend more than $300-500 on a sound system.
The other thing that would be really really awesome is if the volume control was based on audible output.... this way a setting of "4" would be the same no matter what source input I had.
I was willing to deal with a single speaker system if it delivered on "full" sound quality while being easy to use and install in most of the other aspects. What I imagined they would have would be an HDMI in and out port that would allow the HomePod to sit between the TV and the rest of the system... Then it'd be relatively guaranteed to always have the correct audio I want playing.
I looked at the Edifier website, but I don't think it's quite what I'm looking for.
If you have any other ideas, do tell! :-)
I agree with your assessment. I was really waiting in anticipation for the HomePod mostly because I think Apple made a good decision about focusing on the sound quality and (relative) affordability. Personally, I'm not all that interested in the "smart" aspect of it. Sadly, as much as I love Apple products, the AirPlay-only option is just a deal-killer for me. I think the HomePod really would have made a huge dent in the market that everyone else was missing... namely a simple and affordable way to get good audio for my home entertainment system... (for most people, that means DVR, Cable, game console, AppleTV/Roku, etc). Sadly it looks like even Apple missed this key part.
Now I have to go spend $500+ on a receiver, speakers, and figure out how to wire it all up. And even then I'm probably not going to get the speakers in the "best" configuration.
The other things people mentioned are certainly a factor. But I think another factor is education. The "computer science" degree is what people normally study to go into a programming profession. But I've found the education typically rather lacking... people coming out of schools may know a couple interesting algorithms, but they don't know anything about software design, architecture, communication systems, or teamwork/planning. In addition, no one really learns how to be a true "author" of software. Most developers I've worked with (even senior ones) have no very little ability (and often times interest) in coming up with proper function/class/variable names, for example. Written code needs to be understood, maintained, and compartmentalized (for re-use and testing). There's process around code development as well (from code reviews to task/project management, to testing)... it'd be good if students were exposed to different ways these can be done, and the pros and cons each. These skills are just as important (if not more so) than understanding the syntax of a language or the details of how a hash table is constructed.
AMP is the reason I switched my phone to DuckDuckGo instead of Google. It loads web pages in ways that I canâ(TM)t interact with and there is no way to opt-out.
No thanks Google!
I'll have to look into PAR3. Thanks!
Multiple copies may be one solution, but it introduces another problem that doesn't have an elegant solution... you need a tool that can verify the integrity of your data (across the multiple copies). How do you choose which one is "correct" when you migrate and copy to a new system? In addition, how are you sure that any given copy is actually complete? What if you want to permanently delete a file from your archive?
I mitigated some of these problems for my photo library by using version control software. But they're not really designed for this purpose. Git runs into memory issues when you have repositories that run up to tens of GB. Subversion works, but you end up with a duplicate copy of all your files in your work tree.
There really isn't a very good archival solution I've found so far that allows you to be sure about the integrity of your data in the long term when talking even at the 100GB level, let alone the multi TB level.
FYI, Apple's languages/tools (like GCD, Swift, and OperationQueues) make it very easy and manageable to take advantage of concurrent programming. (At least compared to other systems I've see )
Wait, does Oculus have the same Michael Abrash that worked on Doctor Dobb's Journal? And author of numerous graphics programming books? That guy's pretty awesome! I remember reading his stuff when I was just in high school. In fact it may have been one of his articles where I *really* started to understand derivatives (way back when I was in high school studying calculus).
Not to mention testing. And we're back to the whole buggy/deficient driver mess of PC's. It's true that smartphones are basically like computers. But the one key difference is that I'm far less tolerant of buggy software/hardware on my phone than on my desktop.
GNOME 1.x was really great. It was fairly configurable while still being relatively easy to use and did what I (as a developer) needed. Current day GNOME looks like it borrows from the worst of Windows (the stuff even the Windows folks don't even like), and only recently adopted a few things that the Mac does (possibly because Windows copied some of it) but in some weird way that lost all of the intent behind the actions. So we end up with something that's simple but still not understandable because it's confusing and weird, and consequently useless to just about everyone. I managed to get by fortunately because they had an alternate window manager that was a bit more traditional.
Don't get me wrong, I still think the Linux community is amazing and love the fact that it all exists. But for GUI, not only have they lost sight of the Unix Philosophy, they also don't really have a good view of who their /actual/ users are.
This is also why the GNOME's insistence on designing for (what I call) "the mythical grandmother" was always flawed.
Same way we get young men interested interested in the cosmetics industry?
Actually, I would contend that *all* infrastructure-based resources will be natural monopolies. As such, I think the way we handled it before was correct.. it was just the way we divided it wasn't quite right... Governments shouldn't run the services/technologies/etc. They should regulate a single local company to manage the it (ie. the government regulated monopoly). In this case, we're talking about the physical cable/fibre/etc into the home. Services on top of that, then can be a free market.
That's a very good point. Bug tracking systems (public and even private) should also have a way to track the reliability of submitters. I've been with the open source community since before "open source" was a phrase, and sadly from what I've seen, the community still seems to lack an understanding of the human side of things at pretty much all levels. And from how GNOME has been shaped through the years, it only seems to be getting worse.
There really needs to be a software engineering major too. Where I went to school, the CS curriculum really didn't cover how to break problems large problems down into logical structures and pieces manageable by small teams, or how write maintainable code, etc. And from talking with others, I gather this is pretty true for most colleges. So don't feel bad.. .it's not just the testers that lack formal education... the developers are often self-taught or learn on the job as well.
I actually think it's fine to discriminate in this case. Women and men *are* different and have different needs, especially when it comes to child birth. However, child care is entirely different, and what you suggest makes sense... there should be "primary care" leave as well that's equal between the two.
On the other hand, I think businesses get into this kind of trouble because they try too hard to classify people's personal time. Just give everyone X number of days off and let them manage their time off. I mean you could argue that maternity/paternity leave is also discriminating against single people. I mean why the heck should someone get more days off just because they're giving birth? Shouldn't I be given just as many days in order to find a girl to impregnate in the first place? Who's to judge which one is more important than the other?
I have a ScanSnap as well, but just use their Mac software. What type of paper are your documents and how many pages do you do at once? I've found for really thin paper or for many pages it helps to simply fan them out a bit. But if you're doing many pages (like over ~20 or so) you might need to feed them in batches... Unfortunately it's a bit of baby-sitting, waiting for it to reach near the end of one batch, then putting the next batch in. But I manage to avoid the multi-page problem most of the time this way.
There was an old saying that C++ will make every project late over budget. I'll be curious to see how this affects the gcc project.
Oh, lol... That article makes sooo much more sense now. Clearly I need more sleep.
I agree. The Retina Macbook Pro for example is entirely sealed. There's simply no reason for anyones fingers to get near the fan under any "normal" operation of the device.
It's not quite what you meant, but the Retina Macbook Pro can be upgraded to 768 MB of flash. That's pretty close to 1TB. Though it is slightly larger than a USB stick. =P
I think programming languages are similar to written language in this case. No two people will really have the same style of writing, but most people can agree whether someone's writing is "good english" or "bad english." Grammar is part of that determination but also comprehension.
I worked at a company when I was in my 20's where most of the engineers there were also in their 20's. However, after hosting a couple interviews, I quickly found that knowledge-based tests were far less useful than personality/attitude based test. And I managed to boil my C language "test" down to 3 questions (regarding volatile, static, and endian -- I work in the embedded space; anyone who's worked with embedded systems are intimately familiar with all 3 of these). Most questions I ask, while they cover technical topics, are largely testing their ability to communicate, reason logically, and define their own work parameters (eg. if I ask you to figure this out, what resources do you think you'll need)... If they pass all that, I also look for (as a bonus) whether they're outside-the-box thinkers, but these are rare to find.
Timed test, extensive knowledge tests, and puzzles... while fun, aren't useful (to me) for determine if I'm going to work well with someone.
My belief is that the problem with Android is the reverse. It really is open... to it's customers. However, the customers of Android are not the end-users, it's the carriers. Carriers have always wanted locked platforms that they can leverage and brand. And so one of the big failings of Android was that they allowed the carriers to close the architecture to the end-user.
One of the iPhone's greatest achievements was locking the carriers out. If you notice... there's very little in the way of carrier branding on the device. This wasn't true with any phone before the iPhone.
What I'm saying is that we make the copper itself the utility as you suggested. Same for every /type/ of scarce resource (spectrum usage, whatever)... copper's the most straight forward.. the others may require some thinking about... but as I said, the goal is to take the lowest-level that's practical.
But if you did that, then the cable companies, phone companies, etc. all essentially become *SP's.... whether it's Media-Service Providers, Realtime Voice Service Providers, or Internet Service Providers.
At that level, people can compete. But it's impossible to really compete fairly if one company owns the scarce resource.
Yes I agree that sharing some of these hardline solutions (DOCSIS, and even DSL as you mentioned) may be difficult today... but I think that's simply because there's no market for it. The engineering effort to allow for it, while not trivial, certainly shouldn't be difficult. If the market for it existed, people will find a way to make it happen.
As for giving ISPs differentiators... I'm not sure I understand the problem. In the ISP space right now, there plenty of the available and I have my choices.... unfortunately, DSL as a technology is lagging behind some of the others controlled by the monopolies, so I'm no longer using an independent ISP (though generally I've had much better experience working with those types in the past).
But what you're asking is kind of like asking "how do we give differentiators to makers of facial tissue?" There's plenty of brands out there and people buy different ones for different reasons. Let those businesses figure out their model and which customers they want to go after; as long as it's a level playing field, it's fair... that's the best we can do at this level (this level being figuring out what government policy should be).