X is a series of APIs which for the most part manages rectangular regions within a display context and provides a series of accelerated functions such as line drawing and text drawing. With the support of things like XVideo, it even supports exposure of a video card frame buffer for rendering directly to a graphics context. Nearly all the features of X which you're explaining are related to X's ability to serialize data for transport over a bidirectional character device allowing the graphics context to exist on another screen.
Wayland does not necessarily lack support for these features. They just haven't reached the point of maturity which is found in X. In order to compensate for that, an application designed to function using Wayland can make use of a Wayland X11 backend to render similarly to what you're describing. In the context of remoting, where all data is serialized and deserialized (though in local instances, shared memory might be used), the functionality as far as you see it should be unchanged. You should still be able to pipe through SSH tunnels using X11 for example. The expected performance hit should be negligible if at all measurable depending on the X11 back end. If the Full context has to be rendered using wayland and then rerendered to X11, performance may take a tiny hit, though for operations like font management, font switching etc... it could actually be faster. On the other hand, if the Wayland X11 back end is written well (and I'll imagine that it is), then there should be no performance loss relating to how the data is serialized. If anything, it may be faster as Wayland could perform operations similar to how NCQ works on serial ATA to optimize the connect as it provides a small buffer between application and serialization.
So... the only short comings I see in Wayland at this point is that people don't quite understand it yet. I personally see Wayland as a welcome improvement. It finally will allow the majority of hacks in the form of X extensions to be managed and consolidated into a cleaner set of APIs. X11 was one of the easlier windowing APIs created and it was great for the most part as in modern terms it could be seen as a user mode API to the graphics adapter driver. But on the other hand, it is really very complex to accomplish even basic tasks on. Try setting the mini-icon for an application and you'll see what I mean. Wayland builds on what has been learned from a gazillion years of X development. Some people might suggest that it's too early to make the change, but no one is forcing anyone to upgrade from X11 to Wayland. Most people simply will because for most people it is definitely ready.
Oh... btw... no one actually codes for X11 directly anymore. We use Qt, GTK+ and a multitude of other windowing APIs. X11 itself doesn't actually offer APIs suitable for writing applications. That's why we had Xt and Motif. Theses days, we use more modern alternatives that simplify the development of custom widgets. But X itself is really just a transport layer.
I have a box full of $5 HDMI cables for using with devices where routing the cable is easy enough.
I do on the other hand buy $10-$15 when I need something in either another color or when I'd prefer to have a softer cable that is easier to bend.
The fact is... the emperor has cloths. It's just that there is a clear difference between charging an extra $10 for a nicer cable and charging $90 for a similarly nicer cable but under false pretenses.
I'm a huge fan of someone providing DC power over a speaker cable and digital audio via a sub-band carrier on the same cable. When someone sorts that out... then monster is completely screwed. But until then, companies like monster do make nice cables for carrying analog audio signals over distances.
Here in Norway, we have many round abouts... far too many. They are fine in smaller suburban areas where minimal traffic control is required. They're more effective than stop signs or stop traffic lights, but when the area is more heavily trafficked, they are an utter disaster. A while back, I wrote a traffic simulator program that I implemented with an algorithm called "Every 5th driver is a selfish opportunist prick". I tested many scenarios based on a few basic rules. 1) More than half the people driving do not understand how to use their turn signals in a round about 2) Less than half the people pay attention to turn signals in a round about since they are either lazy or far to busy building the courage to brave the round about 3) Many people, even those who grew up with round abouts fear them and will wait until there are no other cars in the round about and no other cars that look like they'll soon reach the round about while they're in it before entering the round about. 4) When round abouts are backed up, the vast majority of people will not yield to other queues to offload the queues from other branches. This is a result typically of people who are so frustrated from waiting for their turn, they feel entitled to the right of way at all times. 5) 10% of the people (generally Mercedes and Audi drivers) who see there is someone entering the round about further ahead of themselves will accelerate to reach the round about to ensure their right of way to avoid risking being on car further behind. 10% of them will very aggressively attempt to force their right of way either by honking or hostile driving. 6) More than half the people will see the round about as a self regulating traffic device. Meaning, they'll treat it as if it were a traffic light and that if they have managed to enter the round about, then the round about has decided that it should belong to them during their occupation of it. 7) 80% of all people (came up with this value by sitting at real round abouts during rush hour in the city and counting) DO NOT honor the multiple lanes in the round about. 8) 75% (same source as in 7) of people with license plates issued from areas other than the city containing the round about will fail to be in the proper lane of a multiple lane round about. 9) 10% of all people who are frustrated by waiting in the queue of a multiple lane round about will use an alternate lane's queue to cut ahead of other cars and then force themselves into the proper queue lane shortly before entering the queue. Effectively delaying the queue they are avoiding further and blocking the queue for the lane they used to cut in line until they have managed to bully their way into the lane they need to be in. 10) 1 out of 10 thousand cars will breakdown causing rubber necking while people are exiting the queues where the car is sitting disabled. 11) 60% of all car will make more simple mistakes in the presence if there is a police car present. Most importantly, they'll wait longer and prolong queues. 12) Bicyclists will take the right of way in round abouts nearly every time. Most often, they will not even decelerate when entering a round about. I believe this is caused by lack of driver education by the bicyclist. They see the cars are competition or the enemy.
I ran substantial testing based on: - Varying levels of congestion - Distances between round abouts and other traffic regulating devices (including other round abouts, traffic lights, trolly tracks, stop signs etc...) - Distances between round abouts and bottle necks generated by the reduction of the number of lanes in an exiting branch, or construction work. - Time of day, testing of incoming and outgoing traffic - Distance of signs defining the correct lane to use before the round about - Angle of signs within a round about defining the exits including their size and readability. - Quality of marking of lines for the queues to the round abouts. - Added assistance within queues of cones, barriers or otherwise to avoid
The only Galaxy Tablet users I've met who are actually pleased with the platform are the people who will force themselves to like the things they bought no matter what. They're also the type of people who will try and convince everyone else they love their new toys. After all if they can convince someone else they're justifiably pleased with their new toy then it must not have been a bad decision to buy it.
I'm sure there are some people out there not outraged by the fact the the second they invested in a tablet, Google informs them that the specs are too low to run the next generation of the software which will be due out soon, but in reality, most people were quite upset.
This was a major failure on Google and Samsung's behalf since the Galaxy Tab should have been released for developers only to get them started writing apps for the Android tablet platform. In reality, the the newer Honeycomb devices should have been the generation 1 device.
The end result is, tons of people heard all the hype about the Android tablets being the ultimate iPad Killer. Then they heard about how all these major sales numbers of the Galaxy Tab was based on how many hit the shelves, not how many got to actual consumers. Then they heard about how the Galaxy Tablet was so underpowered that it couldn't possibly run the next version of Android due out a few weeks after everyone just bought their Galaxy Tabs for Christmas gifts. Then they heard about how there were no programs for the Galaxy Tab because developers were having problems with it.
If Android Tablet and Honeycomb takes a long time to catch on, it'll be almost entirely because of the Galaxy Tablet.
I used to work with Nokia. I was with a company that would work towards delivering software for 5-15 Nokia devices at a time. They were so secretive about each of their products that the developers working on these different projects were not allowed to communicate with one another. We had to have separate bug databases even though bugs for one were bugs for all. We had to have separate code repositories even though the code should have been common to all. The reason was... they wanted to make sure that no person had enough information available to them to leak information about more than one product.
Let's be realistic here. The handset market is very simple these days. You make a device, you choose an OS, you differentiate yourself with a new skin, maybe add some value adds, you ship.
1) You make a device. You can either buy a reference design from a hundred different companies and add to it, or you can develop it in house... or you can combine the two. With a reference design, you really only need to put a logo on the case. If you design it in house, you're spending tons of time and money on something that will make your device not that much more interesting than the other guys. You better have an awesome idea to differentiate yourselves from the other guy if you design your own, otherwise you're spend a few million bucks that was just a waste of time because "We're special, we design all our stuff inhouse".
2) You choose and OS. Android, Windows Phone, Palm... whatever. Any company who wants it can put Android or Windows Phone on their device. Palm, BlackBerry, iOS are developed in house by the phone makers, but really, Nokia has already proven they can't make their own OS, so it's better off they simply use someone elses.
3) You differentiate yourself "Special Nokia Apps" are just plain stupid anymore. Use the ones built into the store or give away some of your inhouse developed ones, but sell them on the store to people with other phones. Don't waste your time making ones that only run on your phones... it's stupid and nearly impossible to maintain long term.
Make a skin. Well, you always have the default skins on the phone, but the user will want to install their own. So, if you're trying to have some fun while you make your phone... sure make a skin.. but don't interfere with the user's ability to change it. It's like when you buy a computer.. the default wallpaper might say Toshiba, Sony or HP on it. But you can change the desktop picture of your brother's computer to a picture of your bare hairy butt if you want.
4) Ship the thing This is probably the hardest job in the business these days... managing the manufacturing and supply chain effectively.
But let's get to the point... Nokia will probably manufacture a slew of low cost, nifty little Windows Phone telephones and get them into the pockets and purses of millions of grandmothers across the world. But as far as being an innovator.... they should know by now... that's not their role in the tech world.
Yep....NET and QT learned the most important lesson which was versioning. Nothing can't be fixed by deprecation of older technologies, even technologies like real CPUs get these benefits. It might have taken forever, but my latest Intel Core i7 doesn't even run 16-bit code unless emulated. Java was close to being the first of its kind... SmallTalk being a notable but much ignored predecessor (mostly because it was REALLY annoying to program with) and having set things in stone the way they did was a huge mistake in my opinion. I personally ported AWT to 5 different platforms back in the old days, even wrote a mostly Java implementation based on a frame buffer and an input event manager. I ported SWT to two platforms before Eclipse was even released within IBM for internal evaluation. And looking back on it, looking at AWT, SWT, Swing, I'm still amazed that Java is still used for making UI apps.
Let's forget the third party library system and focus on something more important. Naming.
Java, Mocha, Kaffe, Beans, Latte etc...
Don't get me wrong... I love coffee... drink over a liter of it by lunch time each day. But I have to Google to figure out what any of this crap is. If they'd have used three letter acronyms, I'd have had an easier time knowing what they were talking about. This utter lack of professionalism has always left me feeling like Java is the language of people who would rather be playing with tinker toys than writing code. What would have been wrong with something like "Object Modularity and Component System" as opposed to something stupid like beans.
Jazelle was always interesting because it took an acceleration approach as opposed to an implementation approach. In a way it said "Well, making a Java only processor is obviously a waste of time, but we can implement a means of running as many instructions as possible from directly within the CPU." I know there are hardware implementations of Java which accelerate probably as much as 90% of the system. And obviously, emulating 100% of the system would require an operating system to be implemented in byte code for it to be useful. It could be done I supposed, but it would be painful and ugly. As matter of fact, I remember some of the earlier attempts like JavaOS to do so. And I stand by the painful and ugly and add awkward to the mixture. PCI drivers were impressively ugly because of the weird method of memory mapping involved.
A more generic VM would have been much nicer I think. Start with a Motorola 68000 instruction set or even an ARM instruction set. Then compile the language natively to that core. Stack, register or Harvard disaster based, makes no difference. The point would be that the processor would be generic enough that the language and technology would be more important than the VM. These days when most CPU architectures include protections such as Intel's "Do not execute" flags and such, a more generic CPU with a specialized MMU for garbage collection would have been better. But, there's no point to it anymore.
The real value to Java is in the language itself. I don't know if I'd try to differentiate the relationship between Java to C or C++, but it's far enough from either and close enough to both that it would be hard to decide. It's a C/C++ like language as much as C# is. I personally program about 95% of my code in C++ since, with the exception of header/source mess which I no longer notice and by using Qt, I find it to be a great solution for everything from scripting to kernel development. Hell, it even has regular expressions:) I personally find that I can often write code in C# or Java that can perform equally well or better than in C or C++. Especially when handling large integers and large amounts of dynamic memory allocation.
VMs are really a thing of the past these days anyway. They're more closely related to being a second stage compiler. Of course, in a language like Java where some code really shouldn't be compiled unless that execution path is de
Java isn't that bad of a language. But :
- The libraries are not the best I've seen. I much prefer the layout of Qt or the.NET framework. Personal preference though.
- Documentation after this much time should have been a great deal better. Java documentation is so-so and the library documentation is abominable.
- The Java VM should have been completely revamped when it became obvious a hardware implementation was pretty close to impossible. It is relatively easy to accelerate Java by translating most instructions to another processor architecture, however, it's more of a compile step than an execution step. The Java VM really should be implementable in hardware.
- The intermediate code format should store data as little-endian instead of big-endian. This is 2011. x86, x64, ARM dominate the processor world. Most other processor cores (such as TI DSP and MIPS) have the option of running in little endian mode. PowerPC and what's left of Sparc are the only big processors left which are big endian only. There are others like hitachi H8 and such, but I'm not even sure there are java virtual machines for them. Let's be realistic, file storage of large arrays of data should be little endian these days. And yet, Java still uses big endian. Time for that to change.
But I do agree with you... as a language, it's probably a better C++ than C++. I have personally been working on something that's half way in-between myself. Basically, C++ without code separation and without the need for forward declaration. It isn't a compiler per-say so much as a code separator. It converts #imports into #includes and converts classes into code + classes. Compile times have dropped considerably by forcing recompile of entire code bases at once.
I mean seriously... if you add home grocery delivery to the internet and make the prices reasonable enough, the fact is, the 0.5 miles a person walks twice a week to get their fat asses out of the car, into the grocery store, to the check out and back to the car will be eliminated.
While it sounds like a REALLY GREAT business idea.... and I'm sure it will take off... it'll take off for the wrong reasons. The poor bastard delivering the groceries will get to the house and there will be a sign on the door "There's an extra $10 tip for you if you come in and unpack the groceries while I leave my fat ass planted on the couch and finish off my last batch of Smore's goldfish".
I travel around the world quite a bit and outside of the U.S. and England, I have never seen a fat person actually get themselves a motorized wheel chair for no other physical disability other than obesity. In the U.S., these people are all over the damn place. I've been stuck behind 3 sisters driving their fat mobiles through the grocery store side by side while chatting... AND EATING!!!!!!
Already we don't go to the book stores anymore. We don't go out to rent movies. We don't even leave our couches to order pizza since we have our iPhones in our hands at all times. We have 60" screens or projectors in our home theaters so we don't bother going to hte movies anymore either. We go to work and we go to the grocery store. Hell, we don't even go to the mall to shop for clothes anymore because we're too embarrassed to walk into the fat store and find out that they don't see our size and it would have to be special ordered.
Rise up and scream at Bezos "DON'T DO THIS!!! DON'T DESTROY AMERICA!!!!"
I challenge anyone to say that a tiny little compartment sitting on top of a gigantic tube of high combustible fuel which is intentionally ignited is actually safe!
Let's not forget additional issues such as the fact such as it being basically a cylinder with tiny little fits on its ass end being shot up at insane speeds into the extremely unfriendly atmosphere of the earth, later to then reenter at even more insane speeds that damn near engulfing the returning capsule with flames caused by drag against... AIR!!!
Oh... and if there's the slightest little leak while it's outside of the earth's atmosphere, pretty much everyone inside the capsule will be suffocating to death or being ripped into the vacuum of space.
Let's be blunt about this... the fucking thing is a death trap!
If they can figure out a way to launch the rocket using a non-combustible propellant, make it go a hell of a lot slower, put big enough fins on it to allow it to correct course at all times, and find a way of slowing it down so much that by the time it enters the atmosphere on return, there isn't a huge amount of drag produced. That would probably make it safer.... now let's work on how to get it from the atmosphere back to earth without it falling the entire way... that sounds dangerous too.
To suggest that this thing is anything other than unsafe would be lying.
To suggest that your company has the expertise to make something like this safe is false advertising on a criminal scale.
Let's take for a start the issue of supply and demand. Currently, the U.S. (and every one elses) power networks are designed to supply enough power to meet the demand no matter how ridiculous the demand happens to be. There is no doubt every house needs several appliances turned on at all times. Refrigerators cost us in power but preserve food and therefore should not be considered optional. Since the invention of air conditioning, people have been moving to warmer climates rapidly. People move to Florida, Southern California, Arizona and Texas all the time to live a "more comfortable life".
Having lived in Florida for 8 agonizing years, I can say from experience that air conditioning is a mandatory requirement. If we forget the issue that people don't really need it and they can adapt to the heat, we should focus on issues like the mold and rot which can destroy houses in that swamp in very short times without air conditioning. Property owners need to leave the air turned on in unoccupied houses to avoid destroying the property before renting or selling it. This is because we build houses in Florida the same way we do elsewhere in the country instead of adapting our construction techniques to the climate. Let's face it, adobe houses with no window glass worked in those climates for centuries before we chose to build pretty houses out of heat retaining materials on the outside and easily rotting materials on the inside. Because of the lack of a natural foundation (as Florida is a floating land mass), it is impractical to build upwards. Therefore houses are built relatively flat. Therefore, building a taller house which can be cooled from the top down is not possible. Instead, the houses are built longer and wider increasing their surface area that is baked in the sun, therefore requiring a great deal more cooling. And instead of making use of the underground water (which smells quite bad) to assist in the cooling, purely electrical means are used.
Let us for the moment suggest that we can't just go back and easily force everyone to build houses that are more efficient to cool. After all, in Florida, Texas and Southern California, the average household income is very low relative to the cost of living in the areas. This is because so many people choose to live in a location where they "Don't have to shovel rain" and where the heat is so brutal that is is really hard to motivate themselves to work harder than is necessary to simply sustain themselves. There are of course exceptions, but the masses of these states are quite lazy in comparison to people in warmer climates. Hell, in the northern states where it's not economical to have air conditioning, people go to the mall or to the pool to cool down, either way constantly moving. In the south, people simply stay inside their houses in the air conditioning to avoid the heat.
Now, we need to figure out how to balance the supply and demand scenario another way which is:
a) non-intrusive to the people. Possibly even provide them enough "value" they'll rush to the store and pay for it themselves.
b) is cost effective enough that it costs the government less to enact it then to build a new series of power plants to compensate for shutting down the nuclear plants
1) Force the cable companies to either:
a) eliminate set top boxes in favor of in television tuners
b) make all set top boxes which do no power themselves off when the TV is off (or at least switch them to 0.5w or less standby) illegal A modern set top box without PVR uses 25 watts of power. With PVR can use 35-80 watts. We'll assume the balance of this is approximately 50 watts per box. When people turn off their TVs, they typically leave the set top box turned on. After all, even when they turn the box off, that little led is still on, so what's the difference. And the PVR doesn't work unless the box is turned on. Siting "http://www.nationmaster.com/graph/med_tel_percap-media-televisions-per-capita" and "http://www.
A nerd is generally a highly intellectual person with a strong, if nothing else academic skill set (whether through the universities or self-taught). A geek on the other hand (and mind you the original definition of geek is "a carnival performer often billed as a wild man whose act usually includes biting the head off a live chicken or snake") is a person who lives a certain lifestyle where their method of gaining attention and possibly public acceptance is to behave in a manor which is entirely different than is considered the "public normal" for lack of an alternative wording. In many ways, being a geek is simply a way of conforming to a non-conformist group similar to the modern "goth movement" or the "Smiths' style Meat is Murder" styles of the 80's.
Geeks on the other hand are different from the other non-conformists as they are often more or less intentionally conforming to the "geek style" in order to allow themselves to "fit in" among others. In many ways, geek is a safety mechanism. If you're not particularly good at sports, self-articulation, personal presentation (grooming not excluded), style, fashion etc... upon reaching a secondary school level, in order to avoid simply being an outcast, a geek will emerge from their childhood cocoon of simply being an awkward child. It allows them to embed themselves within a larger community where they can solve the issue of finding social peers as well as being less of a target for people such as "jocks" who infamously have caused the geek community grief to attempt to make themselves seem more important before moving onto a highly lucrative career of wearing ties and misusing buzzwords (if they're lucky enough to avoid working at a gas station or McDonalds).
Nerds on the other hand are a group of people who may or may not also be geeks. A nerd is often a person whose interests and areas of specialty is academically focussed. While there are other types of nerds, generally a "real nerd" is very mathematically and/or scientifically focussed. Nerds can be found in any social group ranging from geeks to hippies to fashionistas even jocks.
A person does not actually need to be a geek to be a nerd and conversely, it is not necessarily that a geek is in fact intelligent.
Geekdom is more often labelled as opposed to seeked out. Many geeks simply were outcasts and eventually just found themselves grouped in with other geeks. Most other social groups have a special dress code that must be met and maintained as a minimum entry requirement. In most cases, geeks are simply people who don't bother with this. After a certain point, even geekdom requires a dress code be met, though it's generally much simpler as it doesn't require color coordination or fashion sense. Sometimes, it's as simple as choosing to buy the same type of clothing you'd get if your mother was doing the shopping for you.
As an adult, leaving geekdom behind can be as simple as buying a new set of clothing and frequenting a different social environment. Dressing in a suit and going to a bar where people judge how important other people by what suit their wearing is an example. Of course, in that environment, a proper haircut helps as well, often a change in eye wear as well. This group often sees glasses as an imperfection and many members of this group will choose to walk around half blind to avoid being seen in glasses. Buying some blue jeans and a few concert T-shirts will allow a person to easily integrate into a rock bar crowd. Leather, chains etc... gets you into the goth crowd. Researching fashion from magazines and dressing those styles will get you into the pop-culture crowd, this one however requires that a person can exhume a sense of confidence even if it is false.
Nerds are often geeks. In other social cultures, a person's worth is often measured by what they wear or who they know. Sometimes simply by how well they smile, laugh or tell a joke. In nerd culture (which is not geek culture), people are accepted based on either what they know or what they are able to
While others call your remark trolling, I simply call it inaccurate.
Nintendo developed a portable console (the 3DS) that is weaker than telephones in processing power. If you of course compare for example an iPhone or high end Android device the mobile phone to compare against. I in the comparable price category, I'm quite confident that the 3DS holds up quite well.
As for the Wii vs. a telephone, then you're not taking time into context. Nintendo would obviously not release a TV console with lower specs than an iPad. Although I have to admit, for the market which Nintendo focuses on, I believe they'd have no problem at all selling a console based on the same specifications as the iPad 2.
It would not be hard at this point for Apple to sell a sup'd up version of the AppleTV based on the A5 (or a quad core version of it) with a faster graphics chip. If Apple would then add external controller support to the device or even make the iPhone, iPod or iPad a standard controller for the AppleTV, then Apple would immediately gain a very strong foothold into the console game market.
What most people keep forgetting is that Nintendo isn't about "hard core" gamers. Apple could very easily enter the console gaming market today and the best part (for them and maybe even the consumer) is that the consumer would already own tons of content.
The only real problem I see for Apple in this context is that they need to fix the 5 device limit for DRM. I've had considerable problems with this myself as in our house, we have an iPhone and two iPads. This makes managing licenses a nightmare for us as we need to be able to move media between devices. I will not buy a new copy of an audiobook so that my daughter can listen to it after my son who listens to it after my wife who listens to it after me.
There was a time where IT was basically CS. You had to actually understand how a computer worked in order to fix minor problems with it. While I'd love to say this was in the good old days of mainframes, in reality, it was much more recent than that. A guy fixing a 486 generally would just swap out parts until the reported problem went away or reinstall DOS and Windows 3.1 to start from scratch. A much better IT guy would instead track down a motherboard which was put together by a legitimate electronics organization that understood wave reflection (the #1 problem with boards of the generation) and dump the run of the mill organizations which sold cheap hardware during a time which PCs were being commoditized. At that time, all you needed to design a motherboard was a CAD program and a general understanding of how to connect pins together into the bus. To develop something good required an engineer who understood the important of trace length tolerances.
These days, the IT group at a company can be made up of teir 1 (high school flunkies who like installing windows and complaining about the members of their organization who know even less than they do), teir 2 (people who might have studies computers at some point but lacked the talent for anything much more complex than basic network design) and teir 3 (guys who may or may not have a real education, but their certifications are more important than their degrees anyway, they install servers, configure routers etc... they might even be able to use WireShark or Network Monitor to solve problems).
CS on the other hand, was really watered down during the era where IT and CS were really the same thing. CS stood alone and no longer required an understanding of electronics engineering. A guy who would configure a router and a guy who would design a router took the same courses, but the problem is, the world needed A LOT more guys who could configure a router than design one, so the programs really dulled down towards the IT level. As a result, the CS program now spews out people with learned skills instead of problem solving abilities.
Now that the programs are separated, I see IT as a purely vocational skill. IT grunts should be educated either by vocational schools or even certification courses (like those from Global Knowledge Network) and CS should remain what the name implies, computer science. Database and Web developers should be somewhere in-between. They're just grunt coders who structure databases and link fields on the screen to field in the tables. Electronic engineering should be reintroduced as a requirement to CS students. It's important to understand HOW the hardware works. a CSEE grad should be able to bridge the gap between hardware and software development. A CS grad, while not necessarily an guaranteed to be an expert in assembly language programming should understand machine level programming well enough to just pick it up and handle it effectively. They should be able to understand the system call architecture of the operating system.
MOST IMPORTANTLY!!! A CS GRAD SHOULD BE AN EXPERT ON ALGORITHMS (DATA STRUCTURES).
I am furious that in most companies where I have worked, I am the only one who implements data structures more complex than linked lists. People show up at my desk and ask me to implement a new node based storage/recall system because they managed to get a masters degree in computer science without understanding this MOST IMPORTANT TOPIC well enough to implement it. Data structures is the absolute minimum requirement for anyone who wants to be called a computer scientist. ALL OTHER TOPICS of computer science stem from data structures. Sure, there are algorithms which act on a single type, but in reality, the logic involved in algorithms will allow the developer to produce an optimal implementation of it. For a beautiful example of the difference between a real computer scientist and a hackish one, look up CRC32 and see the difference between the brute force methods of arithmetic(as well as logical) implementat
ZRTP is off limits to most clients since Zimmerman has made the license so restrictive AND EXPENSIVE that commercial vendors simply aren't interested in it.
SRTP is utter rubbish and should never be bothered with. Oddly, I happen to know that the video conferencing systems used by most governments are "secured" by it.
RTP is a weak protocol at best. The only advantage of it (as I'm programming a TS over RTP mux) is that it is common. Even with RTCP additions, bidirectional clock synchronization is rough. Additionally the granularity of ACK/NACK as an after thought was a mess. In the case of video conferencing, being able to perform pure predicted video unless a new intra is requested is a must. The latency of RTCP in this scenario is too long. Also, the sequence counter of RTP is so damn small that when transmitting high bit rate video over UDP, it's entirely possible a 1 second network dropout can go entirely undetected/corrected.
Forward error correction, a damn near minimum requirement of block based codecs in audio/video is a joke with regards to RTP as well.
Skype was beautiful since instead of focusing on inter-op with crap standards like SIP, which are either too damn big to effectively implement (H.323 for example) or too damn small (SIP) to be useful, they instead hacked their own protocol which included just about everything good.
As a further note, Skype is wonderful because it is by far the best in class for acoustic echo cancellation in free software. PC's suffer the terrible flaws of imprecise timers (floating clocks, cheap crystals, etc...) and very often unpredictable I/O latencies (on systems where ASIO hardware is not available, meaning 99.9% est.), crap speakers, crappier microphones etc... Without using a hardware based acoustic echo cancellation system or isolating the microphone from the speakers eliminating the need for AEC, it is very hard to achieve in software. You need to :
a) identify the clock rates of the audio output and input constantly as their crystals can be drifting differently
b) rate convert the input or output stream
c) search the input stream for the output stream in order to synchronize clocks
d) adjust levels of the input or output
e) subtract the output from the input to cancel the echo, hopefully removing some added noise due to low quality components in the process.
Oddly, adding a high quality microphone to the webcam you bought amplifies the problems substantially and even removes your ability to adjust the microphone location as the camera needs to remain focused. The added USB latency makes the problem even worse.
Additionally, if there's something more than just your conversation coming from the speakers, there's even more to be done to alter the definition of the output audio in order to remove the echo of that additional noise as well. It requires the AEC code to "read the output" back from the audio subsystem instead of using the audio it sent to the subsystem.
This task is insanely complex in software and uses an insane amount of CPU. "The Good Stuff" meaning the expensive software from certain vendors (of which I worked for one) requires more CPU power to process just the AEC than was required to handle H.264 encoding AND decoding at 720p. And still we couldn't reliably handle more than just 12Khz signals on a Core 2 Duo 1.76Ghz.
So, if we looked at it from purely a technology perspective, the closed/proprietary systems are very likely better solutions than the open and standard compliant systems as there is SOOOO much room for improvement that the standards based systems can't compete.
From a business perspective, Skype has the majority of the world's chat messenger and voice chatting users. When granny wants to video chat with her little grandchild, she Skypes them. If you buy a notebook with a camera, it's a Skype compatible camera that matters. If you buy a webcam, it says Skype on the box.
Converting that many users to something new is pretty much out of the question.
When I was a kid, I worked for companies that would complain about minor expenses like this. I will however make some observations from this :
1) If the developer really needs that second monitor, then for the $100 it costs to buy a second monitor he could just as easily go out and buy one. Unless
a) He is paid poorly as a developer and $100 seems like a lot as opposed to the equivalent of more than just lunch, a tank of gas and a video game. And therefore
i) He is willing to work for a company for little pay where he is valued little because he either lacks alternatives due to location or due to expertise/experience etc..
ii) He is a whiner baby and the real reason his boss is complaining about buying another monitor is because he doesn't like pampering this whiner baby and would be just as happy if the whiner baby quit.
b) He is a highly principled person who thinks that the $100 to buy an extra monitor is the company's responsibility but he lacks the ability to express himself as a mature responsible adult and simply comes off as a whiner baby when he does.
oh hell, I can go on like this for pages, but it's very hard to do with bullet lists without actually repeating myself constantly.
What it boils down to is.
The company is a bunch of tight wads who won't spend $100 for a cheap ass monitor for a developer who probably has proven to be a pain in the ass up until now and the company would love to get someone else for the position but realizes that this whiner baby is as bad as the next they'll end up with because they probably aren't willing to pay shit for a decent developer or to outsource to a respectable company like they should unless they happen to be big enough to have a proper development team on staff which would certainly be paid better and not make gripes over petty expenses.
If the original poster is at all serious, then here's what he/she needs to do :
1) Fire the whiner baby. You've already shit on him and there's no undoing what's been done. If he's a whiner baby now, then trying to fix the problem would require giving the mouse a cookie and then a glass of milk, then a mercedes and he'll still bitch like an old hag.
2) Either hire a proper consulting firm (not consultant... but consultant firm) to develop the project properly..
OR...
3) Hire two (or more) well paid, experienced developers internally to take over for the whiner baby. Treat them as respected professionals and trust that if they request a second monitor that they believe it will make a positive impact on their efficiency. DO NOT recycle computers on the two new guys. Buy a new machine for each, preferably a laptop with a 17 inch screen and 1920x1200 resolution. This will save you money over the long run since developers with laptops tend to keep them around longer than desktop machines which they know are upgradeable and cheaper to replace.
4) Implement a project management methodology. Whether it's SCRUMM or some other useless system because it at least maintains some level of time accountability and makes it so that developers feel respected when they have a means of scheduling tasks instead of constantly dealing with "You need to add this feature NOW" and "Can you do this today?!" And it makes it so that management builds respect for people doing a non-trivial job as they will see the stickies on the board showing all the things that need to be done and therefore will see that they aren't just pouring money into a sink hole but that these people are actually working.
I personally use an iPad for eBooks to read to my children instead of using paperbacks because I got the iPad for free and couldn't figure what else to use it for. Since that time, I have started using it for watching films, but there's no particular reason I use an iPad vs. something else. I love my iPhone far more than my droid phones or windows phones. So I use it as my primary phone. I am not an iFan, I just can't see myself using another device out of principles when the other devices I have just aren't as good (personal opinion here, not a statement of fact).
I do buy a crap load of things through the iStores, though I don't use iBooks. I find it to be quite weak as an offering. Kindle App is much much better as I can use it on my Android devices, PCs, and Windows devices as well. I also purchase audio books directly from Audible since I use their subscription plan and their player is better for audio books than the Apple player is.
But, as a developer let's be realistic about a few things.
1) Apple has historically either bought or reimplemented all technologies every made for the Mac and then forcefully destroyed competition by altering licensing terms or even killing off APIs needed to produce those applications.
- Opera, Chimera, IE and others were screwed by Apple when they released Safari since the only method of handling font rendering on Mac was pretty much impossible to perform quickly without using internal undocumented APIs. Those were hidden in binary wrappers to avoid other developers getting access to them.
- Adobe was screwed by Final Cut, DVD Studio, Logic, Display PDF (quartz), etc... In fact, every single time a great application has been published for Mac, it has taken little or no time before Apple decided to compete head on with the developers who made it.
2) Apple DOES NOT CARE about their application developers. In fact, the recent decision to start charging (while a very small amount, still charging) for their development tools (XCode) shows that they no longer see attracting new developers who want to experiment to the platform. If there's money to be made from an App, then Apple will make it.
3) Steve Jobs has a powerful position inside of Disney/Buena Vista from the Pixar deal. Even if he isn't active himself... he has "his guys" in there. Disney Buena Vista is the most powerful entity in the entire industry regarding lobbying the government to protect their interests. They have managed to pretty much eliminate expiration of trademarks and copyrights with regards to Mickey Mouse and are such tight asses about their content that Buena Vista Norway can't simply dub or subtitle TV spots for advertising new films on DVD because they don't have the rights to alter Buena Vista's media themselves. So, when Steve wants to make waves in copyright, he simply does and if he says it's alright than Buena Vista will say it's alright and then the rest of the industry will simply say "Well, without Buena Vista, what can we do about it?" So, Apple has chosen in all forms of media to control all aspects except the product of it directly. If they want to have a book from Simon and Schuster on their device, then they'll go to Simon and Schuster... who gives a crap about an app developer who spends 18 hours a day kissing ass to be aloud to publish on new book.
These guys were simply idiots to get into this business the way they did. Apple didn't do a single thing to them that couldn't have been predicted all along. I really wonder how long it will be before they bypass Audible and go straight to the audio book vendors themselves.
Kindle will be around for a while on iDevices. If you have to go to a web browser to buy a book. Amazon has the means to make profits from the books and since they're probably the biggest mail order book company in the world, they have the leverage to make the publishers share their sales a bit better.
I'm just scared to hell what will happen to my books, audiobooks, apps etc... when Apple, Amazon, Google, etc... go tits up or get bored of selling those things.
I am a recovering Jew and currently an atheist minister. So let me jut say, that while the signature was cute and provocative, it's sad and pathetic as well.
As an atheist minister, I like to think that an individual who isn't burdened with the nonsense of listening to a preacher all the time has time to think more deeply about issues based on full information when possible.
An atheist voting for a party is pathetic. An atheist should vote for the individual and what they're claiming they hope to accomplish... of course assuming that you trust the credibility of the candidate to follow through with their proposed plans. Of course, you should also vote for a candidate when you feel that candidate is the better choice of the two. In the three right wing party system the U.S. has become leaving voters with the choice between right wing, far right wing and tea bagging nut cases, the "atheist voter" you propose doesn't have an option either way. They are generally left with a choice of voting for the candidate they feel will do the least damage.
As a great example, Obama who was certainly the best candidate in the previous election was a terrible candidate. He lied just as much as the other two right wing parties to get into the office and oddly enough, while you may believe that the other candidates were evil, they were all very much convinced they were the better option "for the people". They all believe they're doing the right thing to some degree. And they also believe the other candidate is doing the wrong thing.
I am 100% sure there are cases where the republican candidate... while possibly a religious nut job is the better of the two candidates we're given to choose from. There are plenty of self serving uneducated morons in the Democrats as well. There are times where it is simply more appropriate to choose a religious wind bag who genuinely wants to help change things for the better than to choose a self serving, pocket stuffing democrat.
So, to correct your statement, "An atheist who votes for a candidate based on their party...." needs a snappy ending, but at least it's a good start.
--- Getting tired of "Jesus! How can a billion people be wrong?" bumper stickers. Gonna print up a pile of "Buddha! How can 2 billion people be wrong?" stickers and start tagging all the cars in mall parking lots.
I'm not sure about code monkeys. You know the guys who receive a project design and implement each individual function. I'm a software engineer and as such, as opposed to being a developer or a code monkey, my job is to identify problems, research the problems, research solutions and then either implement my findings or document it for a larger team of individuals to implement.
A software engineer is a person that should be able to program, but it's just a small part of the job. The majority of a software engineer's job is solving problems, generally through research and sadly often trial and error.
Software engineers require books, possibly video training courses etc... if you are a software engineer and you need to be spoon fed new topics, then you're doing it wrong... or you're trying to get a paid vacation:)
Talking about that... time for the boss to spring for a new Safari Online subscription
Seriously, if the photographer does a better than mediocre job at best, he'll still manage to sell 100 quid worth of additional product once he returns to show off what's he's done. What's best is, he doesn't even need to have his own studio to do this and by using a proper photo printer (dye submersion for example), he can even do the prints at a good profit to himself.
This guy lists that he managed to get into 301 houses... let's say that's over a year. Even if he only averages 100 quid a house, he'd managed to cover the basic travel cost involved with the job with the 30 quid price, so the 100 quid minus the cost of materials required is probably 90 quid. That's 27000 pounds in a year.
Now, if he offers so form of credit to the people who responded to this add, there's a huge chance he'll make the hard sells for 1000 pounds packages or more on a regular basis. Let's say he can make 1-2 of those sales in a week. That's 50k to 100k more income in the year... minus 10-15% for materials.
On top of that, for all the cash deals he/she is pulling off, he's probably keeping most of the small stuff off the books. Which means he's got a bunch of stuff "Tax free". Then nearly everything in his life is tax deductable, as he uses his home as a studio, his metro cards are work related, his food is expenses during travel, his clothing is related to presentation of the business, hell he can even claim his dates with the girls he meets is sales related to help sell them portfolio portraits. So, he/she probably pays almost no tax at all.
This guy who is "working for free" is probably raking in a crap load more than I am and I'm a system level programmer with 18 years experience.
As a former instructor (way back in the previous millennium) at Global Knowledge, I found that the Cisco classes at Global Knowledge are fantastic. I "audited" several of them and learned tremendous amounts from them. But, let me be frank. This is 2011. Unless you need hand holding or a paid vacation, video courses tend to be equally complete (especially the ones which use the Cisco course materials) and are MUCH more affordable. The budget could be spent elsewhere.
Also as a "star programmer", there are many questions you should have which could never be covered properly in a Cisco training course. I personally develop network infrastructure equipment for broadcast video over IP. As a programmer, when I hear about routing protocols, I want to clearly understand the protocols. Recently, I have been working on developing an in-house course for my colleagues regarding IPv6. Compared to the Cisco courses on the topic, it's far more compact and far more detailed. It makes the assumptions before starting that I don't need to explain hexadecimal, it's assumed that when discussing the routing protocol instead of spending ages covering drop through mechanisms, I can simply present the algorithm and it will be understood. So the Cisco theory classes are insanely overpriced and painfully boring for "star programmers".
I'll chime in on #10 as well.
Now that you're not being paid to program any more, take advantage of it. If you need a programmer for a task, hire one. Programming is something you should do for fun now. Find the open source project you always wanted to work on. And build on it. The hiring someone for a task theme is good for much of the rest of it as well. You can't be an expert on every technology. Hell, I want to be, but when it comes to the output quality of the video codec I'm working on, the girl with the Ph.D. that sits next to me is far better suited to design and prove those algorithms and I am. But I'm damn good at making them work and making suggestions as to where we should cut some corners if the math allows it. There are some things you'll have to maintain, but maintaining a mail server for example is just plain stupid. You can administer it, but outsource it if you can. Programmers have a bad tendency of reinventing the wheel over and over again. Remember, there's probably already a solution for it out there. Much of your job should be about finding the right one.
An additional issue with issue 4. If you're not only the network administrator but also the help desk, use some of that unlimited budget to get a slave to answer support requests and reimage machines. Even if that slave barely knows a thing about computers, their your front line to make sure you're not spending your time changing toner cartridges. If you setup remote installation services (or whatever it's called this week) properly, it should be possible to train a monkey to install new images on machines. In fact, I once configured a system so that GRUB was installed on a USB stick (mounted within each computer) with imaging software on the stick. It made it so that you could reinstall the image yourself by pressing 5 keys on boot-up. If the users keep their documents on the network, this is a perfect solution. Then just keep your images up to date.
The real point here, leaving technical details aside is that you shouldn't be imaging machines. I would however highly recommend you learn all you can about Windows PE and imaging services. StarGoat mentions you should buy the same machine in batches, but understand that with Windows 7, the same hardware imaging requirement is gone. Hard drive controllers are now standardized, you don't need a new driver for every machine, just a new optimal driver which will most likely be automatically installed from Windows Update. A well maintained image for desktop PCs is the key to a fluffy life.
Also, this is 2011, you can bully users into using online services for most things. So, you can use Citrix or some other type of remote solution for application streaming.
When my son's DS broke the hinge on the screen (again) he asked for Christmas last year to get a new DS. I informed him he should wait for the 3DS if he really wants it and that a new DS costs just too damn much if I can just pay another $7 for another shell as I have done several times over the past 8 years. So if he wants one, then he should save up for it. This happened in October and all we knew at the time was that the 3DS was coming. My daughter decided to save for one as well, we expected a price tag approximately a little over half of the final price.
Well, my kids saved up and between the two of them, hording their allowance for months and adding to it Christmas money, they have enough for one 3DS and one game. During this time, they have stopped playing DS as their primary platform and instead play on their iPhones. Yes... a 7 year old and a 9 year old each have iPhones. They even have plans on them. The reasons are simple :
1) My wife and I wanted the iPhone 4, so we figured since our kids would need phones sooner or later... why not?
2) You can't easily lose and iPhone and same goes for the book bag they're in during the day. Or the kid the book bag is attached to while in transit. I something ever happened (of course hoping it won't) and one of my kids went missing on the way to or from school, I have easily track the phone in real time from my own. We have used this one already to figure out what happened to my son's back pack which was left at a friend's house after school.
3) Nintendo DS (even the cheap one) with 10 games costs more than an iPhone (even bought brand new) with 50 games.
4) You can buy the game once on iTMS and use it on up to 5 devices. So, when we buy a game, it's for all of us. So, if one of us buys Angry Birds, we all get it.
5) Their homework assignments come via e-mail which they can open on their phones and print over wireless.
6) They can call Momma and Pappa to ask if they can bring a friend home or go to a friend's house after school.
7) With 32 gigs of storage, that's several seasons of cartoons. They watch it while we're in transit. No more scratching DVDs while changing discs on the road.
8) They can read ebooks or listen to audio books whenever they want.
9) Most importantly, they stop taking my damn phone everytime we're on the train, bus or in the car
So, they have decided to get one 3DS and a game and share it as there's no point in buying two of them anymore.
Nintendo isn't at risk from PSP. They're at risk from Apple and Google.
I have to say I thought it was quite humorous that the majority of countries where freedom is taken for granted are simply not included.
For 12 years, I stood up each day in school forced to pledge my allegiance to a flag and the country it stands for under some god I don't even believe in. It's as if they were also trying to force their religion on me as well. The simple fact that we are forced every day to re-pledge our allegiance at risk of being penalized by the principle are taunted by some religious freaks is a simple proof that at even at the basest level, the freedom "All humans are given by their god" is subject to allegiance to a country which recognizes the necessity of forcing it.
I am in possession copies of Merriam Webster dictionaries starting in their earlier years and updated for each time the accepted American definition is altered for the words "Freedom" and "Liberty". You'd be surprised how often this occurs.
Given that America feels the need to force people to believe they are in fact free through propaganda and government sponsored reeducation and that the government regularly changes the definition of liberty and freedom to suit their purposes and therefore guarantee they are the most free people with the greatest liberties, it is truly pathetic that under these circumstances they can't even place #1 on a report they sponsored either directly or indirectly.
When I moved to Norway 13 years ago, I learned about freedom when I realized that it's not an issue here. People aren't sold freedom, they aren't regularly reminded of these great god given liberties (which the Bush attorney general publicly stated are really more of an opinion as opposed to a right the day they chose to suggest the habeas corpus did not apply to those who did not pledge their allegiance to the flag or to those where their allegiance was in question either), instead people simply live and let live.
It is wonderful to live in a place where you're simply free and no one has to sell it to you.
And besides, anyone who writes a law to protect freedom on the Internet clearly doesn't understand it well enough in the first place to write a law to protect it.
Censorship is always going to exist where ever you go, however, it can always be circumvented. If there are any laws needed, it's laws to protect the individual who chooses to go around the censorship.
People find BluRay to be more of a problem than DVD.
DVD is pretty damn simple. While it has its obvious flaws such as allowing DVD authors to force people to watch a dozen commercials for other movies before watching a film, it's a nice simple format.
BluRay on the other hand requires the user to regularly update their player firmware which in the case of my cheapy $200 Samsung player can take 25 minutes in order "To improve my viewing experience" by adding support for a new AACS key or support for a new BD+ scheme.
Read performance of BluRay decreases drastically with each BD+ update causing a tremendously long period of waiting before you can play the film.
Shitty BluRays sometimes crash the Java virtual machine requiring the player to be rebooted.
In short, although I have a BluRay player and BluRay discs, I play DVDs in the BluRay player and just copy the BluRay films to a file and play that instead.
After all, a Jiggawatt is clearly not a Gigawatt. It might be the old definition of a Gibiwatt prior to those nifty genii who came up with a power of two friendly version of the metric system. Of course, it could also be that Douglas Adams was involved with the script indirectly and it's somehow based on base 13.
X is a series of APIs which for the most part manages rectangular regions within a display context and provides a series of accelerated functions such as line drawing and text drawing. With the support of things like XVideo, it even supports exposure of a video card frame buffer for rendering directly to a graphics context. Nearly all the features of X which you're explaining are related to X's ability to serialize data for transport over a bidirectional character device allowing the graphics context to exist on another screen.
Wayland does not necessarily lack support for these features. They just haven't reached the point of maturity which is found in X. In order to compensate for that, an application designed to function using Wayland can make use of a Wayland X11 backend to render similarly to what you're describing. In the context of remoting, where all data is serialized and deserialized (though in local instances, shared memory might be used), the functionality as far as you see it should be unchanged. You should still be able to pipe through SSH tunnels using X11 for example. The expected performance hit should be negligible if at all measurable depending on the X11 back end. If the Full context has to be rendered using wayland and then rerendered to X11, performance may take a tiny hit, though for operations like font management, font switching etc... it could actually be faster. On the other hand, if the Wayland X11 back end is written well (and I'll imagine that it is), then there should be no performance loss relating to how the data is serialized. If anything, it may be faster as Wayland could perform operations similar to how NCQ works on serial ATA to optimize the connect as it provides a small buffer between application and serialization.
So... the only short comings I see in Wayland at this point is that people don't quite understand it yet. I personally see Wayland as a welcome improvement. It finally will allow the majority of hacks in the form of X extensions to be managed and consolidated into a cleaner set of APIs. X11 was one of the easlier windowing APIs created and it was great for the most part as in modern terms it could be seen as a user mode API to the graphics adapter driver. But on the other hand, it is really very complex to accomplish even basic tasks on. Try setting the mini-icon for an application and you'll see what I mean. Wayland builds on what has been learned from a gazillion years of X development. Some people might suggest that it's too early to make the change, but no one is forcing anyone to upgrade from X11 to Wayland. Most people simply will because for most people it is definitely ready.
Oh... btw... no one actually codes for X11 directly anymore. We use Qt, GTK+ and a multitude of other windowing APIs. X11 itself doesn't actually offer APIs suitable for writing applications. That's why we had Xt and Motif. Theses days, we use more modern alternatives that simplify the development of custom widgets. But X itself is really just a transport layer.
I have a box full of $5 HDMI cables for using with devices where routing the cable is easy enough.
I do on the other hand buy $10-$15 when I need something in either another color or when I'd prefer to have a softer cable that is easier to bend.
The fact is... the emperor has cloths. It's just that there is a clear difference between charging an extra $10 for a nicer cable and charging $90 for a similarly nicer cable but under false pretenses.
I'm a huge fan of someone providing DC power over a speaker cable and digital audio via a sub-band carrier on the same cable. When someone sorts that out... then monster is completely screwed. But until then, companies like monster do make nice cables for carrying analog audio signals over distances.
Here in Norway, we have many round abouts... far too many. They are fine in smaller suburban areas where minimal traffic control is required. They're more effective than stop signs or stop traffic lights, but when the area is more heavily trafficked, they are an utter disaster. A while back, I wrote a traffic simulator program that I implemented with an algorithm called "Every 5th driver is a selfish opportunist prick". I tested many scenarios based on a few basic rules.
:
1) More than half the people driving do not understand how to use their turn signals in a round about
2) Less than half the people pay attention to turn signals in a round about since they are either lazy or far to busy building the courage to brave the round about
3) Many people, even those who grew up with round abouts fear them and will wait until there are no other cars in the round about and no other cars that look like they'll soon reach the round about while they're in it before entering the round about.
4) When round abouts are backed up, the vast majority of people will not yield to other queues to offload the queues from other branches. This is a result typically of people who are so frustrated from waiting for their turn, they feel entitled to the right of way at all times.
5) 10% of the people (generally Mercedes and Audi drivers) who see there is someone entering the round about further ahead of themselves will accelerate to reach the round about to ensure their right of way to avoid risking being on car further behind. 10% of them will very aggressively attempt to force their right of way either by honking or hostile driving.
6) More than half the people will see the round about as a self regulating traffic device. Meaning, they'll treat it as if it were a traffic light and that if they have managed to enter the round about, then the round about has decided that it should belong to them during their occupation of it.
7) 80% of all people (came up with this value by sitting at real round abouts during rush hour in the city and counting) DO NOT honor the multiple lanes in the round about.
8) 75% (same source as in 7) of people with license plates issued from areas other than the city containing the round about will fail to be in the proper lane of a multiple lane round about.
9) 10% of all people who are frustrated by waiting in the queue of a multiple lane round about will use an alternate lane's queue to cut ahead of other cars and then force themselves into the proper queue lane shortly before entering the queue. Effectively delaying the queue they are avoiding further and blocking the queue for the lane they used to cut in line until they have managed to bully their way into the lane they need to be in.
10) 1 out of 10 thousand cars will breakdown causing rubber necking while people are exiting the queues where the car is sitting disabled.
11) 60% of all car will make more simple mistakes in the presence if there is a police car present. Most importantly, they'll wait longer and prolong queues.
12) Bicyclists will take the right of way in round abouts nearly every time. Most often, they will not even decelerate when entering a round about. I believe this is caused by lack of driver education by the bicyclist. They see the cars are competition or the enemy.
I ran substantial testing based on
- Varying levels of congestion
- Distances between round abouts and other traffic regulating devices (including other round abouts, traffic lights, trolly tracks, stop signs etc...)
- Distances between round abouts and bottle necks generated by the reduction of the number of lanes in an exiting branch, or construction work.
- Time of day, testing of incoming and outgoing traffic
- Distance of signs defining the correct lane to use before the round about
- Angle of signs within a round about defining the exits including their size and readability.
- Quality of marking of lines for the queues to the round abouts.
- Added assistance within queues of cones, barriers or otherwise to avoid
The only Galaxy Tablet users I've met who are actually pleased with the platform are the people who will force themselves to like the things they bought no matter what. They're also the type of people who will try and convince everyone else they love their new toys. After all if they can convince someone else they're justifiably pleased with their new toy then it must not have been a bad decision to buy it.
I'm sure there are some people out there not outraged by the fact the the second they invested in a tablet, Google informs them that the specs are too low to run the next generation of the software which will be due out soon, but in reality, most people were quite upset.
This was a major failure on Google and Samsung's behalf since the Galaxy Tab should have been released for developers only to get them started writing apps for the Android tablet platform. In reality, the the newer Honeycomb devices should have been the generation 1 device.
The end result is, tons of people heard all the hype about the Android tablets being the ultimate iPad Killer. Then they heard about how all these major sales numbers of the Galaxy Tab was based on how many hit the shelves, not how many got to actual consumers. Then they heard about how the Galaxy Tablet was so underpowered that it couldn't possibly run the next version of Android due out a few weeks after everyone just bought their Galaxy Tabs for Christmas gifts. Then they heard about how there were no programs for the Galaxy Tab because developers were having problems with it.
If Android Tablet and Honeycomb takes a long time to catch on, it'll be almost entirely because of the Galaxy Tablet.
I used to work with Nokia. I was with a company that would work towards delivering software for 5-15 Nokia devices at a time. They were so secretive about each of their products that the developers working on these different projects were not allowed to communicate with one another. We had to have separate bug databases even though bugs for one were bugs for all. We had to have separate code repositories even though the code should have been common to all. The reason was... they wanted to make sure that no person had enough information available to them to leak information about more than one product.
Let's be realistic here. The handset market is very simple these days. You make a device, you choose an OS, you differentiate yourself with a new skin, maybe add some value adds, you ship.
1) You make a device.
You can either buy a reference design from a hundred different companies and add to it, or you can develop it in house... or you can combine the two. With a reference design, you really only need to put a logo on the case. If you design it in house, you're spending tons of time and money on something that will make your device not that much more interesting than the other guys. You better have an awesome idea to differentiate yourselves from the other guy if you design your own, otherwise you're spend a few million bucks that was just a waste of time because "We're special, we design all our stuff inhouse".
2) You choose and OS.
Android, Windows Phone, Palm... whatever. Any company who wants it can put Android or Windows Phone on their device. Palm, BlackBerry, iOS are developed in house by the phone makers, but really, Nokia has already proven they can't make their own OS, so it's better off they simply use someone elses.
3) You differentiate yourself
"Special Nokia Apps" are just plain stupid anymore. Use the ones built into the store or give away some of your inhouse developed ones, but sell them on the store to people with other phones. Don't waste your time making ones that only run on your phones... it's stupid and nearly impossible to maintain long term.
Make a skin. Well, you always have the default skins on the phone, but the user will want to install their own. So, if you're trying to have some fun while you make your phone... sure make a skin.. but don't interfere with the user's ability to change it. It's like when you buy a computer.. the default wallpaper might say Toshiba, Sony or HP on it. But you can change the desktop picture of your brother's computer to a picture of your bare hairy butt if you want.
4) Ship the thing
This is probably the hardest job in the business these days... managing the manufacturing and supply chain effectively.
But let's get to the point... Nokia will probably manufacture a slew of low cost, nifty little Windows Phone telephones and get them into the pockets and purses of millions of grandmothers across the world. But as far as being an innovator.... they should know by now... that's not their role in the tech world.
Yep... .NET and QT learned the most important lesson which was versioning. Nothing can't be fixed by deprecation of older technologies, even technologies like real CPUs get these benefits. It might have taken forever, but my latest Intel Core i7 doesn't even run 16-bit code unless emulated. Java was close to being the first of its kind... SmallTalk being a notable but much ignored predecessor (mostly because it was REALLY annoying to program with) and having set things in stone the way they did was a huge mistake in my opinion. I personally ported AWT to 5 different platforms back in the old days, even wrote a mostly Java implementation based on a frame buffer and an input event manager. I ported SWT to two platforms before Eclipse was even released within IBM for internal evaluation. And looking back on it, looking at AWT, SWT, Swing, I'm still amazed that Java is still used for making UI apps.
:) I personally find that I can often write code in C# or Java that can perform equally well or better than in C or C++. Especially when handling large integers and large amounts of dynamic memory allocation.
Let's forget the third party library system and focus on something more important. Naming.
Java, Mocha, Kaffe, Beans, Latte etc...
Don't get me wrong... I love coffee... drink over a liter of it by lunch time each day. But I have to Google to figure out what any of this crap is. If they'd have used three letter acronyms, I'd have had an easier time knowing what they were talking about. This utter lack of professionalism has always left me feeling like Java is the language of people who would rather be playing with tinker toys than writing code. What would have been wrong with something like "Object Modularity and Component System" as opposed to something stupid like beans.
Jazelle was always interesting because it took an acceleration approach as opposed to an implementation approach. In a way it said "Well, making a Java only processor is obviously a waste of time, but we can implement a means of running as many instructions as possible from directly within the CPU." I know there are hardware implementations of Java which accelerate probably as much as 90% of the system. And obviously, emulating 100% of the system would require an operating system to be implemented in byte code for it to be useful. It could be done I supposed, but it would be painful and ugly. As matter of fact, I remember some of the earlier attempts like JavaOS to do so. And I stand by the painful and ugly and add awkward to the mixture. PCI drivers were impressively ugly because of the weird method of memory mapping involved.
A more generic VM would have been much nicer I think. Start with a Motorola 68000 instruction set or even an ARM instruction set. Then compile the language natively to that core. Stack, register or Harvard disaster based, makes no difference. The point would be that the processor would be generic enough that the language and technology would be more important than the VM. These days when most CPU architectures include protections such as Intel's "Do not execute" flags and such, a more generic CPU with a specialized MMU for garbage collection would have been better. But, there's no point to it anymore.
The real value to Java is in the language itself. I don't know if I'd try to differentiate the relationship between Java to C or C++, but it's far enough from either and close enough to both that it would be hard to decide. It's a C/C++ like language as much as C# is. I personally program about 95% of my code in C++ since, with the exception of header/source mess which I no longer notice and by using Qt, I find it to be a great solution for everything from scripting to kernel development. Hell, it even has regular expressions
VMs are really a thing of the past these days anyway. They're more closely related to being a second stage compiler. Of course, in a language like Java where some code really shouldn't be compiled unless that execution path is de
Java isn't that bad of a language. But : .NET framework. Personal preference though.
- The libraries are not the best I've seen. I much prefer the layout of Qt or the
- Documentation after this much time should have been a great deal better. Java documentation is so-so and the library documentation is abominable.
- The Java VM should have been completely revamped when it became obvious a hardware implementation was pretty close to impossible. It is relatively easy to accelerate Java by translating most instructions to another processor architecture, however, it's more of a compile step than an execution step. The Java VM really should be implementable in hardware.
- The intermediate code format should store data as little-endian instead of big-endian. This is 2011. x86, x64, ARM dominate the processor world. Most other processor cores (such as TI DSP and MIPS) have the option of running in little endian mode. PowerPC and what's left of Sparc are the only big processors left which are big endian only. There are others like hitachi H8 and such, but I'm not even sure there are java virtual machines for them. Let's be realistic, file storage of large arrays of data should be little endian these days. And yet, Java still uses big endian. Time for that to change.
But I do agree with you... as a language, it's probably a better C++ than C++. I have personally been working on something that's half way in-between myself. Basically, C++ without code separation and without the need for forward declaration. It isn't a compiler per-say so much as a code separator. It converts #imports into #includes and converts classes into code + classes. Compile times have dropped considerably by forcing recompile of entire code bases at once.
I mean seriously... if you add home grocery delivery to the internet and make the prices reasonable enough, the fact is, the 0.5 miles a person walks twice a week to get their fat asses out of the car, into the grocery store, to the check out and back to the car will be eliminated.
While it sounds like a REALLY GREAT business idea.... and I'm sure it will take off... it'll take off for the wrong reasons. The poor bastard delivering the groceries will get to the house and there will be a sign on the door "There's an extra $10 tip for you if you come in and unpack the groceries while I leave my fat ass planted on the couch and finish off my last batch of Smore's goldfish".
I travel around the world quite a bit and outside of the U.S. and England, I have never seen a fat person actually get themselves a motorized wheel chair for no other physical disability other than obesity. In the U.S., these people are all over the damn place. I've been stuck behind 3 sisters driving their fat mobiles through the grocery store side by side while chatting... AND EATING!!!!!!
Already we don't go to the book stores anymore. We don't go out to rent movies. We don't even leave our couches to order pizza since we have our iPhones in our hands at all times. We have 60" screens or projectors in our home theaters so we don't bother going to hte movies anymore either. We go to work and we go to the grocery store. Hell, we don't even go to the mall to shop for clothes anymore because we're too embarrassed to walk into the fat store and find out that they don't see our size and it would have to be special ordered.
Rise up and scream at Bezos "DON'T DO THIS!!! DON'T DESTROY AMERICA!!!!"
I challenge anyone to say that a tiny little compartment sitting on top of a gigantic tube of high combustible fuel which is intentionally ignited is actually safe!
Let's not forget additional issues such as the fact such as it being basically a cylinder with tiny little fits on its ass end being shot up at insane speeds into the extremely unfriendly atmosphere of the earth, later to then reenter at even more insane speeds that damn near engulfing the returning capsule with flames caused by drag against... AIR!!!
Oh... and if there's the slightest little leak while it's outside of the earth's atmosphere, pretty much everyone inside the capsule will be suffocating to death or being ripped into the vacuum of space.
Let's be blunt about this... the fucking thing is a death trap!
If they can figure out a way to launch the rocket using a non-combustible propellant, make it go a hell of a lot slower, put big enough fins on it to allow it to correct course at all times, and find a way of slowing it down so much that by the time it enters the atmosphere on return, there isn't a huge amount of drag produced. That would probably make it safer.... now let's work on how to get it from the atmosphere back to earth without it falling the entire way... that sounds dangerous too.
To suggest that this thing is anything other than unsafe would be lying.
To suggest that your company has the expertise to make something like this safe is false advertising on a criminal scale.
Let's take for a start the issue of supply and demand. Currently, the U.S. (and every one elses) power networks are designed to supply enough power to meet the demand no matter how ridiculous the demand happens to be. There is no doubt every house needs several appliances turned on at all times. Refrigerators cost us in power but preserve food and therefore should not be considered optional. Since the invention of air conditioning, people have been moving to warmer climates rapidly. People move to Florida, Southern California, Arizona and Texas all the time to live a "more comfortable life".
:
:
Having lived in Florida for 8 agonizing years, I can say from experience that air conditioning is a mandatory requirement. If we forget the issue that people don't really need it and they can adapt to the heat, we should focus on issues like the mold and rot which can destroy houses in that swamp in very short times without air conditioning. Property owners need to leave the air turned on in unoccupied houses to avoid destroying the property before renting or selling it. This is because we build houses in Florida the same way we do elsewhere in the country instead of adapting our construction techniques to the climate. Let's face it, adobe houses with no window glass worked in those climates for centuries before we chose to build pretty houses out of heat retaining materials on the outside and easily rotting materials on the inside. Because of the lack of a natural foundation (as Florida is a floating land mass), it is impractical to build upwards. Therefore houses are built relatively flat. Therefore, building a taller house which can be cooled from the top down is not possible. Instead, the houses are built longer and wider increasing their surface area that is baked in the sun, therefore requiring a great deal more cooling. And instead of making use of the underground water (which smells quite bad) to assist in the cooling, purely electrical means are used.
Let us for the moment suggest that we can't just go back and easily force everyone to build houses that are more efficient to cool. After all, in Florida, Texas and Southern California, the average household income is very low relative to the cost of living in the areas. This is because so many people choose to live in a location where they "Don't have to shovel rain" and where the heat is so brutal that is is really hard to motivate themselves to work harder than is necessary to simply sustain themselves. There are of course exceptions, but the masses of these states are quite lazy in comparison to people in warmer climates. Hell, in the northern states where it's not economical to have air conditioning, people go to the mall or to the pool to cool down, either way constantly moving. In the south, people simply stay inside their houses in the air conditioning to avoid the heat.
Now, we need to figure out how to balance the supply and demand scenario another way which is
a) non-intrusive to the people. Possibly even provide them enough "value" they'll rush to the store and pay for it themselves.
b) is cost effective enough that it costs the government less to enact it then to build a new series of power plants to compensate for shutting down the nuclear plants
1) Force the cable companies to either
a) eliminate set top boxes in favor of in television tuners
b) make all set top boxes which do no power themselves off when the TV is off (or at least switch them to 0.5w or less standby) illegal
A modern set top box without PVR uses 25 watts of power. With PVR can use 35-80 watts. We'll assume the balance of this is approximately 50 watts per box. When people turn off their TVs, they typically leave the set top box turned on. After all, even when they turn the box off, that little led is still on, so what's the difference. And the PVR doesn't work unless the box is turned on. Siting "http://www.nationmaster.com/graph/med_tel_percap-media-televisions-per-capita" and "http://www.
A nerd is generally a highly intellectual person with a strong, if nothing else academic skill set (whether through the universities or self-taught). A geek on the other hand (and mind you the original definition of geek is "a carnival performer often billed as a wild man whose act usually includes biting the head off a live chicken or snake") is a person who lives a certain lifestyle where their method of gaining attention and possibly public acceptance is to behave in a manor which is entirely different than is considered the "public normal" for lack of an alternative wording. In many ways, being a geek is simply a way of conforming to a non-conformist group similar to the modern "goth movement" or the "Smiths' style Meat is Murder" styles of the 80's.
Geeks on the other hand are different from the other non-conformists as they are often more or less intentionally conforming to the "geek style" in order to allow themselves to "fit in" among others. In many ways, geek is a safety mechanism. If you're not particularly good at sports, self-articulation, personal presentation (grooming not excluded), style, fashion etc... upon reaching a secondary school level, in order to avoid simply being an outcast, a geek will emerge from their childhood cocoon of simply being an awkward child. It allows them to embed themselves within a larger community where they can solve the issue of finding social peers as well as being less of a target for people such as "jocks" who infamously have caused the geek community grief to attempt to make themselves seem more important before moving onto a highly lucrative career of wearing ties and misusing buzzwords (if they're lucky enough to avoid working at a gas station or McDonalds).
Nerds on the other hand are a group of people who may or may not also be geeks. A nerd is often a person whose interests and areas of specialty is academically focussed. While there are other types of nerds, generally a "real nerd" is very mathematically and/or scientifically focussed. Nerds can be found in any social group ranging from geeks to hippies to fashionistas even jocks.
A person does not actually need to be a geek to be a nerd and conversely, it is not necessarily that a geek is in fact intelligent.
Geekdom is more often labelled as opposed to seeked out. Many geeks simply were outcasts and eventually just found themselves grouped in with other geeks. Most other social groups have a special dress code that must be met and maintained as a minimum entry requirement. In most cases, geeks are simply people who don't bother with this. After a certain point, even geekdom requires a dress code be met, though it's generally much simpler as it doesn't require color coordination or fashion sense. Sometimes, it's as simple as choosing to buy the same type of clothing you'd get if your mother was doing the shopping for you.
As an adult, leaving geekdom behind can be as simple as buying a new set of clothing and frequenting a different social environment. Dressing in a suit and going to a bar where people judge how important other people by what suit their wearing is an example. Of course, in that environment, a proper haircut helps as well, often a change in eye wear as well. This group often sees glasses as an imperfection and many members of this group will choose to walk around half blind to avoid being seen in glasses. Buying some blue jeans and a few concert T-shirts will allow a person to easily integrate into a rock bar crowd. Leather, chains etc... gets you into the goth crowd. Researching fashion from magazines and dressing those styles will get you into the pop-culture crowd, this one however requires that a person can exhume a sense of confidence even if it is false.
Nerds are often geeks. In other social cultures, a person's worth is often measured by what they wear or who they know. Sometimes simply by how well they smile, laugh or tell a joke. In nerd culture (which is not geek culture), people are accepted based on either what they know or what they are able to
While others call your remark trolling, I simply call it inaccurate.
Nintendo developed a portable console (the 3DS) that is weaker than telephones in processing power. If you of course compare for example an iPhone or high end Android device the mobile phone to compare against. I in the comparable price category, I'm quite confident that the 3DS holds up quite well.
As for the Wii vs. a telephone, then you're not taking time into context. Nintendo would obviously not release a TV console with lower specs than an iPad. Although I have to admit, for the market which Nintendo focuses on, I believe they'd have no problem at all selling a console based on the same specifications as the iPad 2.
It would not be hard at this point for Apple to sell a sup'd up version of the AppleTV based on the A5 (or a quad core version of it) with a faster graphics chip. If Apple would then add external controller support to the device or even make the iPhone, iPod or iPad a standard controller for the AppleTV, then Apple would immediately gain a very strong foothold into the console game market.
What most people keep forgetting is that Nintendo isn't about "hard core" gamers. Apple could very easily enter the console gaming market today and the best part (for them and maybe even the consumer) is that the consumer would already own tons of content.
The only real problem I see for Apple in this context is that they need to fix the 5 device limit for DRM. I've had considerable problems with this myself as in our house, we have an iPhone and two iPads. This makes managing licenses a nightmare for us as we need to be able to move media between devices. I will not buy a new copy of an audiobook so that my daughter can listen to it after my son who listens to it after my wife who listens to it after me.
There was a time where IT was basically CS. You had to actually understand how a computer worked in order to fix minor problems with it. While I'd love to say this was in the good old days of mainframes, in reality, it was much more recent than that. A guy fixing a 486 generally would just swap out parts until the reported problem went away or reinstall DOS and Windows 3.1 to start from scratch. A much better IT guy would instead track down a motherboard which was put together by a legitimate electronics organization that understood wave reflection (the #1 problem with boards of the generation) and dump the run of the mill organizations which sold cheap hardware during a time which PCs were being commoditized. At that time, all you needed to design a motherboard was a CAD program and a general understanding of how to connect pins together into the bus. To develop something good required an engineer who understood the important of trace length tolerances.
These days, the IT group at a company can be made up of teir 1 (high school flunkies who like installing windows and complaining about the members of their organization who know even less than they do), teir 2 (people who might have studies computers at some point but lacked the talent for anything much more complex than basic network design) and teir 3 (guys who may or may not have a real education, but their certifications are more important than their degrees anyway, they install servers, configure routers etc... they might even be able to use WireShark or Network Monitor to solve problems).
CS on the other hand, was really watered down during the era where IT and CS were really the same thing. CS stood alone and no longer required an understanding of electronics engineering. A guy who would configure a router and a guy who would design a router took the same courses, but the problem is, the world needed A LOT more guys who could configure a router than design one, so the programs really dulled down towards the IT level. As a result, the CS program now spews out people with learned skills instead of problem solving abilities.
Now that the programs are separated, I see IT as a purely vocational skill. IT grunts should be educated either by vocational schools or even certification courses (like those from Global Knowledge Network) and CS should remain what the name implies, computer science. Database and Web developers should be somewhere in-between. They're just grunt coders who structure databases and link fields on the screen to field in the tables. Electronic engineering should be reintroduced as a requirement to CS students. It's important to understand HOW the hardware works. a CSEE grad should be able to bridge the gap between hardware and software development. A CS grad, while not necessarily an guaranteed to be an expert in assembly language programming should understand machine level programming well enough to just pick it up and handle it effectively. They should be able to understand the system call architecture of the operating system.
MOST IMPORTANTLY!!! A CS GRAD SHOULD BE AN EXPERT ON ALGORITHMS (DATA STRUCTURES).
I am furious that in most companies where I have worked, I am the only one who implements data structures more complex than linked lists. People show up at my desk and ask me to implement a new node based storage/recall system because they managed to get a masters degree in computer science without understanding this MOST IMPORTANT TOPIC well enough to implement it. Data structures is the absolute minimum requirement for anyone who wants to be called a computer scientist. ALL OTHER TOPICS of computer science stem from data structures. Sure, there are algorithms which act on a single type, but in reality, the logic involved in algorithms will allow the developer to produce an optimal implementation of it. For a beautiful example of the difference between a real computer scientist and a hackish one, look up CRC32 and see the difference between the brute force methods of arithmetic(as well as logical) implementat
ZRTP is off limits to most clients since Zimmerman has made the license so restrictive AND EXPENSIVE that commercial vendors simply aren't interested in it.
SRTP is utter rubbish and should never be bothered with. Oddly, I happen to know that the video conferencing systems used by most governments are "secured" by it.
RTP is a weak protocol at best. The only advantage of it (as I'm programming a TS over RTP mux) is that it is common. Even with RTCP additions, bidirectional clock synchronization is rough. Additionally the granularity of ACK/NACK as an after thought was a mess. In the case of video conferencing, being able to perform pure predicted video unless a new intra is requested is a must. The latency of RTCP in this scenario is too long. Also, the sequence counter of RTP is so damn small that when transmitting high bit rate video over UDP, it's entirely possible a 1 second network dropout can go entirely undetected/corrected.
Forward error correction, a damn near minimum requirement of block based codecs in audio/video is a joke with regards to RTP as well.
Skype was beautiful since instead of focusing on inter-op with crap standards like SIP, which are either too damn big to effectively implement (H.323 for example) or too damn small (SIP) to be useful, they instead hacked their own protocol which included just about everything good.
As a further note, Skype is wonderful because it is by far the best in class for acoustic echo cancellation in free software. PC's suffer the terrible flaws of imprecise timers (floating clocks, cheap crystals, etc...) and very often unpredictable I/O latencies (on systems where ASIO hardware is not available, meaning 99.9% est.), crap speakers, crappier microphones etc... Without using a hardware based acoustic echo cancellation system or isolating the microphone from the speakers eliminating the need for AEC, it is very hard to achieve in software. You need to :
a) identify the clock rates of the audio output and input constantly as their crystals can be drifting differently
b) rate convert the input or output stream
c) search the input stream for the output stream in order to synchronize clocks
d) adjust levels of the input or output
e) subtract the output from the input to cancel the echo, hopefully removing some added noise due to low quality components in the process.
Oddly, adding a high quality microphone to the webcam you bought amplifies the problems substantially and even removes your ability to adjust the microphone location as the camera needs to remain focused. The added USB latency makes the problem even worse.
Additionally, if there's something more than just your conversation coming from the speakers, there's even more to be done to alter the definition of the output audio in order to remove the echo of that additional noise as well. It requires the AEC code to "read the output" back from the audio subsystem instead of using the audio it sent to the subsystem.
This task is insanely complex in software and uses an insane amount of CPU. "The Good Stuff" meaning the expensive software from certain vendors (of which I worked for one) requires more CPU power to process just the AEC than was required to handle H.264 encoding AND decoding at 720p. And still we couldn't reliably handle more than just 12Khz signals on a Core 2 Duo 1.76Ghz.
So, if we looked at it from purely a technology perspective, the closed/proprietary systems are very likely better solutions than the open and standard compliant systems as there is SOOOO much room for improvement that the standards based systems can't compete.
From a business perspective, Skype has the majority of the world's chat messenger and voice chatting users. When granny wants to video chat with her little grandchild, she Skypes them. If you buy a notebook with a camera, it's a Skype compatible camera that matters. If you buy a webcam, it says Skype on the box.
Converting that many users to something new is pretty much out of the question.
When I was a kid, I worked for companies that would complain about minor expenses like this. I will however make some observations from this :
..
1) If the developer really needs that second monitor, then for the $100 it costs to buy a second monitor he could just as easily go out and buy one. Unless
a) He is paid poorly as a developer and $100 seems like a lot as opposed to the equivalent of more than just lunch, a tank of gas and a video game. And therefore
i) He is willing to work for a company for little pay where he is valued little because he either lacks alternatives due to location or due to expertise/experience etc..
ii) He is a whiner baby and the real reason his boss is complaining about buying another monitor is because he doesn't like pampering this whiner baby and would be just as happy if the whiner baby quit.
b) He is a highly principled person who thinks that the $100 to buy an extra monitor is the company's responsibility but he lacks the ability to express himself as a mature responsible adult and simply comes off as a whiner baby when he does.
oh hell, I can go on like this for pages, but it's very hard to do with bullet lists without actually repeating myself constantly.
What it boils down to is.
The company is a bunch of tight wads who won't spend $100 for a cheap ass monitor for a developer who probably has proven to be a pain in the ass up until now and the company would love to get someone else for the position but realizes that this whiner baby is as bad as the next they'll end up with because they probably aren't willing to pay shit for a decent developer or to outsource to a respectable company like they should unless they happen to be big enough to have a proper development team on staff which would certainly be paid better and not make gripes over petty expenses.
If the original poster is at all serious, then here's what he/she needs to do :
1) Fire the whiner baby. You've already shit on him and there's no undoing what's been done. If he's a whiner baby now, then trying to fix the problem would require giving the mouse a cookie and then a glass of milk, then a mercedes and he'll still bitch like an old hag.
2) Either hire a proper consulting firm (not consultant... but consultant firm) to develop the project properly
OR...
3) Hire two (or more) well paid, experienced developers internally to take over for the whiner baby. Treat them as respected professionals and trust that if they request a second monitor that they believe it will make a positive impact on their efficiency. DO NOT recycle computers on the two new guys. Buy a new machine for each, preferably a laptop with a 17 inch screen and 1920x1200 resolution. This will save you money over the long run since developers with laptops tend to keep them around longer than desktop machines which they know are upgradeable and cheaper to replace.
4) Implement a project management methodology. Whether it's SCRUMM or some other useless system because it at least maintains some level of time accountability and makes it so that developers feel respected when they have a means of scheduling tasks instead of constantly dealing with "You need to add this feature NOW" and "Can you do this today?!" And it makes it so that management builds respect for people doing a non-trivial job as they will see the stickies on the board showing all the things that need to be done and therefore will see that they aren't just pouring money into a sink hole but that these people are actually working.
I personally use an iPad for eBooks to read to my children instead of using paperbacks because I got the iPad for free and couldn't figure what else to use it for. Since that time, I have started using it for watching films, but there's no particular reason I use an iPad vs. something else. I love my iPhone far more than my droid phones or windows phones. So I use it as my primary phone. I am not an iFan, I just can't see myself using another device out of principles when the other devices I have just aren't as good (personal opinion here, not a statement of fact).
I do buy a crap load of things through the iStores, though I don't use iBooks. I find it to be quite weak as an offering. Kindle App is much much better as I can use it on my Android devices, PCs, and Windows devices as well. I also purchase audio books directly from Audible since I use their subscription plan and their player is better for audio books than the Apple player is.
But, as a developer let's be realistic about a few things.
1) Apple has historically either bought or reimplemented all technologies every made for the Mac and then forcefully destroyed competition by altering licensing terms or even killing off APIs needed to produce those applications.
- Opera, Chimera, IE and others were screwed by Apple when they released Safari since the only method of handling font rendering on Mac was pretty much impossible to perform quickly without using internal undocumented APIs. Those were hidden in binary wrappers to avoid other developers getting access to them.
- Adobe was screwed by Final Cut, DVD Studio, Logic, Display PDF (quartz), etc...
In fact, every single time a great application has been published for Mac, it has taken little or no time before Apple decided to compete head on with the developers who made it.
2) Apple DOES NOT CARE about their application developers. In fact, the recent decision to start charging (while a very small amount, still charging) for their development tools (XCode) shows that they no longer see attracting new developers who want to experiment to the platform. If there's money to be made from an App, then Apple will make it.
3) Steve Jobs has a powerful position inside of Disney/Buena Vista from the Pixar deal. Even if he isn't active himself... he has "his guys" in there. Disney Buena Vista is the most powerful entity in the entire industry regarding lobbying the government to protect their interests. They have managed to pretty much eliminate expiration of trademarks and copyrights with regards to Mickey Mouse and are such tight asses about their content that Buena Vista Norway can't simply dub or subtitle TV spots for advertising new films on DVD because they don't have the rights to alter Buena Vista's media themselves. So, when Steve wants to make waves in copyright, he simply does and if he says it's alright than Buena Vista will say it's alright and then the rest of the industry will simply say "Well, without Buena Vista, what can we do about it?" So, Apple has chosen in all forms of media to control all aspects except the product of it directly. If they want to have a book from Simon and Schuster on their device, then they'll go to Simon and Schuster... who gives a crap about an app developer who spends 18 hours a day kissing ass to be aloud to publish on new book.
These guys were simply idiots to get into this business the way they did. Apple didn't do a single thing to them that couldn't have been predicted all along. I really wonder how long it will be before they bypass Audible and go straight to the audio book vendors themselves.
Kindle will be around for a while on iDevices. If you have to go to a web browser to buy a book. Amazon has the means to make profits from the books and since they're probably the biggest mail order book company in the world, they have the leverage to make the publishers share their sales a bit better.
I'm just scared to hell what will happen to my books, audiobooks, apps etc... when Apple, Amazon, Google, etc... go tits up or get bored of selling those things.
I am a recovering Jew and currently an atheist minister. So let me jut say, that while the signature was cute and provocative, it's sad and pathetic as well.
... of course assuming that you trust the credibility of the candidate to follow through with their proposed plans. Of course, you should also vote for a candidate when you feel that candidate is the better choice of the two. In the three right wing party system the U.S. has become leaving voters with the choice between right wing, far right wing and tea bagging nut cases, the "atheist voter" you propose doesn't have an option either way. They are generally left with a choice of voting for the candidate they feel will do the least damage.
As an atheist minister, I like to think that an individual who isn't burdened with the nonsense of listening to a preacher all the time has time to think more deeply about issues based on full information when possible.
An atheist voting for a party is pathetic. An atheist should vote for the individual and what they're claiming they hope to accomplish
As a great example, Obama who was certainly the best candidate in the previous election was a terrible candidate. He lied just as much as the other two right wing parties to get into the office and oddly enough, while you may believe that the other candidates were evil, they were all very much convinced they were the better option "for the people". They all believe they're doing the right thing to some degree. And they also believe the other candidate is doing the wrong thing.
I am 100% sure there are cases where the republican candidate... while possibly a religious nut job is the better of the two candidates we're given to choose from. There are plenty of self serving uneducated morons in the Democrats as well. There are times where it is simply more appropriate to choose a religious wind bag who genuinely wants to help change things for the better than to choose a self serving, pocket stuffing democrat.
So, to correct your statement, "An atheist who votes for a candidate based on their party...." needs a snappy ending, but at least it's a good start.
---
Getting tired of "Jesus! How can a billion people be wrong?" bumper stickers. Gonna print up a pile of "Buddha! How can 2 billion people be wrong?" stickers and start tagging all the cars in mall parking lots.
I'm not sure about code monkeys. You know the guys who receive a project design and implement each individual function. I'm a software engineer and as such, as opposed to being a developer or a code monkey, my job is to identify problems, research the problems, research solutions and then either implement my findings or document it for a larger team of individuals to implement.
:)
A software engineer is a person that should be able to program, but it's just a small part of the job. The majority of a software engineer's job is solving problems, generally through research and sadly often trial and error.
Software engineers require books, possibly video training courses etc... if you are a software engineer and you need to be spoon fed new topics, then you're doing it wrong... or you're trying to get a paid vacation
Talking about that... time for the boss to spring for a new Safari Online subscription
Seriously, if the photographer does a better than mediocre job at best, he'll still manage to sell 100 quid worth of additional product once he returns to show off what's he's done. What's best is, he doesn't even need to have his own studio to do this and by using a proper photo printer (dye submersion for example), he can even do the prints at a good profit to himself.
This guy lists that he managed to get into 301 houses... let's say that's over a year. Even if he only averages 100 quid a house, he'd managed to cover the basic travel cost involved with the job with the 30 quid price, so the 100 quid minus the cost of materials required is probably 90 quid. That's 27000 pounds in a year.
Now, if he offers so form of credit to the people who responded to this add, there's a huge chance he'll make the hard sells for 1000 pounds packages or more on a regular basis. Let's say he can make 1-2 of those sales in a week. That's 50k to 100k more income in the year... minus 10-15% for materials.
On top of that, for all the cash deals he/she is pulling off, he's probably keeping most of the small stuff off the books. Which means he's got a bunch of stuff "Tax free". Then nearly everything in his life is tax deductable, as he uses his home as a studio, his metro cards are work related, his food is expenses during travel, his clothing is related to presentation of the business, hell he can even claim his dates with the girls he meets is sales related to help sell them portfolio portraits. So, he/she probably pays almost no tax at all.
This guy who is "working for free" is probably raking in a crap load more than I am and I'm a system level programmer with 18 years experience.
As a former instructor (way back in the previous millennium) at Global Knowledge, I found that the Cisco classes at Global Knowledge are fantastic. I "audited" several of them and learned tremendous amounts from them. But, let me be frank. This is 2011. Unless you need hand holding or a paid vacation, video courses tend to be equally complete (especially the ones which use the Cisco course materials) and are MUCH more affordable. The budget could be spent elsewhere.
Also as a "star programmer", there are many questions you should have which could never be covered properly in a Cisco training course. I personally develop network infrastructure equipment for broadcast video over IP. As a programmer, when I hear about routing protocols, I want to clearly understand the protocols. Recently, I have been working on developing an in-house course for my colleagues regarding IPv6. Compared to the Cisco courses on the topic, it's far more compact and far more detailed. It makes the assumptions before starting that I don't need to explain hexadecimal, it's assumed that when discussing the routing protocol instead of spending ages covering drop through mechanisms, I can simply present the algorithm and it will be understood. So the Cisco theory classes are insanely overpriced and painfully boring for "star programmers".
I'll chime in on #10 as well.
Now that you're not being paid to program any more, take advantage of it. If you need a programmer for a task, hire one. Programming is something you should do for fun now. Find the open source project you always wanted to work on. And build on it. The hiring someone for a task theme is good for much of the rest of it as well. You can't be an expert on every technology. Hell, I want to be, but when it comes to the output quality of the video codec I'm working on, the girl with the Ph.D. that sits next to me is far better suited to design and prove those algorithms and I am. But I'm damn good at making them work and making suggestions as to where we should cut some corners if the math allows it. There are some things you'll have to maintain, but maintaining a mail server for example is just plain stupid. You can administer it, but outsource it if you can. Programmers have a bad tendency of reinventing the wheel over and over again. Remember, there's probably already a solution for it out there. Much of your job should be about finding the right one.
An additional issue with issue 4. If you're not only the network administrator but also the help desk, use some of that unlimited budget to get a slave to answer support requests and reimage machines. Even if that slave barely knows a thing about computers, their your front line to make sure you're not spending your time changing toner cartridges. If you setup remote installation services (or whatever it's called this week) properly, it should be possible to train a monkey to install new images on machines. In fact, I once configured a system so that GRUB was installed on a USB stick (mounted within each computer) with imaging software on the stick. It made it so that you could reinstall the image yourself by pressing 5 keys on boot-up. If the users keep their documents on the network, this is a perfect solution. Then just keep your images up to date.
The real point here, leaving technical details aside is that you shouldn't be imaging machines. I would however highly recommend you learn all you can about Windows PE and imaging services. StarGoat mentions you should buy the same machine in batches, but understand that with Windows 7, the same hardware imaging requirement is gone. Hard drive controllers are now standardized, you don't need a new driver for every machine, just a new optimal driver which will most likely be automatically installed from Windows Update. A well maintained image for desktop PCs is the key to a fluffy life.
Also, this is 2011, you can bully users into using online services for most things. So, you can use Citrix or some other type of remote solution for application streaming.
When my son's DS broke the hinge on the screen (again) he asked for Christmas last year to get a new DS. I informed him he should wait for the 3DS if he really wants it and that a new DS costs just too damn much if I can just pay another $7 for another shell as I have done several times over the past 8 years. So if he wants one, then he should save up for it. This happened in October and all we knew at the time was that the 3DS was coming. My daughter decided to save for one as well, we expected a price tag approximately a little over half of the final price.
Well, my kids saved up and between the two of them, hording their allowance for months and adding to it Christmas money, they have enough for one 3DS and one game. During this time, they have stopped playing DS as their primary platform and instead play on their iPhones. Yes... a 7 year old and a 9 year old each have iPhones. They even have plans on them. The reasons are simple :
1) My wife and I wanted the iPhone 4, so we figured since our kids would need phones sooner or later... why not?
2) You can't easily lose and iPhone and same goes for the book bag they're in during the day. Or the kid the book bag is attached to while in transit. I something ever happened (of course hoping it won't) and one of my kids went missing on the way to or from school, I have easily track the phone in real time from my own. We have used this one already to figure out what happened to my son's back pack which was left at a friend's house after school.
3) Nintendo DS (even the cheap one) with 10 games costs more than an iPhone (even bought brand new) with 50 games.
4) You can buy the game once on iTMS and use it on up to 5 devices. So, when we buy a game, it's for all of us. So, if one of us buys Angry Birds, we all get it.
5) Their homework assignments come via e-mail which they can open on their phones and print over wireless.
6) They can call Momma and Pappa to ask if they can bring a friend home or go to a friend's house after school.
7) With 32 gigs of storage, that's several seasons of cartoons. They watch it while we're in transit. No more scratching DVDs while changing discs on the road.
8) They can read ebooks or listen to audio books whenever they want.
9) Most importantly, they stop taking my damn phone everytime we're on the train, bus or in the car
So, they have decided to get one 3DS and a game and share it as there's no point in buying two of them anymore.
Nintendo isn't at risk from PSP. They're at risk from Apple and Google.
I have to say I thought it was quite humorous that the majority of countries where freedom is taken for granted are simply not included.
For 12 years, I stood up each day in school forced to pledge my allegiance to a flag and the country it stands for under some god I don't even believe in. It's as if they were also trying to force their religion on me as well. The simple fact that we are forced every day to re-pledge our allegiance at risk of being penalized by the principle are taunted by some religious freaks is a simple proof that at even at the basest level, the freedom "All humans are given by their god" is subject to allegiance to a country which recognizes the necessity of forcing it.
I am in possession copies of Merriam Webster dictionaries starting in their earlier years and updated for each time the accepted American definition is altered for the words "Freedom" and "Liberty". You'd be surprised how often this occurs.
Given that America feels the need to force people to believe they are in fact free through propaganda and government sponsored reeducation and that the government regularly changes the definition of liberty and freedom to suit their purposes and therefore guarantee they are the most free people with the greatest liberties, it is truly pathetic that under these circumstances they can't even place #1 on a report they sponsored either directly or indirectly.
When I moved to Norway 13 years ago, I learned about freedom when I realized that it's not an issue here. People aren't sold freedom, they aren't regularly reminded of these great god given liberties (which the Bush attorney general publicly stated are really more of an opinion as opposed to a right the day they chose to suggest the habeas corpus did not apply to those who did not pledge their allegiance to the flag or to those where their allegiance was in question either), instead people simply live and let live.
It is wonderful to live in a place where you're simply free and no one has to sell it to you.
And besides, anyone who writes a law to protect freedom on the Internet clearly doesn't understand it well enough in the first place to write a law to protect it.
Censorship is always going to exist where ever you go, however, it can always be circumvented. If there are any laws needed, it's laws to protect the individual who chooses to go around the censorship.
People find BluRay to be more of a problem than DVD.
DVD is pretty damn simple. While it has its obvious flaws such as allowing DVD authors to force people to watch a dozen commercials for other movies before watching a film, it's a nice simple format.
BluRay on the other hand requires the user to regularly update their player firmware which in the case of my cheapy $200 Samsung player can take 25 minutes in order "To improve my viewing experience" by adding support for a new AACS key or support for a new BD+ scheme.
Read performance of BluRay decreases drastically with each BD+ update causing a tremendously long period of waiting before you can play the film.
Shitty BluRays sometimes crash the Java virtual machine requiring the player to be rebooted.
In short, although I have a BluRay player and BluRay discs, I play DVDs in the BluRay player and just copy the BluRay films to a file and play that instead.
After all, a Jiggawatt is clearly not a Gigawatt. It might be the old definition of a Gibiwatt prior to those nifty genii who came up with a power of two friendly version of the metric system. Of course, it could also be that Douglas Adams was involved with the script indirectly and it's somehow based on base 13.