I'm mostly confused that there apparently is such a thing as "good coffee"...
It's like "good beer." Some people just don't like it in general; it takes a really, really good one to be able to enjoy it, and that can depend on something as fickle as "I have a strange taste for $_specific_food."
Consoles (and gaming in general) are an unusual niche. Most software that does real world stuff has to survive across multiple generations of hardware, where the low level details change. The compiler, OS scheduler, etc know better (and certainly will know better in future) than you with regards to what resources are available and how to use them for most of your program's lifetime.
Thank you! That actually makes a lot of sense. "Trusting the scheduler to know better" is actually something I rely on a lot as an example with regard to hypervisors. I don't want to make the mistake of pinning VMs to certain CPUs or cores unless I know for a fact that it's a good idea, and I shouldn't have to! The scheduler should be smart enough to make that decision on its own, and if I can expect that, so should a programmer. Right?:D
In a fairly counter-intuitive way - hardware evolves to run the software faster. This is why we're still running on x86 lookalike machines - because intel designs hardware to run existing software.
It certainly does. The thing that makes me step back and raises the questions I've made is that "software bloat" is often attributed to "eating up" performance advancements in hardware. If proper computer science education's goal is to minimize this effect, what level of knowledge achieves this? Proper code construction? Is it more about knowing what type of loop to use than it is about the amount of memory you allocate or whether you thread properly?
Don't waste too much time on that if I'm just completely off base; as I said, I have no proper CS education, but the concepts behind it are some of the most interesting things I've ever read about. It makes me wish I had gotten into using assembler back in the DOS days, when it mattered more:P
Don't get me wrong - i'm not saying you won't get better performance in the short term. But over the long term, all that work you did will be invalidated next hardware cycle. And if you chose an intelligent algorithm in the first place, chances are the hardware will evolve to run it faster.
Unless you're in a high performance critical niche industry - Spend your time making the lower level details of your code correct, safe and secure instead.
That's the crux of my argument. Performance is basically the assembler-level expression of your code structure's higher-level construction. You do hit on a very important point. No one can learn everything, so it may indeed be a better idea to teach "safe" versus teaching "fast." Regarding the OP's point though, it's probably best to do that from the standpoint of several different coding languages. Start with something that's fully-managed code, and then work your way down to something more "raw," like C?
The thing that gets me about Java is that it runs on top of the JVM. Perhaps the solution to that conundrum is to move the JVM into hardware, which is something that I recall Sun attempting and mostly failing at doing for mainstream x86 hardware. It'd be kind of funny if the ongoing lawsuit was between Oracle and Intel, but I digress.
Yes, and CPU implementation is a further subdivision of computer elements and architecture.
Then the details of register use are an even further subdivision.
I've done work in the field since the 70's. The last time I had to worry about CPU architecture was as a junior in college in 1971 when I was porting Spacewar from a PDP-1 to a PDP-8. Mostly these days it's all about algorithms in high level languages.
Aren't these details important to understand for what might be non-obvious reasons?
To give an example, take a look at gaming consoles. Performance and graphics get better over time because programmers write "to the hardware" with increasing precision as the product ages, and this provides a benefit that's almost completely unseen in modern general purpose computing.
The technique of "expanding the loop" to increase performance is a common tactic taken by programmers, no? I know I've done it with scripts before. Are modern compilers simply so good at optimizing binary code that extending this from a high-level language to the assembler it compiles to is simply not a reasonable thing to expect a programmer to be able to do?
I know I'm showing my ignorance on the subject, but of all the things I've ever researched for my own enrichment, C/C++ types of languages constantly fail to make sense to me... and I'd like to know more about the interplay between them and what actually goes on at the level of the CPU assembler-type code itself, but it seems like even getting partially fluent enough to understand what's going on in a dozen lines of ASM is an impossible dream.:P
Meanwhile, for those of us with root, iFile is freaking fantastic....
I'd really like to see Apple implement an approval process for privileged code. Establish the world's tightest NDA for a private source code auditing program, or require that all privileged code be open source.
Allow people to do what they want with their phones if developers can make the peer-reviewed cut, preserving the quality of the user experience Apple prides themselves on but can only achieve by locking you out of the device you own. What most jailbreakers really want is not root... we just want our experience to be open to the same innovation that computers have facilitated since their inception, and we don't want to have to make the compromises ourselves to get it done. As Apple has made abundantly clear: the compromise is their job.
Sorry if you don't like pointers. But the coddling of CS students with Java courses these days is just laughable.
I don't quite understand it either. Isn't the point of Computer Science to teach people the principles behind the operations of the computers we use every day?
If you're not learning the premise of CPU registers, memory allocation, jumping, returning, and all that happy crap that I honestly wish I understood better, what in the hell is the actual science behind modern computing then? Doesn't it make sense to start with the raw assembler involved in the top three (or so) CPU architectures and then move up from there, learning the foundation that they all compile down to in the end anyway, so that you can see the impact that your compiled code will have as you're writing it?
Primarily I'm just agreeing with your notion that Java is likely an inappropriate medium for conveying the concepts behind the magic that we interact with every day in the millions of CPU cycles that can transpire during a single keystroke; the processes occurring in Windows alone that take privileged, direct hardware access for something like USB communication and keyboard/mouse interaction and lock it right-the-hell down to the point where the operating system can extend these things into User mode without allowing them to compromise the kernel is a titanic feat of engineering... and I've known people with Bachelors' degrees in computer science that seem basically oblivious to the nature of how that even works. It's entirely possible that they didn't care, but I digress.
Granted, my work with interpreted scripting languages causes me to find the concept of pointers and type casting and memory allocation and garbage collection to be inane, silly chores that I shouldn't have to worry about to Get Things Done.... but someone should, and their credentials should reflect that. The fundamental principles underlying modern computer systems and their continuing evolution depend on it.
My God, the luddites have taken over Slashdot tonight.
When I have 10Gb at home, I'll:
* Boot every PC from a remote server. No need even for local swap.
I was doing this with my own desktop until I finally decided to purchase some SATA 3 SSDs. Even drag/drop file copy operations were working great, but they typically would run 60-80 MB/s once local RAM cache filled up. The SSDs in my machine effortlessly push 150-200, and they're Xen-based PV devices from Windows' perspective.
The reason that they're not in my SAN is because I simply don't know how to set up multipath iSCSI, nor do I have support on my switches for 802.3ad. I suppose I could plug my machine directly into my SAN four times... but that's bordering on absurd for a home setup. It would be far simpler to just have Moar Bandwidth on my local links... which I would totally do if it was affordable!
That said, I'm quite curious about your home setup as far as network booting goes (see the sig:P). Any chance you've blogged about it or something?
Every time I see a statement like this, it reminds me we could really use some better single-word descriptors to disambiguate a connection that is
High vs. Low bandwidth
High vs. Low Latency
All possible combinations of the two
Not that we don't understand what you meant of course! I just have a feeling that "fast" or "quick" will be rather ambiguous ways to describe a network connection for a rather long time:P
I tried the same thing and couldn't stand the awful performance---turns out the performance woes are caused by the virtual display adapter. Try Splashtop, and just force your computer to connect a second monitor to your existing video card. You can usually force it with Windows, but a simple resistor in a dvi adapter will work too as a dummy plug.
Even at 2048x1536, I was able to watch movies, play 3D games, and more all as if it was connected locally. It's rather impressive, though it's a shame that Splashtop's Virtual Display product doesn't work this way... the only thing that isn't automated in my approach is the attach/detach, and Splashtop liked to fuck the display positioning, so I'd fix it manually. I ended up ditching the setup because I don't have more than one OEM iPad charger, and I haven't seen a non-OEM one that is wired properly for the iPad, so it'll die if I use anything other than the stock charger, and also because the app doesn't background... which meant I had to unfuck positioning every time I locked the device or got up from my desk to do something else and took it with me....
I probably should have written them about it but I didn't care enough and attached a second monitor. If you use this daily, you might be interested though!
I know you're trying to prove that the AC is a dickhead, but seriously, if you think that the answer to "Why is the computer in my pocket doing X or Y instead of Z" is "because you're a fool for having a computer in your pocket when clearly the only thing that really belongs there is a cordless phone from 1992," you're deluding yourself and insulting the audience of this website. The level of connectivity that a smartphone provides is only the very tip of the iceberg for what the future holds for the entire human race, and you're an even bigger idiot to deny that fact than is the person who buys a smartphone without ever downloading an app or visiting a website on it.
The problem here isn't a lack of due diligence on the part of the consumer; it's a lack of ethics on the part of the manufacturers and service providers, because though they know full well what their real place is in the OEM/ISV/ISP trifecta that makes up modern computing, the public at large hasn't quite yet figured out that extending this paradigm into the pocket isn't a privilege which one ought to pay through the nose to have. And as long as they can keep it that way, they're going to take the homefield advantage to the bank for as long as they can by forever-locking-down hardware before they sell it and charging you $10 for 3 minutes of full-speed bandwidth utilization.
Nor did I. I just pointed out, and rightly so, that a lot of software these days suffers from enormous bloat and lack of optimization.
But if it does the job, and it's fast and useful on modern hardware, who cares?
If you happen to listen to the Security Now! podcast, Steve Gibson usually complains every week or two about Chrome taking up more and more memory---like a whopping 250 MB---to display a single window with an empty tab. To that, I say back: I'm having trouble giving a flying fuck about a quarter gigabyte of RAM when EVERYTHING on my system can't even seem to gobble up HALF of the 16 gigs I have. And that's on Windows. With superfetch.
If the code runs well on a modern system, and it allows programmers to focus on performance by being lazy with memory, what the hell does it matter? This isn't 2005. People figured out that RAM is an important statistic in the computer they want to purchase, and OEMs started realizing that if they DOUBLE the memory in a computer for a pathetically small amount of money, it turns out that their products won't be titanic piles of shit.
Programmers are starting to realize that they can offload their sloppiness to memory management and focus on CPU cycles. If Chrome is the shining example of why that's a good thing, then personally, I think we're doing something right!
Perfect code isn't impossible, it's just a ton of time, work, and money. There's nothing wrong with shuffling the budget to take advantage of the realities of today.
Wouldn't the most sensible approach be to carve out the physical area the spectrum occupies into different three-dimensional "slices" then?
Consider a more focused triangulation of the individual handsets, to the point where you can get within a meter or so of accuracy. Use low bandwidth, non-hogging links to determine a phone's location, and then migrate the data channel to a number of dedicated antennas that are dynamically aimed at a handset. Boost the power and constrain the FoV to what's appropriate for a device at a given distance, and hand off between focusable antennas on the same tower as the target moves.
Literally just shoot people with high-bandwidth spectrum they can have all to themselves.
So there obviously is a proper way to do this, but how does it work?
Shouldn't the service sit idle, waiting for an announcement from the USB stack about a device plug-in event, check if it's an iSomething, and then signal over to the user mode application that iTunes should launch? Isn't this what Filter drivers are for? Couldn't they stick that filter between the iSomething and the USB root hub?
I do not work for Microsoft and as an owner of an iPod, which requires iTunes to transfer music from my computer onto the device, I can tell you that the Windows version of iTunes is probably the shittiest piece of software ever written.
I actually thought that iTunes was just absolutely awful because it was iTunes. And then I got a Mac.
Turns out that iTunes (while it's still a feature-overpacked piece of trash) is really only this terrible on Windows. On OS X, it just sucks because it's crowded and confusing, but it does run pretty well.
If he were to kill -9 himself, would that deprive him of the opportunity to write a note, or would the method simply be so violent as to destroy the note itself along with the GP?
Well, you can't just have people willy-nilly adding files to the filesystem of the device they've purchased. We should be considerate and politely ask the device if it'll alter its filesystem on our behalf, and when it tells us to go blow donkeys for wanting r/w permission to/, we sit back and acknowledge Apple's wisdom and the groundbreaking intuition of their software!
It's kinda sad that the extremely sophisticated design of that communication isn't really there to facilitate advanced functions... it just facilitates advanced lockdown. You don't tell the device what to do; you tell it what you'd like, and then ask if that's okay. Given that, I applaud The Evad3rs for making iOS devices bend to their owners' will.
Perhaps it's necessary to write it out to the file system before you can transfer it to the GPU RAM, likely due to that tiny heap issue the guys above mentioned? So you'd need to write portions of it to RAM and flush it out to the GPU, tiny chunks at a time perhaps?
Normally works great, but... looks like someone screwed up, perhaps? Maybe a debug flag that renames the file extension instead of deleting the image got left on... We could speculate for hours, but if it wasn't an accident... that's pretty pathetic. Given how small the images are, it'd be trivial to "dd if=/dev/urandom of=/media/dongpic.jpg.nomedia count=filesize" or whatever, for every single one that comes in!
I've experienced what he's talking about, though I can't remember if it was with HTTPS Everywhere for Chrome or Firefox. I think that what happens is that the HTML (and maybe the JS) for a particular page come down over the HTTPS link, but for some reason, the CSS and/or various other pieces don't, and get pulled down over HTTP... or perhaps they fail entirely. Like they come from a CDN or something that doesn't do HTTPS but that shares a root DNS name that HTTPS Everywhere is programmed to re-write.
Anyway, the pages look like a website designed by a badger in 1996: Line after line of links at the top of the page corresponding to what would have been a site navigation bar. Stuff like that.
The funny part is that sometimes the content you were looking for never even shows up. You just get the outline of the page and the JS that was supposed to pull it all down never got to run:P
I'm mostly confused that there apparently is such a thing as "good coffee"...
It's like "good beer." Some people just don't like it in general; it takes a really, really good one to be able to enjoy it, and that can depend on something as fickle as "I have a strange taste for $_specific_food."
I drink Eight O'Clock because it tastes great and holy f*** good coffee is an expensive habit.
Consoles (and gaming in general) are an unusual niche. Most software that does real world stuff has to survive across multiple generations of hardware, where the low level details change. The compiler, OS scheduler, etc know better (and certainly will know better in future) than you with regards to what resources are available and how to use them for most of your program's lifetime.
Thank you! That actually makes a lot of sense. "Trusting the scheduler to know better" is actually something I rely on a lot as an example with regard to hypervisors. I don't want to make the mistake of pinning VMs to certain CPUs or cores unless I know for a fact that it's a good idea, and I shouldn't have to! The scheduler should be smart enough to make that decision on its own, and if I can expect that, so should a programmer. Right? :D
In a fairly counter-intuitive way - hardware evolves to run the software faster. This is why we're still running on x86 lookalike machines - because intel designs hardware to run existing software.
It certainly does. The thing that makes me step back and raises the questions I've made is that "software bloat" is often attributed to "eating up" performance advancements in hardware. If proper computer science education's goal is to minimize this effect, what level of knowledge achieves this? Proper code construction? Is it more about knowing what type of loop to use than it is about the amount of memory you allocate or whether you thread properly?
:P
Don't waste too much time on that if I'm just completely off base; as I said, I have no proper CS education, but the concepts behind it are some of the most interesting things I've ever read about. It makes me wish I had gotten into using assembler back in the DOS days, when it mattered more
Don't get me wrong - i'm not saying you won't get better performance in the short term. But over the long term, all that work you did will be invalidated next hardware cycle. And if you chose an intelligent algorithm in the first place, chances are the hardware will evolve to run it faster.
Unless you're in a high performance critical niche industry - Spend your time making the lower level details of your code correct, safe and secure instead.
That's the crux of my argument. Performance is basically the assembler-level expression of your code structure's higher-level construction. You do hit on a very important point. No one can learn everything, so it may indeed be a better idea to teach "safe" versus teaching "fast." Regarding the OP's point though, it's probably best to do that from the standpoint of several different coding languages. Start with something that's fully-managed code, and then work your way down to something more "raw," like C?
The thing that gets me about Java is that it runs on top of the JVM. Perhaps the solution to that conundrum is to move the JVM into hardware, which is something that I recall Sun attempting and mostly failing at doing for mainstream x86 hardware. It'd be kind of funny if the ongoing lawsuit was between Oracle and Intel, but I digress.
Thanks for your input, sir!
Yes, and CPU implementation is a further subdivision of computer elements and architecture.
Then the details of register use are an even further subdivision.
I've done work in the field since the 70's. The last time I had to worry about CPU architecture was as a junior in college in 1971 when I was porting Spacewar from a PDP-1 to a PDP-8. Mostly these days it's all about algorithms in high level languages.
Aren't these details important to understand for what might be non-obvious reasons?
:P
To give an example, take a look at gaming consoles. Performance and graphics get better over time because programmers write "to the hardware" with increasing precision as the product ages, and this provides a benefit that's almost completely unseen in modern general purpose computing.
The technique of "expanding the loop" to increase performance is a common tactic taken by programmers, no? I know I've done it with scripts before. Are modern compilers simply so good at optimizing binary code that extending this from a high-level language to the assembler it compiles to is simply not a reasonable thing to expect a programmer to be able to do?
I know I'm showing my ignorance on the subject, but of all the things I've ever researched for my own enrichment, C/C++ types of languages constantly fail to make sense to me... and I'd like to know more about the interplay between them and what actually goes on at the level of the CPU assembler-type code itself, but it seems like even getting partially fluent enough to understand what's going on in a dozen lines of ASM is an impossible dream.
While that isn't the most precise analog I've ever read, when combined with the sibling posts, it makes quite a bit of sense!
:)
Thanks
Meanwhile, for those of us with root, iFile is freaking fantastic....
I'd really like to see Apple implement an approval process for privileged code. Establish the world's tightest NDA for a private source code auditing program, or require that all privileged code be open source.
Allow people to do what they want with their phones if developers can make the peer-reviewed cut, preserving the quality of the user experience Apple prides themselves on but can only achieve by locking you out of the device you own. What most jailbreakers really want is not root... we just want our experience to be open to the same innovation that computers have facilitated since their inception, and we don't want to have to make the compromises ourselves to get it done. As Apple has made abundantly clear: the compromise is their job.
Sorry if you don't like pointers. But the coddling of CS students with Java courses these days is just laughable.
I don't quite understand it either. Isn't the point of Computer Science to teach people the principles behind the operations of the computers we use every day?
If you're not learning the premise of CPU registers, memory allocation, jumping, returning, and all that happy crap that I honestly wish I understood better, what in the hell is the actual science behind modern computing then? Doesn't it make sense to start with the raw assembler involved in the top three (or so) CPU architectures and then move up from there, learning the foundation that they all compile down to in the end anyway, so that you can see the impact that your compiled code will have as you're writing it?
Primarily I'm just agreeing with your notion that Java is likely an inappropriate medium for conveying the concepts behind the magic that we interact with every day in the millions of CPU cycles that can transpire during a single keystroke; the processes occurring in Windows alone that take privileged, direct hardware access for something like USB communication and keyboard/mouse interaction and lock it right-the-hell down to the point where the operating system can extend these things into User mode without allowing them to compromise the kernel is a titanic feat of engineering... and I've known people with Bachelors' degrees in computer science that seem basically oblivious to the nature of how that even works. It's entirely possible that they didn't care, but I digress.
Granted, my work with interpreted scripting languages causes me to find the concept of pointers and type casting and memory allocation and garbage collection to be inane, silly chores that I shouldn't have to worry about to Get Things Done.... but someone should, and their credentials should reflect that. The fundamental principles underlying modern computer systems and their continuing evolution depend on it.
My God, the luddites have taken over Slashdot tonight.
When I have 10Gb at home, I'll:
* Boot every PC from a remote server. No need even for local swap.
I was doing this with my own desktop until I finally decided to purchase some SATA 3 SSDs. Even drag/drop file copy operations were working great, but they typically would run 60-80 MB/s once local RAM cache filled up. The SSDs in my machine effortlessly push 150-200, and they're Xen-based PV devices from Windows' perspective.
:P). Any chance you've blogged about it or something?
The reason that they're not in my SAN is because I simply don't know how to set up multipath iSCSI, nor do I have support on my switches for 802.3ad. I suppose I could plug my machine directly into my SAN four times... but that's bordering on absurd for a home setup. It would be far simpler to just have Moar Bandwidth on my local links... which I would totally do if it was affordable!
That said, I'm quite curious about your home setup as far as network booting goes (see the sig
Usually, but this was the Abrams 4201 asteroid.
Expensive, but rock solid and quick (vs fast).
Every time I see a statement like this, it reminds me we could really use some better single-word descriptors to disambiguate a connection that is
Not that we don't understand what you meant of course! I just have a feeling that "fast" or "quick" will be rather ambiguous ways to describe a network connection for a rather long time :P
I tried the same thing and couldn't stand the awful performance---turns out the performance woes are caused by the virtual display adapter. Try Splashtop, and just force your computer to connect a second monitor to your existing video card. You can usually force it with Windows, but a simple resistor in a dvi adapter will work too as a dummy plug.
Even at 2048x1536, I was able to watch movies, play 3D games, and more all as if it was connected locally. It's rather impressive, though it's a shame that Splashtop's Virtual Display product doesn't work this way... the only thing that isn't automated in my approach is the attach/detach, and Splashtop liked to fuck the display positioning, so I'd fix it manually. I ended up ditching the setup because I don't have more than one OEM iPad charger, and I haven't seen a non-OEM one that is wired properly for the iPad, so it'll die if I use anything other than the stock charger, and also because the app doesn't background... which meant I had to unfuck positioning every time I locked the device or got up from my desk to do something else and took it with me....
I probably should have written them about it but I didn't care enough and attached a second monitor. If you use this daily, you might be interested though!
Which still undoes moderation? God damn it that is fucking stupid.
I know you're trying to prove that the AC is a dickhead, but seriously, if you think that the answer to "Why is the computer in my pocket doing X or Y instead of Z" is "because you're a fool for having a computer in your pocket when clearly the only thing that really belongs there is a cordless phone from 1992," you're deluding yourself and insulting the audience of this website. The level of connectivity that a smartphone provides is only the very tip of the iceberg for what the future holds for the entire human race, and you're an even bigger idiot to deny that fact than is the person who buys a smartphone without ever downloading an app or visiting a website on it.
The problem here isn't a lack of due diligence on the part of the consumer; it's a lack of ethics on the part of the manufacturers and service providers, because though they know full well what their real place is in the OEM/ISV/ISP trifecta that makes up modern computing, the public at large hasn't quite yet figured out that extending this paradigm into the pocket isn't a privilege which one ought to pay through the nose to have. And as long as they can keep it that way, they're going to take the homefield advantage to the bank for as long as they can by forever-locking-down hardware before they sell it and charging you $10 for 3 minutes of full-speed bandwidth utilization.
I'm so glad I get to use this legacy software!
Said nobody ever.
Nor did I. I just pointed out, and rightly so, that a lot of software these days suffers from enormous bloat and lack of optimization.
But if it does the job, and it's fast and useful on modern hardware, who cares?
If you happen to listen to the Security Now! podcast, Steve Gibson usually complains every week or two about Chrome taking up more and more memory---like a whopping 250 MB---to display a single window with an empty tab. To that, I say back: I'm having trouble giving a flying fuck about a quarter gigabyte of RAM when EVERYTHING on my system can't even seem to gobble up HALF of the 16 gigs I have. And that's on Windows. With superfetch.
If the code runs well on a modern system, and it allows programmers to focus on performance by being lazy with memory, what the hell does it matter? This isn't 2005. People figured out that RAM is an important statistic in the computer they want to purchase, and OEMs started realizing that if they DOUBLE the memory in a computer for a pathetically small amount of money, it turns out that their products won't be titanic piles of shit.
Programmers are starting to realize that they can offload their sloppiness to memory management and focus on CPU cycles. If Chrome is the shining example of why that's a good thing, then personally, I think we're doing something right!
Perfect code isn't impossible, it's just a ton of time, work, and money. There's nothing wrong with shuffling the budget to take advantage of the realities of today.
Wouldn't the most sensible approach be to carve out the physical area the spectrum occupies into different three-dimensional "slices" then?
Consider a more focused triangulation of the individual handsets, to the point where you can get within a meter or so of accuracy. Use low bandwidth, non-hogging links to determine a phone's location, and then migrate the data channel to a number of dedicated antennas that are dynamically aimed at a handset. Boost the power and constrain the FoV to what's appropriate for a device at a given distance, and hand off between focusable antennas on the same tower as the target moves.
Literally just shoot people with high-bandwidth spectrum they can have all to themselves.
It was one of the first programs to install a tray icon which runs all the time just in case you might open a .mov file.
Those goofy hipsters!
They started the trend, let's hope they kill it, too.
So there obviously is a proper way to do this, but how does it work?
Shouldn't the service sit idle, waiting for an announcement from the USB stack about a device plug-in event, check if it's an iSomething, and then signal over to the user mode application that iTunes should launch? Isn't this what Filter drivers are for? Couldn't they stick that filter between the iSomething and the USB root hub?
I do not work for Microsoft and as an owner of an iPod, which requires iTunes to transfer music from my computer onto the device, I can tell you that the Windows version of iTunes is probably the shittiest piece of software ever written.
I actually thought that iTunes was just absolutely awful because it was iTunes. And then I got a Mac.
Turns out that iTunes (while it's still a feature-overpacked piece of trash) is really only this terrible on Windows. On OS X, it just sucks because it's crowded and confusing, but it does run pretty well.
If he were to kill -9 himself, would that deprive him of the opportunity to write a note, or would the method simply be so violent as to destroy the note itself along with the GP?
Well, you can't just have people willy-nilly adding files to the filesystem of the device they've purchased. We should be considerate and politely ask the device if it'll alter its filesystem on our behalf, and when it tells us to go blow donkeys for wanting r/w permission to /, we sit back and acknowledge Apple's wisdom and the groundbreaking intuition of their software!
It's kinda sad that the extremely sophisticated design of that communication isn't really there to facilitate advanced functions... it just facilitates advanced lockdown. You don't tell the device what to do; you tell it what you'd like, and then ask if that's okay. Given that, I applaud The Evad3rs for making iOS devices bend to their owners' will.
Perhaps it's necessary to write it out to the file system before you can transfer it to the GPU RAM, likely due to that tiny heap issue the guys above mentioned? So you'd need to write portions of it to RAM and flush it out to the GPU, tiny chunks at a time perhaps?
Normally works great, but... looks like someone screwed up, perhaps? Maybe a debug flag that renames the file extension instead of deleting the image got left on... We could speculate for hours, but if it wasn't an accident... that's pretty pathetic. Given how small the images are, it'd be trivial to "dd if=/dev/urandom of=/media/dongpic.jpg.nomedia count=filesize" or whatever, for every single one that comes in!
fine... open your wallet... takers are SOOOO annoying.
I fucking wish I could pay as little to watch a TV show or movie as a comparable set of ads would return in revenue for being in front of my eyeballs.
Instead, some dickhead thinks I should pay ~5-10 cents a minute to watch one episode of his TV show. Naturally, 1080p costs twice as much too.
Get two of them and wire them in series: WAN -> LAN -> WAN -> LAN. That'll double the capacity of your tube processing power, and you're good to go!
I've experienced what he's talking about, though I can't remember if it was with HTTPS Everywhere for Chrome or Firefox. I think that what happens is that the HTML (and maybe the JS) for a particular page come down over the HTTPS link, but for some reason, the CSS and/or various other pieces don't, and get pulled down over HTTP... or perhaps they fail entirely. Like they come from a CDN or something that doesn't do HTTPS but that shares a root DNS name that HTTPS Everywhere is programmed to re-write.
:P
Anyway, the pages look like a website designed by a badger in 1996: Line after line of links at the top of the page corresponding to what would have been a site navigation bar. Stuff like that.
The funny part is that sometimes the content you were looking for never even shows up. You just get the outline of the page and the JS that was supposed to pull it all down never got to run
To be fair, it's only insecure if they're lying about it.
....not that I'd care to put that much trust in my Browser vendor... Then again, I'm using Chrome. Hmmph.