and am willing to part with money in order to help the school district handle more students, keep par with inflation
You know you didn't directly say it, but i've heard people say "we need to raise taxes to keep up with inflation". That is complete bunk, all the major tax structures are "inflation" tied. Not necessarily to the official inflation numbers, but indirectly. Sales taxes are a percentage of the product "value" that means when the price of an item goes up due to inflation, the taxes go up. Same with "property" taxes, and indirectly income taxes too. Heck all three are also tied to increased population growth. More people, means more houses/apartments to tax. So basically the only real problem happen when people stop buying stuff, get laid off, or property values decrease.
But that's why we base our budgets on slightly pessimistic estimates, rather than best case ones and save anything remaining in the good years, for the years that might be a little worse than our estimates. Furthermore we always set the taxes/costs equal to the actual long term costs, so we don't run into cases were we cant afford to replace something because we have only been paying the maintenance costs on it, while ignoring the fact that the item wears out... right???!!!!
One of my father's lecturers described lectures as the process by which information is transferred between the blackboard and the students' notes without ever passing through a brain.
Thats a prime example of how broken the system is. With modern technology there isn't any excuse for not recording the lecture and providing it to students for 30 days. The state of public education is that we can afford to put metal detectors and cameras all over the place to record bad behavior, but we can't afford microphones or cameras in the classroom to provide a record of the lecture for the student.
I can personally attest to how useful just having a microcassette recorder was for me. I was never a good note taker (bad handwritting didn't help). I pretty much just listened to the teacher, and read the book. This all worked fine until I hit an advanced biology class in HS. It was major information overload and I couldn't handle it. Thats when I got the recorder, and started recording the teacher. It worked wonders, I would go home and listen to the lectures, pause them for the important parts (work an excercise, whatever), instant improvement in my grades. I only really used it for a half dozen other classes, all the way through HS and college. In those classes though it was _REALLY_ important.
Part of the reason I only used it when I really needed it was that people would give me strange looks when I pulled it out. In HS I even had teachers tell me not to use it because it was against school policy to have one (radio's, etc were banned from school). It was obviously not a device for listening to music, so it always seemed to me that the teachers may have been using the official rules to cover for not liking to be recorded. After all, it was my guidance counselor that initially suggested it.
Deleting requires what is effectively a heap merge of the free list against the newly freed blocks. The problem is the file-system code which is trying to actually do the merge, as part of the delete, rather than doing something simple like marking the file deleted, moving its list of blocks to the tail of the free list, and marking them as unmerged. Then later, when there is free IO/CPU time doing the merge. If a request comes in that requires the blocks you go ahead and use them unmerged, then later you consolidate them as part of a defragment/GC type operation. In a well written fully journaled system, this actually sort of fits the architecture because you have a process running behind that is committing the journal.
All this is made more complex by the lack of a well defined prioritized IO fencing system that can be used by the filesystems to have some control over IO scheduling.
Its stupid, but reading a lot of the kernel code it seems to me that its been written by people who don't seem comfortable in fully async delayed operational systems. Some of it may also be due to the evolved nature of the kernel, since SMP, and threading were basically bolted on after the initial code was reaching critical mass. This is also reflecting in how journaling was bolted on to ext2.
The complexity people seem to delight in putting into things always amazes me.
I'm with you there, but having been involved in wedging (is there a better description?) a real-time management and monitoring app into a web application, I'm here to tell you that shit is necessary. We didn't use JSP, instead PHP, so you can replace the JSP specific technologies with the PHP ones. The end result is the same, it was a huge fsking stack of mismashed technologies. In the beginning it was simple, but pretty soon we needed prettier graphics, better ways to allow the user to continue interacting with the web pages while we were running some complex operation, etc. In the end for web development it ends up being necessarily to have a big collection of languages/libraries/technologies because non of that crap really fits together.
Basically, at a minimum you need the server side processing, a data storage engine, a marshaling engine to get the data to the web client. A client side display interface (HTML), something to unmarshall the data, UI interaction and styling. Its pretty disgusting. As someone who does a lot of C++ programming, I have great respect for "real" web developers. The ones that flip between SQL/PHP/Javascript/HTML/CSS/etc, a dozen different helper libraries/frameworks and a good graphics editor (cause frankly graphic artist never give you shit that can be directly used).
The problem isn't the web developers its the fsking web, which is a giant goddam mess of evolved technologies that don't fit together, and sure as hell weren't designed for creating rich web applications.
Every time I hear about some big or realtime.net application getting kicked out. I wonder if its was the customer Patric Dussud is talking about when he describes a very large system that gets paused for an extended period of time while the garbage collector runs (http://channel9.msdn.com/Shows/Going+Deep/Patrick-Dussud-Garbage-Collection-Past-Present-and-Future). Long enough that the cluster heartbeat decides the node is down and shoots it.
For corporations, we need to have wealth transfer taxes instead of income taxes. Dividends are taxed, shifting "fees" and "payments" to foreign (offshore) corporations are taxed, payments for imported goods are taxed etc. Anytime money is transferred there is a "tax" upon that transfer (corporations).
Fantastic, idea, except it will _NEVER_ happen. Can you imagine what will happen to the banking industry (still roughly 25% GDP) if they were taxed when they moved money around? They might actually have to behave like bankers, which would totally kill their profits
This article makes it sound like having a 3T hard drive doesn't work with anything other than the latest and greatest HW. This is mostly BS, sure there are a number of cases where it doesn't work, or you can't boot off a partition at the end of the device. On the other-hand, having used various RAID devices >2T, some of which were transparent SATA devices (aka 2HD's striped, exported as a single SATA device) for years. I haven't had a major problem since the 2003/4 with them. Back then many of the linux filesystem (ext2/reiser/etc) had performance or data integrity issues with disks that large. Back then switching to XFS or similar was usually the solution. With windows, I can't remember having a problem in a LONG time.
Basically, if you don't plan to boot of the drive, its probably going to work just fine in any machine made in the last 5-7 years. Booting is another issue, but there are workarounds. Same as always, I remember having to have boot managers install in my boot sector to boot off a 512meg disk in the early '90s. Same game now, only there are a number of alternatives, including bootstrapping from USB flash.
Let me put it this way: the people who bash RPN are mostly people who have not really used it. If a person actually takes the time to learn RPN and become proficient with it, they never seem to want to go back. I would LOVE to hear from somebody who is good at RPN, but still prefers algebraic entry.
I don't know how to measure RPN proficiency, but I assume passing a senior year engineering curriculum using an RPN calculator qualifies me to speak about this. When my TI-85 broke during the summer of my senior year in college, I made the jump to the HP-48GX which can be used both as an infix or postfix calculator, except that the its fundamentally a postfix calculator and there are a lot of things that only really work as postfix.
What I basically, discovered was that postfix requires you to think about what you are doing at a lower level. The requirement that the operator translate an equation on the fly to postfix, results in a situation where the calculator is being used more like a 4 function calculator with lots of intermediate results being written down/stored (cause its easier than doing a full infix/postfix conversion in your head). Infix calculators like the 85 just allowed the whole equation to be typed in and then manipulated without any real thought. I describe it this way, because I know quite a number of engineers that passed their PE's with basic 6 function calculators because the mismatch of calculator requirements across different exams just left them thinking it was better to do everything by hand (PE doesn't allow graphing either).
Frankly, my entire time in college I can only think of a couple cases where the graphing functionality was required to answer a question and I was allowed to have a graphing calculator. That said having a good linear equation solver in my calculator was invaluable. Having a calculator full of constants was nice too, and for statistics class I wondered if I was cheating using my 85 (there weren't any calculator restrictions) as it basically did all the work except choosing which function to use.
In the end (after I graduated) I dumped it and picked up a used TI-85. Why? Well, a large part of it was the calculators itself rather than the RPN. There were a number of built in functions on the 85 that I found extremely useful, that weren't nearly as powerful on the 48, combined with the fact that I found the 85 to have a far more intuitive interface. The one place where the 48 was significantly better than the 85 was the built in programming language. Of course there was always assembly on the 85 for any heavy lifting.
The second 85 has mostly collected dust. At work the few times I need a calculator, I can either use windows calculator (which is a pretty decent calculator and gets used for probably 80% of what I need). For anything else I have excel, or matlab (or pick another flavor like maple or GNU Octave).
Sure, speed is easy. But have you seen it done on a serial production automobile?
And here in lies the probable rub, designing a high power electric motor that works over a wide rotational range, and lasts for any length of time (think 100k miles). Probably isn't easy. A company like tesla can probably use exotic materials and manufacturing tech that GM can't justify.
Oh Christ, what a load of idealistic bullshit. That may be the official party line, but when has it really has a profound effect in this country? What percentage of independent candidates have gotten elected over the last 150 years?
At this point in history, just about the only way for a single person in the US to have any real effect on the elections is to be rich and pull a Koch brothers (http://noliesradio.org/archives/21658) or similar and be willing to wait decades. Even assuming you manage to start a "big" movement like the tea party, your going to be lucky to influence the election by more than a few points. When applied to one of the major parties it might be sufficient to swing a couple of close elections your way. In truth the political parties in this country are so well entrenched that there are only a few districts and states that are actually up for grabs in any given election. I live in a gerrymandered district where the republican, an absolute lowlife who votes 100% with the party, and doesn't even manage to bring any bacon home gets a 10-20% lead over well funded opponents without doing a damn thing. Never mind any 3rd party candidates who are lucky to pull 1%.
Plus, if you do manage to get someone who doesn't have their head of their ass elected, basically they are a black sheep in Washington until they prove themselves by becoming just like the rest of the assholes.
I hate to tell you, but voting isn't going to solve your problems, you might win some insignificant victories here and there, but the ball is rolling, and its got a 100+ year trajectory and that trajectory isn't going to change unless the social system breaks down. There are just to many people who work their day job, go home eat their bread and watch their circus, and are happy in their ignorance for it to change. People who fall out of that norm aren't going to be able to change it until it becomes normal for the average person to get a knock at their door from the FBI, or know a fair number of people who have "disappeared". Even then, when you look at the history of what we would consider "oppressed" societies, it takes a _LOT_ before the people are willing to rise up and do something about it, even if that action is as simple as voting for the challenger.
"We may congratulate ourselves that this cruel war is nearing its end. It has cost a vast amount of treasure and blood. . . . It has indeed been a trying hour for the Republic; butI see in the near future a crisis approaching that unnerves me and causes me to tremble for the safety of my country. As a result of the war, corporations have been enthroned and an era of corruption in high places will follow, and the money power of the country will endeavor to prolong its reign by working upon the prejudices of the people until all wealth is aggregated in a few hands and the Republic is destroyed. I feel at this moment more anxiety for the safety of my country than ever before, even in the midst of war. God grant that my suspicions may prove groundless."
It doesn't cost much if any more to manufacture a Blu-Ray than a DVD.
Well, maybe not for large runs, but apparently the AACS yearly license fee's can exceed the cost of the disk duplication for small runs. Originally this was one of the HD-DVD advantages (used existing DVD replication lines, with minor upgrades, rather than replacing the duplicators). Apparently the cost difference vs DVD is still fairly significant for DL BR's (>$1) (someone has to amortize the cost of buying the duplicators). This may not seem like a lot if the movie is selling for ~$20, but it makes a diffrence if your selling in the walmart bargin bin for $4.
Still, the studios always use the lure of new technology to raise prices. They did the same thing with DVD vs VHS, and CD vs tape. Initially they were just "passing on additional costs", but the price hikes stuck long after the new technology became mainstream.
There were some other details about how it was a "memory board" that caused the problem an how the fail-over system didn't work properly. So on paper no one can be blamed.
To me this now seems SOP in the computer industry. Consolidation is king without regard for the idea that consolidation tends to form giant single points of failure. Furthermore, backups and redundant systems are rarely tested. Even when properly tested, fail-over is pure luck as the actual failure case may not be as clear cut as the fail-over system is designed to handle. From my experience i'm betting that over half the time when a real failure occurs it propagates into the fail-over (resulting in double failure), isn't detected properly, or one of a half dozen other similar problems and the system comes crashing down. With all this "consolidation" instead of a single system failing for a week (bad enough) they loose services everywhere (totally unacceptable).
First, I don't think the problem is necessary the image sensor. That is because there is sufficient noise in every digital sensor I've ever used (I have a couple fairly high end Canons) that any "banding" is broken up by noise. Which is just a nice analog way to dither adjacent regions.
Second, i'm betting the majority of the problem, is the overuse of image processing/compression, which is removing the noise. I see it all the time on blu-rays, or cheap ads in crummy magazines*. So instead of a rough boundary the eye cannot see, instead its well defined. MPEG/JPEG naturally does high frequency filtering, so just don't do it.
Finally, while I think doing everything in 10 bits (at a minimum the image processing) is a good idea. A lot of image problems are actually fundamentally in our vision and not the inherent display. Mach banding, moire patterns, etc are problems in our vision caused by image regularity that need to be worked around, rather than fixed.
*the same magazines with massively pixelated ads. I imagine this is because it looked fine in preview mode, but the printer has 5x the resolution of the editors monitor, and there isn't any requirements on image DPI. Or there is explicit avoidance of big hard to email around images.
I totally agree, as someone who used lilo as the "linux bootloader" (not installed in the MBR) and used the active partition bit to select OS's I rarely had issues. Even when installing windows etc. Getting linux to boot after a windows install is as simple as resetting the active flag. Grub on the other-hand has always been a PITA when configured this way, and recovering it, via a DVD boot has wasted countless hours with grub-install convincing it to rewrite itself correctly. Frankly, the only thing that Grub gives me, is the ability to install a new kernel without having to type "lilo" on the command prompt to recompute the chain information. While grub may be "easier" it doesn't seem nearly as robust.
Nice, I missed that one. I've had a couple run-ins with Drepper myself. Last time, I had a bug fix for glibc I went through one of the distributions maintainers to get it dropped.
It got rejected because only "broken apps" would need the fix. Except, that in my case the "broken" application was impossible to fix as it required a very large vendor to basically rewrite a big chunk of a large multi-platform application and change a public API. That application strangely enough didn't have a problem on any one of a half dozen other platforms.
So, for two lines of code that increased the robustness of glibc, I considered trying to get the very large vendor to crawl up the RH management chain. In the end I didn't think it would do any wonders for anyone involved, so instead we install a custom glibc provided by our distribution. I'm sure there are other applications out there that hit the same bug, but because its fairly low frequency and basically impossible to reproduce its rarely pointed out.
Frankly, Drepper is high on a lot of peoples shit list.
Ok, so i'm sure a lot of students learn a lot, but after reading how this contest is run it seems like total BS.
First, with a power budget that small, building a cluster isn't even worth it. A large SMP machine will dominate on any bandwidth limited benchmark. A machine with GPU's is going to dominate any compute bound application. An 8 socket machine (aka DL980G7) packed out with low power 6-8 core processors is going to provide 96-128 threads. Load it up with SSD's, and Tesla's and your probably going to have to take the case off and start pulling blowers and such to keep it under 3kw (it comes with 4.8-9.6Kw of power supply). The SSD's will lower the power consumption over the spinning drives, but the Tesla's are going to eat it right up. Your going to save a shitload of power over a system packed with infiniband/etc interfaces and switches.
Secondly, the off the shelf limitations seem to be totally retarded as the teams are basically assigned vendors/hardware. That is probably to avoid the thousands of smaller vendors that actually provide "unique" machines that have power/performance numbers that are often an order of magnitude better than the dell/hp/etc machines.
Finally, At 3kw the whole thing could probably be nearly passively cooled, with just a little hardware engineering. Ripping out all the unnecessary crap, and powering down everything that isn't active probably would allow a machine with a total system draw much greater than 3kw to stay under 3kw with some active power management. This kind of stuff is built into most of the recent blade servers and such. The blade controller throttles the blades to keep the total system draw below what can be provided by the power supplies (aka the blades could draw 10kw, but there may only be 6kw of power, everything is fine as long as the blades operate normally and only draw 4kw, but when some unusual activity takes place the CPU's/etc are powered down). Again the problem is that the big vendors, don't give out this information, so your left at their mercy.
Lastly, again, making a "supercomputer" has gotten within the reach of real people lately. The Asus P6T6 WS has 6 PCIe16x G2 slots. A half dozen of these motherboards, with infiniband adapters, and GPU's could well put you in the top 20 of the top 500 supercomputer (due to the use of linpack) list for less than a full size SUV.
They don't require hacking, it's optional. Unless you count sshing into a Ubuntu box to configure it as hacking.
If you look at the bug lists and things people are complaining about you will see a far different picture. There are regular issues with doing simple things like booting from SD, much less more complex things. Sure, you might have been able to take one of the prebuilt distributions for the plug and replace the default OS, but it doesn't take long to hit real problems. As I stated in my original posting i'm running a 5 bay port expander. Getting that thing working required patching the marvell sata drivers because their drivers are incorrectly clamping the port count on the sata port expander. Then the standard linux tools for spinning down inactive hard drives in the array didn't work (the marvell driver again), requiring more hacking. For me, just about everything I tried required some custom patch, probably 50% of the software running on my network server I ended up compiling/patching myself.
If you search the forums you will see a wide range of problems people are having with the JTAG ports and openOCD. I could list a dozen other major issues I had to fix with assorted versions of the devices (the openRD is the worst).
It is much much much more powerful then the 8bit AVR butterfly.
Maybe, I wasn't clear by "low level" I meant any kind of low level hardware interfacing. Sure the ARM's kick the crap out of the AVR, but these plug computers have a dearth of actual accessible IO pins. If you want to wire up something to an A/D or D/A, or bit bang a couple of parallel pins its hard to beat those little $20 butterflys and Arduinos. The beagleboard is a nice board (and is an excellent choice for some stuff), but it falls in the significantly more expensive category. I find that a wireless or USB interface attached to one of the smaller devices and a nettop or small PC to often be a far better proposition. The butterfly basically acts as a smart peripheral for the larger platform. Plus, those smaller devices can run for many months on a small battery, which allows them to be put into all kinds of places where feeding power isn't convenient. The sleep modes (another thing poorly documented on the kirkwoods) on the AVR basically allow them to sleep with basically 0 power draw, waking up on some interval or external event just long enough to process it and go back to sleep (think remote sensing). The list goes on..
As I stated in my original posting, the plug computers, are hard to justify when compared with a number of less expensive nearly as functional (if not more so) wireless routers. I might expand that to include network RAID or media center boxes. They aren't really hacker friendly enough (not enough documentation or easy to access hardware interfaces) nor are they user friendly enough for simple stuff like running a firewall, NAS, or web server.
I own a few of these devices. My first one has a eSATA port that I connected to a 5 bay sata port expander. That has been my network DHCP/DDNS/fileserver/printspooler/VPN endpoint/etc for a while now. The problem is that its hard to justify when compared with the recent firewall/wireless devices that have USB ports for exactly this reason. Sure I can get ~60MB/sec, absolutely outrunning anything attached via USB, but it cost about 3x as much to get there compared with just purchasing a $70 netgear and plugging in a dual drive USB raid array.
Plus, these things _REQUIRE_ hacking to get them to do a lot of stuff. I wasted days of my life trying to figure out why the JTAG interfaces didn't work as documented, or trying to boot kernels that didn't come with the devices. Or even consistently boot off USB instead of internal flash. This would be fine, except they are hardly open devices. Much of the time wasted turns out to be endless reverse engineering closed portions of the device. Marvell publishes a fair amount of the documentation for them, but I quickly found, time and time again, that the information I needed wasn't available.
So, In the end, for low level stuff things. The AVR butterfly an similar devices are far better hacking platforms, and on the higher end its hard to ignore the atom nettops or dozens of very nice single board computers that are far more powerful for not much more money.
God god man, he's the president. He has a whole load of resources to do something about it. He could put them on a plane and land them at one of the dozens of military prisons in the US.. But wait that might be piss some people off! Instead, he hides behind the inept congress and uses the fact that they won't refurbish some prison to some outrageous security specifications to imprison a bunch of goat herders.
I run thunderbird, and disabled the indexer a while back. But, calling 3.x buggy crap and not 2.x is a bit misleading. I had the distinctly icky experience of trying to find a strange IMAP crash back a few years ago.
I should have immediately given up, when my debug build failed to even run, poping on assertions all over the code base. The whole IMAP implementation in thunderbird is (was?) such a mess its lucky to be working. I remember finding bug after bug, and comment after comment about "hacks" made to avoid some nonsensical state because it was obvious the bug fixer was as clueless about the code execution as I was.
Instead of a clean class layout its was a total mess, and quite an example of what can easily happen in a C++ project with people who are totally enamored with trying every little design pattern.
I didn't find the stated benchmark, but the i7ee is a Nehalem based core. For raw performance you should be able to find a Xeon which bests it in nearly every benchmark. Going multiple socket, provides both more cores and more memory bandwidth. For example the 980X is basically just W3680, a pair of X5680's should win on nearly every benchmark that is either CPU or memory band-with intensive. For some working sets the larger caches on the beckton cores could result in improvements significantly larger than the 3x cost for them. Those working sets may be rare (larger than 8M smaller than 24M).
Now cost/performance curves are more tricky. The extra cost for the dual socket motherboard must be made up with cheaper CPU's, but if your comparing it to a pair of i7EE's the extra system costs could easily make up for it. This is actually where AMD starts to be a real contender. If your system is scaling well, the large AMD systems are significantly less expensive for actual core counts. While the high end Intels are faster, you can get nearly the same performance for 1/4 the cost from AMD. For rendering, a dual socket 6134 will probably beat the intel i7ee with a wide margin for slightly more money.
For a large shop buying a few systems and running the actual datasets/code is the best way of determining this. Then you buy a bunch of the best system. If your large enough you can probably get the trial systems on loan. Doing a one off for your friend is much harder.
I won't repeat the rest of your colorful misinformed ramblings. However, it's worth pointing out that when you know nothing about physics or electronics, you shouldn't spout off as if you do. For instance, when you move a dial on a radio you in fact are not altering the electrical length of its antenna. What you are actually doing is tuning a bandpass filter to a different region of the rf spectrum. The antenna is typically designed to collect as much of the rf spectrum as possible and tuning (i.e. moving the dial) just selects the piece of spectrum of interest while attenuating the rest. The antenna length is not altered when tuning (moving the dial) on a radio.
Which is all true, but the antenna is also tuned as part of the system. Especially for high frequency system, or systems with a fixed frequency.
I've done a little CUDA programming, and I've yet to find significant speedups doing it. Every single time, some limitation in the arch keeps it from running well. My last little project, ran about 30x faster on the GPU than the CPU, the only problem was that the overhead of getting it to the GPU + computation + overhead of getting it back, was roughly equal to the time it took to just dedicate a CPU.
I was really excited about AES on the GPU too, until it turned out to be about 5% faster than my CPU.
Now if the GPU was designed more as a proper coprocessor (ala early x87, or early Weitek) and integrated into the memory hierarchy better (put the funky texture ram and such off to the side) some of my problems might go away.
Yawn, just because the client isn't polling (REST, is just a way of saying polling to make people feel better), doesn't mean this doesn't work on just about every damn device out there. TCP keep-alives are supported by all the major TCP stacks and all the minor ones I've ever used (although not strictly required per RFC 1122). With reasonable configuration parameters for maintaining connections with little data transfer, its possible to keep a port open for basically an indefinite time period. Once the port is open, its going to consume server resources (and having more than a few 10k ports per IP is a problem, and is itself probably a good reason for having some kind of periodic queue poll type mechanism), but its going to significantly lower the bandwidth vs a polling mechanism.
That said, a big part of the problem is HTTP, and the insistence to use it for a API data transport even when its not well suited for such. Even worse though is the use of web servers like apache that consume significant resources for keep alive transactions. Frankly, though to be fair Apache was designed more for an environment where a lot of different machines were connecting for short periods of time, and then they were done. The http 1.1 keepalive mode didn't mesh well with the one process per connection model, and works only marginally better using the one thread per connection model now in use.
So, basically I don't think any of your arguments hold. Even over actual network failures, client standby, network changes, etc. The client will be notified of connection loss and can simply reconnect. Once reconnected, queued notifications can be issued, or the client can repoll before reconstructing the notification system.
Frankly, as someone who works with extremely high band-width (many GBytes/sec), high IO rate systems (100k/sec transactions) per node, I'm shocked at the problems twitter has. Fundamentally, i'm betting someone who didn't have to deal with the the BS could get the whole system running on a few fairly high power server nodes. The entire data set probably could be fit in RAM on a modern high end server. Its not like they are moving a lot of multiple MB messages around, or running really complex searches.
Just imagine what google would be like if written the same way.
and am willing to part with money in order to help the school district handle more students, keep par with inflation
You know you didn't directly say it, but i've heard people say "we need to raise taxes to keep up with inflation". That is complete bunk, all the major tax structures are "inflation" tied. Not necessarily to the official inflation numbers, but indirectly. Sales taxes are a percentage of the product "value" that means when the price of an item goes up due to inflation, the taxes go up. Same with "property" taxes, and indirectly income taxes too. Heck all three are also tied to increased population growth. More people, means more houses/apartments to tax. So basically the only real problem happen when people stop buying stuff, get laid off, or property values decrease.
But that's why we base our budgets on slightly pessimistic estimates, rather than best case ones and save anything remaining in the good years, for the years that might be a little worse than our estimates. Furthermore we always set the taxes/costs equal to the actual long term costs, so we don't run into cases were we cant afford to replace something because we have only been paying the maintenance costs on it, while ignoring the fact that the item wears out... right???!!!!
One of my father's lecturers described lectures as the process by which information is transferred between the blackboard and the students' notes without ever passing through a brain.
Thats a prime example of how broken the system is. With modern technology there isn't any excuse for not recording the lecture and providing it to students for 30 days. The state of public education is that we can afford to put metal detectors and cameras all over the place to record bad behavior, but we can't afford microphones or cameras in the classroom to provide a record of the lecture for the student.
I can personally attest to how useful just having a microcassette recorder was for me. I was never a good note taker (bad handwritting didn't help). I pretty much just listened to the teacher, and read the book. This all worked fine until I hit an advanced biology class in HS. It was major information overload and I couldn't handle it. Thats when I got the recorder, and started recording the teacher. It worked wonders, I would go home and listen to the lectures, pause them for the important parts (work an excercise, whatever), instant improvement in my grades. I only really used it for a half dozen other classes, all the way through HS and college. In those classes though it was _REALLY_ important.
Part of the reason I only used it when I really needed it was that people would give me strange looks when I pulled it out. In HS I even had teachers tell me not to use it because it was against school policy to have one (radio's, etc were banned from school). It was obviously not a device for listening to music, so it always seemed to me that the teachers may have been using the official rules to cover for not liking to be recorded. After all, it was my guidance counselor that initially suggested it.
Deleting requires what is effectively a heap merge of the free list against the newly freed blocks. The problem is the file-system code which is trying to actually do the merge, as part of the delete, rather than doing something simple like marking the file deleted, moving its list of blocks to the tail of the free list, and marking them as unmerged. Then later, when there is free IO/CPU time doing the merge. If a request comes in that requires the blocks you go ahead and use them unmerged, then later you consolidate them as part of a defragment/GC type operation. In a well written fully journaled system, this actually sort of fits the architecture because you have a process running behind that is committing the journal.
All this is made more complex by the lack of a well defined prioritized IO fencing system that can be used by the filesystems to have some control over IO scheduling.
Its stupid, but reading a lot of the kernel code it seems to me that its been written by people who don't seem comfortable in fully async delayed operational systems. Some of it may also be due to the evolved nature of the kernel, since SMP, and threading were basically bolted on after the initial code was reaching critical mass. This is also reflecting in how journaling was bolted on to ext2.
The complexity people seem to delight in putting into things always amazes me.
I'm with you there, but having been involved in wedging (is there a better description?) a real-time management and monitoring app into a web application, I'm here to tell you that shit is necessary. We didn't use JSP, instead PHP, so you can replace the JSP specific technologies with the PHP ones. The end result is the same, it was a huge fsking stack of mismashed technologies. In the beginning it was simple, but pretty soon we needed prettier graphics, better ways to allow the user to continue interacting with the web pages while we were running some complex operation, etc. In the end for web development it ends up being necessarily to have a big collection of languages/libraries/technologies because non of that crap really fits together.
Basically, at a minimum you need the server side processing, a data storage engine, a marshaling engine to get the data to the web client. A client side display interface (HTML), something to unmarshall the data, UI interaction and styling. Its pretty disgusting. As someone who does a lot of C++ programming, I have great respect for "real" web developers. The ones that flip between SQL/PHP/Javascript/HTML/CSS/etc, a dozen different helper libraries/frameworks and a good graphics editor (cause frankly graphic artist never give you shit that can be directly used).
The problem isn't the web developers its the fsking web, which is a giant goddam mess of evolved technologies that don't fit together, and sure as hell weren't designed for creating rich web applications.
Every time I hear about some big or realtime .net application getting kicked out. I wonder if its was the customer Patric Dussud is talking about when he describes a very large system that gets paused for an extended period of time while the garbage collector runs (http://channel9.msdn.com/Shows/Going+Deep/Patrick-Dussud-Garbage-Collection-Past-Present-and-Future). Long enough that the cluster heartbeat decides the node is down and shoots it.
For corporations, we need to have wealth transfer taxes instead of income taxes. Dividends are taxed, shifting "fees" and "payments" to foreign (offshore) corporations are taxed, payments for imported goods are taxed etc. Anytime money is transferred there is a "tax" upon that transfer (corporations).
Fantastic, idea, except it will _NEVER_ happen. Can you imagine what will happen to the banking industry (still roughly 25% GDP) if they were taxed when they moved money around? They might actually have to behave like bankers, which would totally kill their profits
This article makes it sound like having a 3T hard drive doesn't work with anything other than the latest and greatest HW. This is mostly BS, sure there are a number of cases where it doesn't work, or you can't boot off a partition at the end of the device. On the other-hand, having used various RAID devices >2T, some of which were transparent SATA devices (aka 2HD's striped, exported as a single SATA device) for years. I haven't had a major problem since the 2003/4 with them. Back then many of the linux filesystem (ext2/reiser/etc) had performance or data integrity issues with disks that large. Back then switching to XFS or similar was usually the solution. With windows, I can't remember having a problem in a LONG time.
Basically, if you don't plan to boot of the drive, its probably going to work just fine in any machine made in the last 5-7 years. Booting is another issue, but there are workarounds. Same as always, I remember having to have boot managers install in my boot sector to boot off a 512meg disk in the early '90s. Same game now, only there are a number of alternatives, including bootstrapping from USB flash.
Let me put it this way: the people who bash RPN are mostly people who have not really used it. If a person actually takes the time to learn RPN and become proficient with it, they never seem to want to go back. I would LOVE to hear from somebody who is good at RPN, but still prefers algebraic entry.
I don't know how to measure RPN proficiency, but I assume passing a senior year engineering curriculum using an RPN calculator qualifies me to speak about this. When my TI-85 broke during the summer of my senior year in college, I made the jump to the HP-48GX which can be used both as an infix or postfix calculator, except that the its fundamentally a postfix calculator and there are a lot of things that only really work as postfix.
What I basically, discovered was that postfix requires you to think about what you are doing at a lower level. The requirement that the operator translate an equation on the fly to postfix, results in a situation where the calculator is being used more like a 4 function calculator with lots of intermediate results being written down/stored (cause its easier than doing a full infix/postfix conversion in your head). Infix calculators like the 85 just allowed the whole equation to be typed in and then manipulated without any real thought. I describe it this way, because I know quite a number of engineers that passed their PE's with basic 6 function calculators because the mismatch of calculator requirements across different exams just left them thinking it was better to do everything by hand (PE doesn't allow graphing either).
Frankly, my entire time in college I can only think of a couple cases where the graphing functionality was required to answer a question and I was allowed to have a graphing calculator. That said having a good linear equation solver in my calculator was invaluable. Having a calculator full of constants was nice too, and for statistics class I wondered if I was cheating using my 85 (there weren't any calculator restrictions) as it basically did all the work except choosing which function to use.
In the end (after I graduated) I dumped it and picked up a used TI-85. Why? Well, a large part of it was the calculators itself rather than the RPN. There were a number of built in functions on the 85 that I found extremely useful, that weren't nearly as powerful on the 48, combined with the fact that I found the 85 to have a far more intuitive interface. The one place where the 48 was significantly better than the 85 was the built in programming language. Of course there was always assembly on the 85 for any heavy lifting.
The second 85 has mostly collected dust. At work the few times I need a calculator, I can either use windows calculator (which is a pretty decent calculator and gets used for probably 80% of what I need). For anything else I have excel, or matlab (or pick another flavor like maple or GNU Octave).
Sure, speed is easy. But have you seen it done on a serial production automobile?
And here in lies the probable rub, designing a high power electric motor that works over a wide rotational range, and lasts for any length of time (think 100k miles). Probably isn't easy. A company like tesla can probably use exotic materials and manufacturing tech that GM can't justify.
Oh Christ, what a load of idealistic bullshit. That may be the official party line, but when has it really has a profound effect in this country? What percentage of independent candidates have gotten elected over the last 150 years?
At this point in history, just about the only way for a single person in the US to have any real effect on the elections is to be rich and pull a Koch brothers (http://noliesradio.org/archives/21658) or similar and be willing to wait decades. Even assuming you manage to start a "big" movement like the tea party, your going to be lucky to influence the election by more than a few points. When applied to one of the major parties it might be sufficient to swing a couple of close elections your way. In truth the political parties in this country are so well entrenched that there are only a few districts and states that are actually up for grabs in any given election. I live in a gerrymandered district where the republican, an absolute lowlife who votes 100% with the party, and doesn't even manage to bring any bacon home gets a 10-20% lead over well funded opponents without doing a damn thing. Never mind any 3rd party candidates who are lucky to pull 1%.
Plus, if you do manage to get someone who doesn't have their head of their ass elected, basically they are a black sheep in Washington until they prove themselves by becoming just like the rest of the assholes.
I hate to tell you, but voting isn't going to solve your problems, you might win some insignificant victories here and there, but the ball is rolling, and its got a 100+ year trajectory and that trajectory isn't going to change unless the social system breaks down. There are just to many people who work their day job, go home eat their bread and watch their circus, and are happy in their ignorance for it to change. People who fall out of that norm aren't going to be able to change it until it becomes normal for the average person to get a knock at their door from the FBI, or know a fair number of people who have "disappeared". Even then, when you look at the history of what we would consider "oppressed" societies, it takes a _LOT_ before the people are willing to rise up and do something about it, even if that action is as simple as voting for the challenger.
"We may congratulate ourselves that this cruel war is nearing its end. It has cost a vast amount of treasure and blood. . . .
It has indeed been a trying hour for the Republic; butI see in the near future a crisis approaching that unnerves me and causes me to tremble for the safety of my country. As a result of the war, corporations have been enthroned and an era of corruption in high places will follow, and the money power of the country will endeavor to prolong its reign by working upon the prejudices of the people until all wealth is aggregated in a few hands and the Republic is destroyed. I feel at this moment more anxiety for the safety of my country than ever before, even in the midst of war. God grant that my suspicions may prove groundless."
It doesn't cost much if any more to manufacture a Blu-Ray than a DVD.
Well, maybe not for large runs, but apparently the AACS yearly license fee's can exceed the cost of the disk duplication for small runs. Originally this was one of the HD-DVD advantages (used existing DVD replication lines, with minor upgrades, rather than replacing the duplicators). Apparently the cost difference vs DVD is still fairly significant for DL BR's (>$1) (someone has to amortize the cost of buying the duplicators). This may not seem like a lot if the movie is selling for ~$20, but it makes a diffrence if your selling in the walmart bargin bin for $4.
Still, the studios always use the lure of new technology to raise prices. They did the same thing with DVD vs VHS, and CD vs tape. Initially they were just "passing on additional costs", but the price hikes stuck long after the new technology became mainstream.
Other than that I generally agree with you.
There were some other details about how it was a "memory board" that caused the problem an how the fail-over system didn't work properly. So on paper no one can be blamed.
To me this now seems SOP in the computer industry. Consolidation is king without regard for the idea that consolidation tends to form giant single points of failure. Furthermore, backups and redundant systems are rarely tested. Even when properly tested, fail-over is pure luck as the actual failure case may not be as clear cut as the fail-over system is designed to handle. From my experience i'm betting that over half the time when a real failure occurs it propagates into the fail-over (resulting in double failure), isn't detected properly, or one of a half dozen other similar problems and the system comes crashing down. With all this "consolidation" instead of a single system failing for a week (bad enough) they loose services everywhere (totally unacceptable).
First, I don't think the problem is necessary the image sensor. That is because there is sufficient noise in every digital sensor I've ever used (I have a couple fairly high end Canons) that any "banding" is broken up by noise. Which is just a nice analog way to dither adjacent regions.
Second, i'm betting the majority of the problem, is the overuse of image processing/compression, which is removing the noise. I see it all the time on blu-rays, or cheap ads in crummy magazines*. So instead of a rough boundary the eye cannot see, instead its well defined. MPEG/JPEG naturally does high frequency filtering, so just don't do it.
Finally, while I think doing everything in 10 bits (at a minimum the image processing) is a good idea. A lot of image problems are actually fundamentally in our vision and not the inherent display. Mach banding, moire patterns, etc are problems in our vision caused by image regularity that need to be worked around, rather than fixed.
*the same magazines with massively pixelated ads. I imagine this is because it looked fine in preview mode, but the printer has 5x the resolution of the editors monitor, and there isn't any requirements on image DPI. Or there is explicit avoidance of big hard to email around images.
I can't believe no one has referenced the Richard Dawkins paper where he points out some serious flaws in the idea y jury trials.
If you haven't read it there is a copy here Three herring gull chicks...The reason juries don't work.
I totally agree, as someone who used lilo as the "linux bootloader" (not installed in the MBR) and used the active partition bit to select OS's I rarely had issues. Even when installing windows etc. Getting linux to boot after a windows install is as simple as resetting the active flag. Grub on the other-hand has always been a PITA when configured this way, and recovering it, via a DVD boot has wasted countless hours with grub-install convincing it to rewrite itself correctly. Frankly, the only thing that Grub gives me, is the ability to install a new kernel without having to type "lilo" on the command prompt to recompute the chain information. While grub may be "easier" it doesn't seem nearly as robust.
Nice, I missed that one. I've had a couple run-ins with Drepper myself. Last time, I had a bug fix for glibc I went through one of the distributions maintainers to get it dropped.
It got rejected because only "broken apps" would need the fix. Except, that in my case the "broken" application was impossible to fix as it required a very large vendor to basically rewrite a big chunk of a large multi-platform application and change a public API. That application strangely enough didn't have a problem on any one of a half dozen other platforms.
So, for two lines of code that increased the robustness of glibc, I considered trying to get the very large vendor to crawl up the RH management chain. In the end I didn't think it would do any wonders for anyone involved, so instead we install a custom glibc provided by our distribution. I'm sure there are other applications out there that hit the same bug, but because its fairly low frequency and basically impossible to reproduce its rarely pointed out.
Frankly, Drepper is high on a lot of peoples shit list.
Ok, so i'm sure a lot of students learn a lot, but after reading how this contest is run it seems like total BS.
First, with a power budget that small, building a cluster isn't even worth it. A large SMP machine will dominate on any bandwidth limited benchmark. A machine with GPU's is going to dominate any compute bound application. An 8 socket machine (aka DL980G7) packed out with low power 6-8 core processors is going to provide 96-128 threads. Load it up with SSD's, and Tesla's and your probably going to have to take the case off and start pulling blowers and such to keep it under 3kw (it comes with 4.8-9.6Kw of power supply). The SSD's will lower the power consumption over the spinning drives, but the Tesla's are going to eat it right up. Your going to save a shitload of power over a system packed with infiniband/etc interfaces and switches.
Secondly, the off the shelf limitations seem to be totally retarded as the teams are basically assigned vendors/hardware. That is probably to avoid the thousands of smaller vendors that actually provide "unique" machines that have power/performance numbers that are often an order of magnitude better than the dell/hp/etc machines.
Finally, At 3kw the whole thing could probably be nearly passively cooled, with just a little hardware engineering. Ripping out all the unnecessary crap, and powering down everything that isn't active probably would allow a machine with a total system draw much greater than 3kw to stay under 3kw with some active power management. This kind of stuff is built into most of the recent blade servers and such. The blade controller throttles the blades to keep the total system draw below what can be provided by the power supplies (aka the blades could draw 10kw, but there may only be 6kw of power, everything is fine as long as the blades operate normally and only draw 4kw, but when some unusual activity takes place the CPU's/etc are powered down). Again the problem is that the big vendors, don't give out this information, so your left at their mercy.
Lastly, again, making a "supercomputer" has gotten within the reach of real people lately. The Asus P6T6 WS has 6 PCIe16x G2 slots. A half dozen of these motherboards, with infiniband adapters, and GPU's could well put you in the top 20 of the top 500 supercomputer (due to the use of linpack) list for less than a full size SUV.
They don't require hacking, it's optional. Unless you count sshing into a Ubuntu box to configure it as hacking.
If you look at the bug lists and things people are complaining about you will see a far different picture. There are regular issues with doing simple things like booting from SD, much less more complex things. Sure, you might have been able to take one of the prebuilt distributions for the plug and replace the default OS, but it doesn't take long to hit real problems. As I stated in my original posting i'm running a 5 bay port expander. Getting that thing working required patching the marvell sata drivers because their drivers are incorrectly clamping the port count on the sata port expander. Then the standard linux tools for spinning down inactive hard drives in the array didn't work (the marvell driver again), requiring more hacking. For me, just about everything I tried required some custom patch, probably 50% of the software running on my network server I ended up compiling/patching myself.
If you search the forums you will see a wide range of problems people are having with the JTAG ports and openOCD. I could list a dozen other major issues I had to fix with assorted versions of the devices (the openRD is the worst).
It is much much much more powerful then the 8bit AVR butterfly.
Maybe, I wasn't clear by "low level" I meant any kind of low level hardware interfacing. Sure the ARM's kick the crap out of the AVR, but these plug computers have a dearth of actual accessible IO pins. If you want to wire up something to an A/D or D/A, or bit bang a couple of parallel pins its hard to beat those little $20 butterflys and Arduinos. The beagleboard is a nice board (and is an excellent choice for some stuff), but it falls in the significantly more expensive category. I find that a wireless or USB interface attached to one of the smaller devices and a nettop or small PC to often be a far better proposition. The butterfly basically acts as a smart peripheral for the larger platform. Plus, those smaller devices can run for many months on a small battery, which allows them to be put into all kinds of places where feeding power isn't convenient. The sleep modes (another thing poorly documented on the kirkwoods) on the AVR basically allow them to sleep with basically 0 power draw, waking up on some interval or external event just long enough to process it and go back to sleep (think remote sensing). The list goes on..
As I stated in my original posting, the plug computers, are hard to justify when compared with a number of less expensive nearly as functional (if not more so) wireless routers. I might expand that to include network RAID or media center boxes. They aren't really hacker friendly enough (not enough documentation or easy to access hardware interfaces) nor are they user friendly enough for simple stuff like running a firewall, NAS, or web server.
I own a few of these devices. My first one has a eSATA port that I connected to a 5 bay sata port expander. That has been my network DHCP/DDNS/fileserver/printspooler/VPN endpoint/etc for a while now. The problem is that its hard to justify when compared with the recent firewall/wireless devices that have USB ports for exactly this reason. Sure I can get ~60MB/sec, absolutely outrunning anything attached via USB, but it cost about 3x as much to get there compared with just purchasing a $70 netgear and plugging in a dual drive USB raid array.
Plus, these things _REQUIRE_ hacking to get them to do a lot of stuff. I wasted days of my life trying to figure out why the JTAG interfaces didn't work as documented, or trying to boot kernels that didn't come with the devices. Or even consistently boot off USB instead of internal flash. This would be fine, except they are hardly open devices. Much of the time wasted turns out to be endless reverse engineering closed portions of the device. Marvell publishes a fair amount of the documentation for them, but I quickly found, time and time again, that the information I needed wasn't available.
So, In the end, for low level stuff things. The AVR butterfly an similar devices are far better hacking platforms, and on the higher end its hard to ignore the atom nettops or dozens of very nice single board computers that are far more powerful for not much more money.
God god man, he's the president. He has a whole load of resources to do something about it. He could put them on a plane and land them at one of the dozens of military prisons in the US.. But wait that might be piss some people off! Instead, he hides behind the inept congress and uses the fact that they won't refurbish some prison to some outrageous security specifications to imprison a bunch of goat herders.
I run thunderbird, and disabled the indexer a while back. But, calling 3.x buggy crap and not 2.x is a bit misleading. I had the distinctly icky experience of trying to find a strange IMAP crash back a few years ago.
I should have immediately given up, when my debug build failed to even run, poping on assertions all over the code base. The whole IMAP implementation in thunderbird is (was?) such a mess its lucky to be working. I remember finding bug after bug, and comment after comment about "hacks" made to avoid some nonsensical state because it was obvious the bug fixer was as clueless about the code execution as I was.
Instead of a clean class layout its was a total mess, and quite an example of what can easily happen in a C++ project with people who are totally enamored with trying every little design pattern.
I didn't find the stated benchmark, but the i7ee is a Nehalem based core. For raw performance you should be able to find a Xeon which bests it in nearly every benchmark. Going multiple socket, provides both more cores and more memory bandwidth. For example the 980X is basically just W3680, a pair of X5680's should win on nearly every benchmark that is either CPU or memory band-with intensive. For some working sets the larger caches on the beckton cores could result in improvements significantly larger than the 3x cost for them. Those working sets may be rare (larger than 8M smaller than 24M).
Now cost/performance curves are more tricky. The extra cost for the dual socket motherboard must be made up with cheaper CPU's, but if your comparing it to a pair of i7EE's the extra system costs could easily make up for it. This is actually where AMD starts to be a real contender. If your system is scaling well, the large AMD systems are significantly less expensive for actual core counts. While the high end Intels are faster, you can get nearly the same performance for 1/4 the cost from AMD. For rendering, a dual socket 6134 will probably beat the intel i7ee with a wide margin for slightly more money.
For a large shop buying a few systems and running the actual datasets/code is the best way of determining this. Then you buy a bunch of the best system. If your large enough you can probably get the trial systems on loan. Doing a one off for your friend is much harder.
I won't repeat the rest of your colorful misinformed ramblings. However, it's worth pointing out that when you know nothing about physics or electronics, you shouldn't spout off as if you do. For instance, when you move a dial on a radio you in fact are not altering the electrical length of its antenna. What you are actually doing is tuning a bandpass filter to a different region of the rf spectrum. The antenna is typically designed to collect as much of the rf spectrum as possible and tuning (i.e. moving the dial) just selects the piece of spectrum of interest while attenuating the rest. The antenna length is not altered when tuning (moving the dial) on a radio.
Which is all true, but the antenna is also tuned as part of the system. Especially for high frequency system, or systems with a fixed frequency.
I've done a little CUDA programming, and I've yet to find significant speedups doing it. Every single time, some limitation in the arch keeps it from running well. My last little project, ran about 30x faster on the GPU than the CPU, the only problem was that the overhead of getting it to the GPU + computation + overhead of getting it back, was roughly equal to the time it took to just dedicate a CPU.
I was really excited about AES on the GPU too, until it turned out to be about 5% faster than my CPU.
Now if the GPU was designed more as a proper coprocessor (ala early x87, or early Weitek) and integrated into the memory hierarchy better (put the funky texture ram and such off to the side) some of my problems might go away.
Yawn, just because the client isn't polling (REST, is just a way of saying polling to make people feel better), doesn't mean this doesn't work on just about every damn device out there. TCP keep-alives are supported by all the major TCP stacks and all the minor ones I've ever used (although not strictly required per RFC 1122). With reasonable configuration parameters for maintaining connections with little data transfer, its possible to keep a port open for basically an indefinite time period. Once the port is open, its going to consume server resources (and having more than a few 10k ports per IP is a problem, and is itself probably a good reason for having some kind of periodic queue poll type mechanism), but its going to significantly lower the bandwidth vs a polling mechanism.
That said, a big part of the problem is HTTP, and the insistence to use it for a API data transport even when its not well suited for such. Even worse though is the use of web servers like apache that consume significant resources for keep alive transactions. Frankly, though to be fair Apache was designed more for an environment where a lot of different machines were connecting for short periods of time, and then they were done. The http 1.1 keepalive mode didn't mesh well with the one process per connection model, and works only marginally better using the one thread per connection model now in use.
So, basically I don't think any of your arguments hold. Even over actual network failures, client standby, network changes, etc. The client will be notified of connection loss and can simply reconnect. Once reconnected, queued notifications can be issued, or the client can repoll before reconstructing the notification system.
Frankly, as someone who works with extremely high band-width (many GBytes/sec), high IO rate systems (100k/sec transactions) per node, I'm shocked at the problems twitter has. Fundamentally, i'm betting someone who didn't have to deal with the the BS could get the whole system running on a few fairly high power server nodes. The entire data set probably could be fit in RAM on a modern high end server. Its not like they are moving a lot of multiple MB messages around, or running really complex searches.
Just imagine what google would be like if written the same way.