It doesn't even have to be updates asking for more rights. I usually uninstall software I don't use once it starts bothering me with upgrades at all. On Linux, I never have that problem as I generally know which software I need and don't just try out new programs without a good reason, but on OS X and Android, where I mostly install things through their respective app stores, some applications will be asking to update themselves more often than I consider polite.
On Linux I usually apt-get update once a week (and I do the same with macports), but when particular app wants my attention even if I don't feel like upgrading - it gets old quickly.
I am not ashamed of making a mistake when it comes to buzzwords, but the way I see it:
- My site is hosted on a server in Acme Inc.'s facilities in New York / London / Tokyo. It's in a datacenter.
- My site is hosted by Web2.0 Inc. I have no idea where it is, but I am hoping they are doing some smart load balancing and backups for me. It's in the cloud
When Stanford first offered free online courses, I took a couple including Intro to DB. It's an online course and it was very informative and I learned a lot through it. I'm not sure when it starts next (and if you can just enroll whenever to see material), but here it is: https://class2go.stanford.edu/db/Winter2013/preview/
Keep in mind though: this is a full fledged college class, not some sort of YouTube tutorial or anything like that. If you want to follow it properly, be prepared to spend some time a week doing homework and following lectures.
Sometimes it's good to start fresh.. also, if you have good unit tests for your utilities then "testing" should be easy.. if you don't, then are they really well tested?
In theory, very true. In practice, it's an uneasy feeling of switching to a new tool, no matter what it is. Unit tests exist and are useful, but I still haven't mastered writing bug-free code despite all the testing:)
Every time I've had to use/touch MySQL, it has been extremely frustrating, and far more so than any other DB I've worked with (Firebird, Oracle, MS-SQL, DB2, SQLite, etc), with the exception of SQLite they've all been far more capable as well.
I don't doubt that's the case, but as usual with these things - you probably use MySQL the least and are least comfortable with it. In the last 5-6 years, I only ever deployed significant projects on top of MySQL or PostgreSQL, and while PGSQL was always more capable (and I personally enjoyed using it much more), it's not like MySQL is crippled - it is a decent tool which gets the job done.
My point is: PostgreSQL is exciting and nice and loveable, but MySQL is here to stay - web developers will keep it alive for years to come. We use much worse tools everyday, don't we?
Seriously, is anyone out there in geek land even considering MySQL for a brand spanking new project with no history attached to MySQL? I don't know of any. It's just a matter of time now for things to swing from MySQL to MariaDB, though I think a lot of geeks will take a good look at other options like PostgreSQL before switching. Unless Oracle does something really interesting with MySQL, it's dead... seriously... no one in the year 2120 will even remember MySQL except for unfortunate geeks working for the government and large banks who will continue doing new projects with MySQL until the end of time.
MySQL has too big of a momentum to just disappear (and the people keeping it alive are not governments and large banks, but rather web developers).
I'm a full-time web developer and I am just starting a new project and tossing a coin between MySQL and Postgresql. The reason why I am even considering MySQL is that all my existing code and libraries are thoroughly tested with it. Even brand spanking new projects use old libraries:)
In theory, database abstraction layer should be good enough to make everything work with pgsql, but it hasn't been tested. There are other reasons too, like other developers being uncomfortable with pgsql (namely sequences vs. mysql's auto incremented primary keys) as well as the fact that all of them will have to look for new tools for the alternative. Also, Mysql replication is very well established and easy to do and system administrators are part of the equation.
We just updated all our servers to Debian Wheezy which comes stock with MySQL 5.5, which with Innodb is half-decent. From what I see, it's still actively developed and I don't see it just disappearing... Oracle may be a place where open source software goes to die, but MySQL may change the trend.
Firstly, they need to get user's timezone. There are javascript methods to do this, but are not always reliable, especially if they don't want to depend on the client having javascript support. Of course, they could always just ask the user to pick the timezone, so that issue could be solved. E.g. Formula 1 solved it nicely, though I am not sure which method exactly they use (their javascripts are not obfuscated, but I can't be bothered).
Bigger issue, in my opinion, is showing exact time. Assuming their servers all keep exact time and that everybody is happy with their definition of the exact time (which is a big assumption to begin with), BBC would also need to take into account latency between server and client. E.g. it takes about 1/3 or 1/4 of a second for me to load a single random page with a GET request from BBC.
For an example of pain it takes to give users correct time, visit The official U.S. Time page. It's a java applet, presumably because anything client-side can't be trusted to actually count a second as a second. Granted, that page is ancient, but you can still see that it's not really trivial.
What you're seeing in Turkey is rejection of Western model of secularism which was advocated by Kemal Ataturk (yes, I'm intimately familiar with Turkish history going as far as early Ottoman empire for reasons I would rather not disclose here).
Knowing who Ataturk was and basics of his policies doesn't make you intimately familiar with Turkish history, it makes you well informed/educated (e.g. I know who Pinochet was, but know very little about Chilean history).
I am not disputing your knowledge, but your remark made you look a little full of yourself.
I'm paying $60 a month for 20 Mbps - $70 for 5 times as much? $100 for 50 times as much? Not to mention by 'Symmetric bandwidth' I assume upstream = downstream speeds. It's no Google but it still isn't a bad deal.
Just to compare prices worldwide, here in Serbia, I get fiber to home 20/10 for $28.20 and could get 120/60 for about about $70 (around 54 EUR). Gigabit plans are available ("where available") but prices are not advertised publicly. So, the prices they get in Lawrence, KS are as good as in third-worldish (for lack of a better word for a European country which is neither Switzerland nor a part of EU) Serbia, and I am not sure what to make out of it...
I took a look at the tests for the Zend App Controller once. It had six separate functions to reset parts of the global state. Some classes from Zend may be useful, but I couldn't recommend it as a complete solution to anything.
I presume you are talking about Zend Framework 1? I stayed clear from it, but I just started playing around with ZF2 and so far it looks nice. It gives impression of over-engineered framework, but after a couple of days with it, it's actually very powerful. I am still to start writing unit tests for it, but it looks like they gave it a lot of thought and that it will be very usable.
PHP is not getting a lot of love, especially here on Slashdot, and Drupal is one of the reasons to blame. Sure, PHP has its fair share of design flaws, but ever since version 5, it's a decent enough language to code in and can get a lot of done.
The problem is with Drupal, Wordpress, Joomla and other very popular CMSs and frameworks which are all a strange mix of procedural and oo code, and lack a proper distinction between model, views and controllers.
Its problems are certainly not the things that are often quoted, like mysql_real_escape_string (which just follows C api and is deprecated anyway), or inconsistent naming conventions. The problems are deeper - things like lack of threads comes to mind.
Still, the reason why I like PHP is that with a good framework (e.g. Zend Framework 2 is promising, but there is also CakePHP, FuelPHP, CodeIgniter, etc.) you can build a very solid application. Procedural PHP is actually a fantastic and very powerful template engine and otherwise you can write relatively clean and easy to read code in it if you structure the program correctly. It's very simple to deploy (especially compared to e.g. RoR) and has extensions for pretty much any database or graphics library or anything else a web developer may need.
I second this. TeamViewer is a fantastic piece of software, and best of all it's cross platform, so whichever combination of OS's you and your mom have, it will work. You can even do it from a tablet or a phone and it's pretty much zero configuration, no need to set up forwarding on the router, etc.
I needed to use Windows only e-banking and borrowed an unused laptop from with Windows 8 on it - great chance to see what the fuss was all about, especially since it was stock installation and nobody has used it before.
First impressions were good: I figured out I can click on Desktop box in the Metro UI and I started Internet Explorer from the taskbar (if I needed some other app, though, I have no idea how I would go about it).
Then I wanted to turn off the machine. But I really couldn't figure out how. I realized that if I move the pointer of the mouse to the right, I get some sort of a menu. And screen edge detection is completely unintuitive when using a trackpad! Anywho, once I was back on the Metro thingy, I started Mail, just to see how it looks like. It wasn't setup, so it took me another 10 minutes to figure out how to leave the wizard without taking the battery out of the laptop!
When I finally got back to the Metro thingy, I couldn't find desktop, because things were rearranged!
Then it took me 10 more minutes to figure out how to shutdown the darn thing. The trick was to logout and then find an icon to do it.
I fear the day when some aunt is going to call me and ask me to fix her Windows 8 machine. I honestly won't have any idea what to do with it!
As a web developer, I should be happy about this development, but the fact is: Opera was always standards compliant and as a user I liked how it rendered pages (qucikly and without any white screen gaps between page loads).
But it probably makes sense for them. Webkit is solid and their costs will probably go down dramatically.
Being a programmer and not understanding English is like being a historian writing papers on the Roman Empire and not knowing Latin. There is a lot of programmers out there who don't understand English or are not comfortable with it, but as a rule, they are not that good.
You have to learn our profession somehow. Yeah, you can learn C or Java from a book written in your native language, but most APIs out there are documented only in English. If you don't speak English, then your resources are severely limited.
That being said, if you can do localization, do it. Localization is usually very easy and doesn't require much bloat. You can have volunteers do the actual translation, you just need to get the strings ready, so it shouldn't be more than a couple of hours of your time.
Some talented programmers are just not talented for learning languages, or prefer to have UI in their own language. They are the ones who Google Translate documentation online, so you'll be doing them a favor.
Like everybody else already noted, knowing English is sufficient for programmers these days, but there is no harm in knowing another language. As you are an American and already speak the lingua franca, choose one that you can actually learn. If you take on e.g. Japanese or Arabic, keep in mind just how hard they are for an Indo-European native speaker. Furthermore, how much practice can you get in those languages? Learning a new language properly requires practice.
I would suggest a romance language: Spanish or Italian. If you start learning one of them, it will be relatively easy to switch to another one (e.g. if you suddenly start working with Brazilians and you already speak Spanish fluently, switching to Portuguese would take little effort). Also, both languages are easy to learn and are used in somewhat developed economies. A lot of development nowadays is outsourced to South America, so you can have practical use for it.
Finally, don't to what most people try to do: you can't learn a language from audiobooks or books. You will need to take classes - at least two or three times a week. A classroom setting is the second best way to learn a language. The best way to learn a language is a classroom setting in a country where that language is spoken by the majority of the people.
Now, onto the H1-B thing: I do believe it is used to drive down wages. For this reason, I think a new type of probationary visa that runs for a year should be used, and if the worker (in a LEGITIMATELY understaffed field) performs well, they should be offered citizenship, full stop. They either then accept US citizenship, or leave.
Sorry, I posted too soon: actually, early US citizenship would solve the problem that I mentioned. If people had it, then they wouldn't have to worry about losing their job (they'd just go and find another one and use their savings meanwhile). Then again, if I had it my way, we'd all be citizens of the Earth and we wouldn't have to worry about pesky things such as visas no longer. But most people don't like that idea for some reason...
Don't tell me what I should think; if you try that in mixed company here in the states in person you may get your ass handed to you post-haste.
I am asking you to consider my arguments when you decide what to think. I don't know about company that you keep, but people I like usually don't hand one's ass to one just because they don't like their views.
Now, onto the H1-B thing: I do believe it is used to drive down wages. For this reason, I think a new type of probationary visa that runs for a year should be used, and if the worker (in a LEGITIMATELY understaffed field) performs well, they should be offered citizenship, full stop. They either then accept US citizenship, or leave.
That's how it pretty much already works. To quote Wikipedia: It allows US employers to temporarily employ foreign workers in specialty occupations. If a foreign worker in H-1B status quits or is dismissed from the sponsoring employer, the worker must either apply for and be granted a change of status to another non-immigrant status, find another employer (subject to application for adjustment of status and/or change of visa), or leave the US.
Immigrant workers are willing to work for less because if they lose their job, they have limited time to find a new one and it gets very tricky. E.g. imagine having your children attend a school in USA, having a house that you call home, etc. You would rather accept lower salary then your colleagues who are American citizens then have to leave it all behind. Employers are abusing that. Then again, if America didn't have immigrant workers at its disposal, are you sure your standard of living would be as high as it is now? American laws permit immigration because it's beneficial to USA, but there are some tradeoffs too. Are you sure, if suddenly there were no immigrants in the USA, that you would still be able to buy same amount of commodities for your salary?
I am not preaching to Americans on how to handle immigration, I am just pointing out that to me (and it seems I really have to point out that I am the author of my thoughts here and that nobody, whatever I say, is forced to think the same way) the way many slashdotters refer to "H1Bs" is insensitive and rude.
If you want Americans to study STEM, you need to provide jobs for them. Why get a degree in engineering just to train to your H1B replacement, or to have you job offshored.
As somebody who was once an H1B (or the way I like to think of myself: a human being making his living), I noticed how recently there is a lot of anti-immigration sentiment on Slashdot. Referring to somebody by their immigration status is just not nice. It seems H1B is the new buzzword here spoken with attitude described for "Okies" in The Grapes of Wrath.
College educated people who come to USA to work really don't deserve that kind of attitude. They go there either because they like America enough or because they can't make decent living elsewhere and both causes are respectable.
I respect that you may think immigrant engineers are lowering your hourly rate and robbing you of the job you were entitled to, but please keep in mind that it's a sign of proper upbringing to value all people equally regardless of where they were born.
You just had your elections and neither one of two major presidential candidates talked in support of labor rights and collective bargaining. If these issues are not important enough for Americans, then it would be nice to refrain from bashing "H1Bs" whenever they get a chance.
It's not about political correctness, it's about politeness and respect of other human beings who want the same thing as you do: to work and be respected for who they are, regardless of where they were born. I wish all slashdotters to never be in a situation where they have to choose between their work being valued appropriately (i.e. working in a foreign country) or not being referred to by their visa code.
P.S. I apologize for using your post for this rant.
I concur. You can't copy/paste from YouTube and you can easily skip over a boring part or get back to the part you didn't understand properly or bookmark a page for reference. Code snippets are impossible in a video and generally you lose interest when you realize that your documentation is narrated by a 14 year old.
P.S. Tutorials are not a replacement for proper documentation. They are usually both needed - tutorials to show you what it's all about and whether or not you fill find a use for it, and documentation for reference.
This is the same paradox Microsoft struggled with on Windows XP: if you make a really good product, people will buy it once and buy nothing else.
I don't want to go into whether Windows XP was a good product or not, but I think that's not the reason people are reluctant to upgrade.
Windows supported Windows XP for a very long time and an average user or an average IT guy will not upgrade a supported product as long as it does the job alright. Once drivers stop working or new applications aren't supported - people will upgrade.
I have the same experience with Linux: I do not upgrade my Debian installations to a new release until they are no longer supported. All my programs (versions of apache, postgresql, etc. which I am happy with) run on it correctly and I have no incentive to go through trouble of upgrading or risk hours spent debugging stuff after the upgrade. That's not necessarily because Debian is a really good product (though I think it is), it's because I am lazy and/or don't like spending more hours at work than I have to.
Now, there are enthusiasts who like latest & greatest and they will be happy to buy a new version of Windows and tinker with it out of curiosity, but they probably don't make a significant percentage of Microsoft's sales.
The power of marketing seems so vast that we are willing to buy products which don't even exist yet. Even if there were a good financial incentive (20% off or something) for pre-ordering, I would still be baffled by people who would buy a cell phone without reading reviews first. It's not even only about the money - cell phone is something you have to use every day, and if the size, or ergonomics or the user interface isn't right for you, it will make you miserable.
I can see how Apple users (and I am one) trust Apple to make generally good laptops or phones, but there is still a difference between favoring one manufacturer and buying their products blindly.
Mandatory viewing: Czech Dream, a documentary about a couple of guys who get thousands of people to show up for a grand opening of a supermarket which doesn't exist.
If they can only afford one vehicle, then that vehicle better be able to take their family on vacation, carry their cargo, and pickup supplies at the home improvement store.
I often hear this argument from Americans and I think those of you who make that argument are spoiled and have skewed view of need vs. perceived comfort. I lived in the USA for a long time, so I have a general idea of what needs people there have. Now I'm in Europe and I have exactly the needs you specified, so I decided to buy a station wagon - Ford Mondeo. It's a 2 liter diesel engine and seats 5 people (meant for 4 adults and a child, but I've driven 3 adults in the back and they didn't complain much), and if I needed more, I would go for a mini-van.
It comfortably cruises at around 155km/h, or around 95 mph, which is generally the highway speed limit +25 km/h which is tolerated by highway police interceptors. That gets me to my place of vacation safely and comfortably (i.e. not much wind or tires noise, steady engine and acceptable mileage).
It has high enough clearance so I can drive on unpaved roads, and I do that relatively often when I go visit in-laws who live in a remote village or go up to the mountain house my family has.
Each winter, as required by law, I swap my summer tires for winter ones and I can go skiing: with proper tires you don't need 4WD to drive up a snowy road. I keep a set of chains (also required by law) for when it gets bad (and I only used them once in the last 4 years).
It's a station wagon, so I usually get asked to help move people. It has a plenty of space to move furniture or e.g. kitchen appliances, but so far, 100% of places selling furniture of appliances also delivered. If I ever have to shift something bigger and heavier, I'll just hire a truck with some workers to do it for me. One time fee for them is surely going to be less than what I would pay for gas and registration for a year for a pick up.
It's just the right size so I can park it in any European parking lot and not block downtown streets (like people in SUVs do).
Best of all, I get 40+ miles per (US) gallon of diesel on it.
Don't get me wrong, having a huge SUV would be very comfortable (if I put aside the fact that I couldn't park it in all places I wanted - but that's not an issue in North America), but the fact is that I just don't really need it, and I can bet you don't either. I'd rather take more tourist trips or put money into my gadgets and computer, or save up for a bigger/better apartment.
Keyboards in the article picture look a lot like old mechanical keyboards. They could probably make a bit of cash by selling them on e-bay and buying some cheap disposable ones... It would probably make the computer lab a lot quieter, too:)
It doesn't even have to be updates asking for more rights. I usually uninstall software I don't use once it starts bothering me with upgrades at all. On Linux, I never have that problem as I generally know which software I need and don't just try out new programs without a good reason, but on OS X and Android, where I mostly install things through their respective app stores, some applications will be asking to update themselves more often than I consider polite.
On Linux I usually apt-get update once a week (and I do the same with macports), but when particular app wants my attention even if I don't feel like upgrading - it gets old quickly.
To be fair, every government in the world can be identified by 1984 in one way or another...
I am not ashamed of making a mistake when it comes to buzzwords, but the way I see it:
- My site is hosted on a server in Acme Inc.'s facilities in New York / London / Tokyo. It's in a datacenter.
- My site is hosted by Web2.0 Inc. I have no idea where it is, but I am hoping they are doing some smart load balancing and backups for me. It's in the cloud
When Stanford first offered free online courses, I took a couple including Intro to DB. It's an online course and it was very informative and I learned a lot through it. I'm not sure when it starts next (and if you can just enroll whenever to see material), but here it is: https://class2go.stanford.edu/db/Winter2013/preview/
Keep in mind though: this is a full fledged college class, not some sort of YouTube tutorial or anything like that. If you want to follow it properly, be prepared to spend some time a week doing homework and following lectures.
Sometimes it's good to start fresh.. also, if you have good unit tests for your utilities then "testing" should be easy.. if you don't, then are they really well tested?
In theory, very true. In practice, it's an uneasy feeling of switching to a new tool, no matter what it is. Unit tests exist and are useful, but I still haven't mastered writing bug-free code despite all the testing :)
Every time I've had to use/touch MySQL, it has been extremely frustrating, and far more so than any other DB I've worked with (Firebird, Oracle, MS-SQL, DB2, SQLite, etc), with the exception of SQLite they've all been far more capable as well.
I don't doubt that's the case, but as usual with these things - you probably use MySQL the least and are least comfortable with it. In the last 5-6 years, I only ever deployed significant projects on top of MySQL or PostgreSQL, and while PGSQL was always more capable (and I personally enjoyed using it much more), it's not like MySQL is crippled - it is a decent tool which gets the job done.
My point is: PostgreSQL is exciting and nice and loveable, but MySQL is here to stay - web developers will keep it alive for years to come. We use much worse tools everyday, don't we?
Seriously, is anyone out there in geek land even considering MySQL for a brand spanking new project with no history attached to MySQL? I don't know of any. It's just a matter of time now for things to swing from MySQL to MariaDB, though I think a lot of geeks will take a good look at other options like PostgreSQL before switching. Unless Oracle does something really interesting with MySQL, it's dead... seriously... no one in the year 2120 will even remember MySQL except for unfortunate geeks working for the government and large banks who will continue doing new projects with MySQL until the end of time.
MySQL has too big of a momentum to just disappear (and the people keeping it alive are not governments and large banks, but rather web developers).
I'm a full-time web developer and I am just starting a new project and tossing a coin between MySQL and Postgresql. The reason why I am even considering MySQL is that all my existing code and libraries are thoroughly tested with it. Even brand spanking new projects use old libraries :)
In theory, database abstraction layer should be good enough to make everything work with pgsql, but it hasn't been tested. There are other reasons too, like other developers being uncomfortable with pgsql (namely sequences vs. mysql's auto incremented primary keys) as well as the fact that all of them will have to look for new tools for the alternative. Also, Mysql replication is very well established and easy to do and system administrators are part of the equation.
We just updated all our servers to Debian Wheezy which comes stock with MySQL 5.5, which with Innodb is half-decent. From what I see, it's still actively developed and I don't see it just disappearing... Oracle may be a place where open source software goes to die, but MySQL may change the trend.
There are several things involved:
Firstly, they need to get user's timezone. There are javascript methods to do this, but are not always reliable, especially if they don't want to depend on the client having javascript support. Of course, they could always just ask the user to pick the timezone, so that issue could be solved. E.g. Formula 1 solved it nicely, though I am not sure which method exactly they use (their javascripts are not obfuscated, but I can't be bothered).
Bigger issue, in my opinion, is showing exact time. Assuming their servers all keep exact time and that everybody is happy with their definition of the exact time (which is a big assumption to begin with), BBC would also need to take into account latency between server and client. E.g. it takes about 1/3 or 1/4 of a second for me to load a single random page with a GET request from BBC.
For an example of pain it takes to give users correct time, visit The official U.S. Time page. It's a java applet, presumably because anything client-side can't be trusted to actually count a second as a second. Granted, that page is ancient, but you can still see that it's not really trivial.
Knowing who Ataturk was and basics of his policies doesn't make you intimately familiar with Turkish history, it makes you well informed/educated (e.g. I know who Pinochet was, but know very little about Chilean history).
I am not disputing your knowledge, but your remark made you look a little full of yourself.
I'm paying $60 a month for 20 Mbps - $70 for 5 times as much? $100 for 50 times as much? Not to mention by 'Symmetric bandwidth' I assume upstream = downstream speeds. It's no Google but it still isn't a bad deal.
Just to compare prices worldwide, here in Serbia, I get fiber to home 20/10 for $28.20 and could get 120/60 for about about $70 (around 54 EUR). Gigabit plans are available ("where available") but prices are not advertised publicly. So, the prices they get in Lawrence, KS are as good as in third-worldish (for lack of a better word for a European country which is neither Switzerland nor a part of EU) Serbia, and I am not sure what to make out of it...
I presume you are talking about Zend Framework 1? I stayed clear from it, but I just started playing around with ZF2 and so far it looks nice. It gives impression of over-engineered framework, but after a couple of days with it, it's actually very powerful. I am still to start writing unit tests for it, but it looks like they gave it a lot of thought and that it will be very usable.
PHP is not getting a lot of love, especially here on Slashdot, and Drupal is one of the reasons to blame. Sure, PHP has its fair share of design flaws, but ever since version 5, it's a decent enough language to code in and can get a lot of done.
The problem is with Drupal, Wordpress, Joomla and other very popular CMSs and frameworks which are all a strange mix of procedural and oo code, and lack a proper distinction between model, views and controllers.
Its problems are certainly not the things that are often quoted, like mysql_real_escape_string (which just follows C api and is deprecated anyway), or inconsistent naming conventions. The problems are deeper - things like lack of threads comes to mind.
Still, the reason why I like PHP is that with a good framework (e.g. Zend Framework 2 is promising, but there is also CakePHP, FuelPHP, CodeIgniter, etc.) you can build a very solid application. Procedural PHP is actually a fantastic and very powerful template engine and otherwise you can write relatively clean and easy to read code in it if you structure the program correctly. It's very simple to deploy (especially compared to e.g. RoR) and has extensions for pretty much any database or graphics library or anything else a web developer may need.
I second this. TeamViewer is a fantastic piece of software, and best of all it's cross platform, so whichever combination of OS's you and your mom have, it will work. You can even do it from a tablet or a phone and it's pretty much zero configuration, no need to set up forwarding on the router, etc.
I needed to use Windows only e-banking and borrowed an unused laptop from with Windows 8 on it - great chance to see what the fuss was all about, especially since it was stock installation and nobody has used it before.
First impressions were good: I figured out I can click on Desktop box in the Metro UI and I started Internet Explorer from the taskbar (if I needed some other app, though, I have no idea how I would go about it).
Then I wanted to turn off the machine. But I really couldn't figure out how. I realized that if I move the pointer of the mouse to the right, I get some sort of a menu. And screen edge detection is completely unintuitive when using a trackpad! Anywho, once I was back on the Metro thingy, I started Mail, just to see how it looks like. It wasn't setup, so it took me another 10 minutes to figure out how to leave the wizard without taking the battery out of the laptop!
When I finally got back to the Metro thingy, I couldn't find desktop, because things were rearranged!
Then it took me 10 more minutes to figure out how to shutdown the darn thing. The trick was to logout and then find an icon to do it.
I fear the day when some aunt is going to call me and ask me to fix her Windows 8 machine. I honestly won't have any idea what to do with it!
As a web developer, I should be happy about this development, but the fact is: Opera was always standards compliant and as a user I liked how it rendered pages (qucikly and without any white screen gaps between page loads).
But it probably makes sense for them. Webkit is solid and their costs will probably go down dramatically.
Being a programmer and not understanding English is like being a historian writing papers on the Roman Empire and not knowing Latin. There is a lot of programmers out there who don't understand English or are not comfortable with it, but as a rule, they are not that good.
You have to learn our profession somehow. Yeah, you can learn C or Java from a book written in your native language, but most APIs out there are documented only in English. If you don't speak English, then your resources are severely limited.
That being said, if you can do localization, do it. Localization is usually very easy and doesn't require much bloat. You can have volunteers do the actual translation, you just need to get the strings ready, so it shouldn't be more than a couple of hours of your time.
Some talented programmers are just not talented for learning languages, or prefer to have UI in their own language. They are the ones who Google Translate documentation online, so you'll be doing them a favor.
Like everybody else already noted, knowing English is sufficient for programmers these days, but there is no harm in knowing another language. As you are an American and already speak the lingua franca, choose one that you can actually learn. If you take on e.g. Japanese or Arabic, keep in mind just how hard they are for an Indo-European native speaker. Furthermore, how much practice can you get in those languages? Learning a new language properly requires practice.
I would suggest a romance language: Spanish or Italian. If you start learning one of them, it will be relatively easy to switch to another one (e.g. if you suddenly start working with Brazilians and you already speak Spanish fluently, switching to Portuguese would take little effort). Also, both languages are easy to learn and are used in somewhat developed economies. A lot of development nowadays is outsourced to South America, so you can have practical use for it.
Finally, don't to what most people try to do: you can't learn a language from audiobooks or books. You will need to take classes - at least two or three times a week. A classroom setting is the second best way to learn a language. The best way to learn a language is a classroom setting in a country where that language is spoken by the majority of the people.
Quick heads up - they put the ingredients on the side of the bag.
If you are buying your bread in a bag, you are doing it wrong.
Best tasting bread, in my opinion, is bought in bakery and has 4 ingredients: flour, yeast, salt and water.
Now, onto the H1-B thing: I do believe it is used to drive down wages. For this reason, I think a new type of probationary visa that runs for a year should be used, and if the worker (in a LEGITIMATELY understaffed field) performs well, they should be offered citizenship, full stop. They either then accept US citizenship, or leave.
Sorry, I posted too soon: actually, early US citizenship would solve the problem that I mentioned. If people had it, then they wouldn't have to worry about losing their job (they'd just go and find another one and use their savings meanwhile). Then again, if I had it my way, we'd all be citizens of the Earth and we wouldn't have to worry about pesky things such as visas no longer. But most people don't like that idea for some reason...
Don't tell me what I should think; if you try that in mixed company here in the states in person you may get your ass handed to you post-haste.
I am asking you to consider my arguments when you decide what to think. I don't know about company that you keep, but people I like usually don't hand one's ass to one just because they don't like their views.
Now, onto the H1-B thing: I do believe it is used to drive down wages. For this reason, I think a new type of probationary visa that runs for a year should be used, and if the worker (in a LEGITIMATELY understaffed field) performs well, they should be offered citizenship, full stop. They either then accept US citizenship, or leave.
That's how it pretty much already works. To quote Wikipedia: It allows US employers to temporarily employ foreign workers in specialty occupations. If a foreign worker in H-1B status quits or is dismissed from the sponsoring employer, the worker must either apply for and be granted a change of status to another non-immigrant status, find another employer (subject to application for adjustment of status and/or change of visa), or leave the US.
Immigrant workers are willing to work for less because if they lose their job, they have limited time to find a new one and it gets very tricky. E.g. imagine having your children attend a school in USA, having a house that you call home, etc. You would rather accept lower salary then your colleagues who are American citizens then have to leave it all behind. Employers are abusing that. Then again, if America didn't have immigrant workers at its disposal, are you sure your standard of living would be as high as it is now? American laws permit immigration because it's beneficial to USA, but there are some tradeoffs too. Are you sure, if suddenly there were no immigrants in the USA, that you would still be able to buy same amount of commodities for your salary?
I am not preaching to Americans on how to handle immigration, I am just pointing out that to me (and it seems I really have to point out that I am the author of my thoughts here and that nobody, whatever I say, is forced to think the same way) the way many slashdotters refer to "H1Bs" is insensitive and rude.
If you want Americans to study STEM, you need to provide jobs for them. Why get a degree in engineering just to train to your H1B replacement, or to have you job offshored.
As somebody who was once an H1B (or the way I like to think of myself: a human being making his living), I noticed how recently there is a lot of anti-immigration sentiment on Slashdot. Referring to somebody by their immigration status is just not nice. It seems H1B is the new buzzword here spoken with attitude described for "Okies" in The Grapes of Wrath.
College educated people who come to USA to work really don't deserve that kind of attitude. They go there either because they like America enough or because they can't make decent living elsewhere and both causes are respectable.
I respect that you may think immigrant engineers are lowering your hourly rate and robbing you of the job you were entitled to, but please keep in mind that it's a sign of proper upbringing to value all people equally regardless of where they were born.
You just had your elections and neither one of two major presidential candidates talked in support of labor rights and collective bargaining. If these issues are not important enough for Americans, then it would be nice to refrain from bashing "H1Bs" whenever they get a chance.
It's not about political correctness, it's about politeness and respect of other human beings who want the same thing as you do: to work and be respected for who they are, regardless of where they were born. I wish all slashdotters to never be in a situation where they have to choose between their work being valued appropriately (i.e. working in a foreign country) or not being referred to by their visa code.
P.S. I apologize for using your post for this rant.
I concur. You can't copy/paste from YouTube and you can easily skip over a boring part or get back to the part you didn't understand properly or bookmark a page for reference. Code snippets are impossible in a video and generally you lose interest when you realize that your documentation is narrated by a 14 year old.
P.S. Tutorials are not a replacement for proper documentation. They are usually both needed - tutorials to show you what it's all about and whether or not you fill find a use for it, and documentation for reference.
This is the same paradox Microsoft struggled with on Windows XP: if you make a really good product, people will buy it once and buy nothing else.
I don't want to go into whether Windows XP was a good product or not, but I think that's not the reason people are reluctant to upgrade.
Windows supported Windows XP for a very long time and an average user or an average IT guy will not upgrade a supported product as long as it does the job alright. Once drivers stop working or new applications aren't supported - people will upgrade.
I have the same experience with Linux: I do not upgrade my Debian installations to a new release until they are no longer supported. All my programs (versions of apache, postgresql, etc. which I am happy with) run on it correctly and I have no incentive to go through trouble of upgrading or risk hours spent debugging stuff after the upgrade. That's not necessarily because Debian is a really good product (though I think it is), it's because I am lazy and/or don't like spending more hours at work than I have to.
Now, there are enthusiasts who like latest & greatest and they will be happy to buy a new version of Windows and tinker with it out of curiosity, but they probably don't make a significant percentage of Microsoft's sales.
The power of marketing seems so vast that we are willing to buy products which don't even exist yet. Even if there were a good financial incentive (20% off or something) for pre-ordering, I would still be baffled by people who would buy a cell phone without reading reviews first. It's not even only about the money - cell phone is something you have to use every day, and if the size, or ergonomics or the user interface isn't right for you, it will make you miserable.
I can see how Apple users (and I am one) trust Apple to make generally good laptops or phones, but there is still a difference between favoring one manufacturer and buying their products blindly.
Mandatory viewing: Czech Dream, a documentary about a couple of guys who get thousands of people to show up for a grand opening of a supermarket which doesn't exist.
I often hear this argument from Americans and I think those of you who make that argument are spoiled and have skewed view of need vs. perceived comfort. I lived in the USA for a long time, so I have a general idea of what needs people there have. Now I'm in Europe and I have exactly the needs you specified, so I decided to buy a station wagon - Ford Mondeo. It's a 2 liter diesel engine and seats 5 people (meant for 4 adults and a child, but I've driven 3 adults in the back and they didn't complain much), and if I needed more, I would go for a mini-van.
It comfortably cruises at around 155km/h, or around 95 mph, which is generally the highway speed limit +25 km/h which is tolerated by highway police interceptors. That gets me to my place of vacation safely and comfortably (i.e. not much wind or tires noise, steady engine and acceptable mileage).
It has high enough clearance so I can drive on unpaved roads, and I do that relatively often when I go visit in-laws who live in a remote village or go up to the mountain house my family has.
Each winter, as required by law, I swap my summer tires for winter ones and I can go skiing: with proper tires you don't need 4WD to drive up a snowy road. I keep a set of chains (also required by law) for when it gets bad (and I only used them once in the last 4 years).
It's a station wagon, so I usually get asked to help move people. It has a plenty of space to move furniture or e.g. kitchen appliances, but so far, 100% of places selling furniture of appliances also delivered. If I ever have to shift something bigger and heavier, I'll just hire a truck with some workers to do it for me. One time fee for them is surely going to be less than what I would pay for gas and registration for a year for a pick up.
It's just the right size so I can park it in any European parking lot and not block downtown streets (like people in SUVs do).
Best of all, I get 40+ miles per (US) gallon of diesel on it.
Don't get me wrong, having a huge SUV would be very comfortable (if I put aside the fact that I couldn't park it in all places I wanted - but that's not an issue in North America), but the fact is that I just don't really need it, and I can bet you don't either. I'd rather take more tourist trips or put money into my gadgets and computer, or save up for a bigger/better apartment.
Keyboards in the article picture look a lot like old mechanical keyboards. They could probably make a bit of cash by selling them on e-bay and buying some cheap disposable ones... It would probably make the computer lab a lot quieter, too :)