This article is conflating whistleblowing with leaking internal product information. The latter should not be done and Google seems to have implemented a means to curb it.
Now if the system is actually being used to curb whistleblowing as well then we have a problem. But nothing the article states even remotely indicates that this is indeed how the system is being misused.
Right. As a Google employee, it's awesome the degree to which the company trusts us with future product plans even in divisions totally unrelated to our personal areas of work. Obviously though, as the company grows that makes it more likely that an employee will, intentionally or not, leak those product plans to the public before the big launch. Most internal presentations that include non-public information generally start with a strict reminder that the information is confidential, and we also get reminded about the stopleaks@ email address fairly frequently. I think this is a reasonable price to pay for the level of internal transparency in a company this large.
I've never associated the stopleaks@ address with supressing whistleblowing, and Google's internal culture and morals are such that I suspect would-be whistleblowers would feel more empowered to publicize their grievances here than in most other large companies.
Disclaimer: personal opinions only, not speaking for Google.
Sounds like Google has a culture where they openly share product roadmaps and so on with all of their employees. Can't do that when they leak it to the press.
This is the Wikipedia definition of whistleblowing:
A whistleblower (also written as whistle-blower or whistle blower)[1] is a person who exposes any kind of information or activity that is deemed illegal, unethical, or not correct within an organization that is either private or public.
There is some better basis for anti-whistleblowing in the lawsuit. [1] I'm not sure why they chose this particular email. This snippet from the suit better illustrates it:
Indeed, a second training program entitled “You Said What?” specifically states that Googlers must “avoid communications that conclude, or appear to conclude, that Google or Googlers are acting ‘illegally’ or ‘negligently,’ have ‘violated the law,’ should or would be ‘liable’ for anything, or otherwise convey legal meaning.”
Edit: I'm not convinced the above is particularly huge evidence of anti whistleblowing. It is at least in that ballpark though, versus the email in the story, which just isn't at all.
I've heard doctors given this same above as just good practice for not getting sued. That sort of stuff will be used against you in court and Scrubs (the TV show) even satirizes this
I remember that training. Basically Google is worried, rightfully, that anything an engineer speculates about the law, even internally, could wind up in a lawsuit. I think this happened in Oracle v Google.
The course was about leaving the law to the lawyers, not about suppressing whistleblowing.
> This article is conflating whistleblowing with leaking internal product information
So basically, it's doing what every other attention-whoring wingist news site does in order to rally the critical-thinking-impaired troops into an emotional frenzy
Misleading headline aside, I doubt he will have much impact in terms of revamping Google's social platform. 4chan became a thing because of the community it attracted (and then evolved into), combined with the preservation of anonymity in a world becoming less anonymous. The site's success is not due to some crazy genius foresight, just a matter of supplying a need for an insanely niche community and then becoming a space for all sorts of inside jokes and (not so decent?) content to reside, again all catering to a niche community.
As much as I enjoyed lurking 4chan back in the day, it's very difficult for me to see most of its innovations or ideas actually transfer to the mainstream. Google may have been better off buying Digg and turning it into a more accessible version of Reddit, and even that's a terrible idea.
I don't believe we really use cordless phones in the 900MHz anymore and I believe the consortiums determine which spectrums are sufficiently unused before targeting them.
Verizon and T-Mobile have some LTE spectrum in the 700MHz range for building penetration and range so I expect to see great things at the 900MHz range for lower power devices.
It's not just cordless phones though. Our baby monitor says it uses 900MHz. I don't know how many types of devices use 900MHz but it seems crowded to me.
I don't see an issue with having more available options, especially in the fast moving JS world.
I think it's more important to consider the support behind a technology vital to your stack so you can expect to regularly integrate improvements, security fixes, etc.
Spotify has used Greco-Roman Pantheon names in its technology stack. I don't know all of the exact details for Apollo in this context but I assume similarities to existing tech is coincidental.
We already have the "specialized device used in software development": the laptop (read: MacBook). No longer do we need to be tethered to wires and the grid in order to get meaningful work done as laptop battery efficiency, processing power, and mobile internet connectivity is substantially better than it was ten years, even five years ago. With dedicated cloud servers we do a lot of the compiling and automated test running and deployment on machines other than our personal ones while simultaneously writing new fixes and features ready for the next cycle of server-side code building.
Ten years ago we were in the middle of switching from wired desktops to laptops, but laptops just weren't portable enough due to weight and longevity when disconnected from the wall. Today this is still there case as our processing needs have increased as our laptops have become more formidable. I expect in ten years we'll still be in the same position.
What has been happening on the phone/tablet/watch/etc side of things however is that we're able to do all of our non coding tasks on the go in a less distracting way, such as responding to emails, retriggering failed code builds, or even reviewing code and merging pull requests. But actual programming will be crazy slow without a tactile full sized keyboard, things we've relied on to code with since the dawn of calculators/computers, and that won't change until we're programming software graphically, i.e. as if we were using Origami with Quartz Composer or RelativeWave Form, as opposed to textually.
I expect in the near future Apple will build their own family of processors for all their devices. After you build your own OS(s), invent your own language, design most of your internal chips, what remains is the CPU/GPU.
In my eyes the two biggest CSS frameworks would be Bootstrap (obviously) and to a much lesser degree Foundation. Fortunately these two are almost exactly the same in terms of what they achieve and how you integrate them into your app. The decision you have to make is whether you prefer LESS or SASS for a CSS pre-processing language, whether you like the saturated gradients and rounded shapes of Bootstrap or the boxy but shinier theme of Foundation, and other quality of life (for the developer) and aesthetic preferences.
I prefer Foundation due to my preference of SASS over LESS (I was also personally convinced of the benefits of SASS and Compass over LESS by Brandon Mathis and Chris Eppstein) and because it also looks unique in an online world plastered in Bootstrap and other similar-looking frameworks.
Neither side is flush on the 4/4S. By making only one side flush on the 5 it's easier to tell which side you grabbed as you pull it out of your pocket/purse/bag so you know to flip it the correct orientation before you ready the device in front of your chest/face.
Every Android phone I've owned is similar in this respect (as are the 3GS and below) but my 4S not so much. This move is for the best.
I never had an issue figuring out the front or back. Usually my fingers run over the home button or the ear piece which is what tells me what the front is. Honestly, I didn't even feel the edge till I repeatedly turned the phone around quite a few times, which is when I looked at it. Not sure this would let me determine what the front was, but that might be my personal opinion, or my insensitive fingers.
I think the iPhone 4/4S is a revoltingly bad industrial design, and am utterly flummoxed by the acclaim it's received. The iPhone 5 looks pretty good but I haven't actually held one yet.
I do sort of agree with the try/catch criticism. I know what it achieves and why we need it but I don't agree that it's the best or even most intuitive error handling mechanism. I personally prefer returning error messages in place of or alongside expected data structure outputs, such as the common paradigm in JavaScript where async functions return error info (or null) as the first parameter in the supplied callback before returning the actual data (if no error) in the subsequent parameters.
I do somewhat agree with the OOP criticism as well. I find the best programming achievable is by mixing strategies and not adhering strictly to any one philosophy. Java's OOP is so inflexible and limiting that it takes a significant amount more effort to get basic work done. It may lead to a somewhat more manageable codebase at first, but I feel experience in your language of choice can bridge the gap between such a strict static-typed language vs a more elegant but potentially messier dynamic-typed language in this respect.
Finally I do agree that C should be taught before you learn any other programming language...but not to such a degree that you need to be able to build the best Javascript engine in the world from scratch before you move onto another programming language. The goal of programming is to build software that saves you time, after all - you aren't saving much time with as high a barrier to entry as mastering the fundamentals of C. It is important for theory discussion as well as learning the best way to code a lot of logic in many other languages, but I feel an abstracted language has failed if it hasn't done enough of the work for you to refactor your code properly in the first place. Loop unrolling, seriously? I like that I learned why it's important...but I shouldn't ever have to do that in any decently programmed higher level language.
They don't necessarily force the developer to deal with the problem, unless you're talking about checked exceptions (which are a whole other controversial programming opinion). What they do accomplish, in my opinion, is more deterministic behavior and easier debugging.
If you rely solely on return codes to indicate an invalid state and the caller is free to ignore the error codes, it makes it much easier for the program to continue on doing invalid things - this is akin to wrapping everything with try/catch blocks and suppressing exceptions. Even more, when you do realize something is wrong, a system utilizing exceptions is generally much better at propagating information about the original problem.
Exceptions in general FORCE a developer to deal with the problem.
There are good arguments in favour of exceptions, but I don't think this is one of them. If Java has taught us anything, it is that trying to force someone to handle exceptions just causes a lot of code that says:
Actually, the correct comment for an empty catch block is:
// This should never happen.
(Until it does)
I have mixed feelings about checked exceptions. They seem like a great idea in theory - if there are known error states, then making them explicitly known and forcing the consumer to acknowledge them in some way seems reasonable. In practice, a lot of the time the only response to a checked exception is "let it propagate up - there isn't anything useful I can do", which leads to extra code and can be annoying.
Even though I don't have quite the negative feelings toward them others do, if I were involved in designing a new language today, I'd probably vote against including them. It would possibly be nice if a method could explicitly declare which exceptions it was likely to throw, and then an IDE or static analysis tool could use those to aid consumers of the API, without forcing them to deal with every single one.
Interestingly enough, I view Scala's Option construct as being somewhat similar - forcing the consumer to acknowledge that a particular call could return a null value - but it doesn't seem to provoke the same negative visceral reactions that checked exceptions do.
If you need an exception here, you're just a bad programmer. It's your fault you didn't explicitly check that the lock was functional before poking that lion! /s
Sure but are you telling me you always work on teams where everyone is shit hot?
If you write a library are you thinking that everyone is going to use it properly?
My point is that exceptions help people to learn how to use APIs (its kinda like documentation that appears through use!) and exceptions make things _safer_.
I appreciate you could write the above in two try catches but my point is that it would look more wrong. The code above _looks_ fine and that's my point.
One of the most important things for any technologist should be to try anything and everything. You never know what great things you are missing out on by buying into any one ecosystem.
PHP has its merits for sure, but so does Python, Ruby, node.js and even vert.x. You don't need to be a master to implement a solution using a new toolset; you just need ambition, passion, and perseverance.
As someone who hates being pigeonholed or locked into any set of ideas or methodologies, I could never settle with any one technology and blindly dismiss competitive products and services. I've coded in Ruby, Python, and node.js all in the last 12 months and I own both a Galaxy Nexus and an iPhone. I believe my view on technology as a whole has greatly broadened as a result so I can make more intelligent and informed decisions as to where my time and money belongs in the future.
Now if the system is actually being used to curb whistleblowing as well then we have a problem. But nothing the article states even remotely indicates that this is indeed how the system is being misused.