top Microsoft To Open Source
.NET and Take It Cross-Platform
Roslyn. Open sourced back in April. Currently in development for C# 6.
Roslyn page on MSDN has links to nuget packages and their git repo.
top What People Want From Smart Homes
I've done some X10 in the past, but now all my stuff is Insteon (and most dual-band, which actually works quite reliably). I have a few things installed in my house now, which while they are part of an "automation system" I'm not sure I'd call it a "smart home":
* Keypad by the front door
* Has a button that both shows if the garage door is opened/closed and can open/close it
* Has an 'all off' that turns off the kitchen / living room lights
* Can control the outside soffit plug for x-mas lights * Outside lights
* Turn on to 50% when it gets dark (ISY99 controller that automatically accounts for DST changing of daytime throughout the year), turn off at midnight
* Quickly go to 100% when there's motion outside, OR if the garage door is open, anytime when it's dark out
* All transitions fade: eg, After motion stops, they take ~1min to slowly fade from 100% back to 50%. This is subtle and just a nice touch that's easy because of the system * Kitchen keypad has 'bright', 'dim', and 'off' buttons, which control the lights over the island, sink, range hood and under-cabinet.
* There's also a button used to indicate if the garage door is open, so we can see from the back half of the house
I haven't installed it yet (change of season made it not important now) but I will be adding a keypad to the bedroom to control the fan/lights. Right now there's just one switch and if you want fan/lights you have to pull the chains. During the summer we are constantly walking into the dark room, turning the switch, and all that happens is the fan turns on.
I think for me, a lot of the use case behind using insteon, is less about 'automation' and more about being able to make virtual 3/4/5-way switches and scene-based lighting without having to rip apart drywall and rewire.
Heck, one really convenient thing is that the switch in the living room controls lights on the other side of the room -- without a plug-in module, I'd either have to adjust those lights manually (meaning they'd be left off and/or on all the time), have an extension cord running in front of my fireplace, or open up drywall to rewire. I didn't build the house or choose to make the switch operate a plug on the same wall 6ft away, but at least I can make our lives easier with very little effort.
A lot of this is really just laziness in way, but at the same time, when you have to use 4 different controls in the kitchen to get all the lights on/off you simply don't turn them on and/or leave them on most of the time. One button gets better use of what's there, and just makes life a tiny bit more pleasant.
One thing I really don't get is the fascination with using smartphones to control. I've tried it, I just don't find it useful or convenient. Assuming I have my phone on me (I don't always, while at home), I have to take it out, swipe to unlock, wait a second for it to load, find the control app, wait a second for it to load, find the lights/scene I want, then change it. How the hell is that more convenient than the switch/keypad that's always on the wall right next to the door that I walk by as I am coming into the room? Seriously, I don't understand.
This whole 'you can control the lights from anywhere' thing is just a non-existent use case, as far as I'm concerned. We accidentally leave the lights on maybe a handful of times a year.. that is not a primary case of why to install these types of systems. I haven't even had my system exposed to the internet for the last couple years (changed my router, and never set up port forwarding again) because I NEVER used it remotely.
I have a wifi-connected thermostat, which is great for exactly 3 reasons: It is miles easier to program than the cheap piece of crap it replaced; I have a linux cron job that turns on the fan a few times through the day that greatly helps balance out the temperature (otherwise the back of the house facing the sun gets significantly warmer than the front), and I could only find this feature on MUCH more expensive thermostats; and lastly, I can adjust the temperature from my bed, particularly handy on holidays when we're sleeping in but the temperature is set as if we're away at work.
top The Great IT Hiring He-Said / She-Said
There certainly are people that interview terribly, but there are still ways to see past that and judge their skills. I find the best way is to figure out what they're passionate about and get them to talk about that -- for example "tell me all about the latest technology/framework/language/whatever that has you excited and you've spent time learning about." You can pretty easily tell the difference between people that chase buzzwords and people that actually care and spend time trying things out or learning more than superficially.
There are also some people that have been working in a job where the technology is old, and maybe family life doesn't afford much spare time to always be learning new things in depth. That's fine also -- you can ask things like "What is the worst part about using ? What would you change about it if you code?". There's a HUGE difference between someone that says "Well, it's COBOL, it's old, what more needs to be said? haha" and "As soon as you start to get mildly complex, program flow becomes very difficult to follow and use of global variables leads to all sorts of bugs caused by competing uses of the same name which aren't always obvious".
top Apple's App Store Needs a Radical Revamp; How Would You Go About It?
I absolutely love that I can use Google Play from my PC: I read an article about or otherwise find a link to an app that sounds interesting, and I can click "Install" from there, it asks me which device (I have an android tablet and phone) and then
.. that's it, it's installed within a few seconds.
With Apple, all I see is a button "Open in iTunes". I barely use my iPod touch anymore, but last I tried you basically had to re-find the app on the store ON THE DEVICE to install it, or plug it in with a USB cable. Is that still the only way to install things?
top The Technologies Changing What It Means To Be a Programmer
I'm struggling to understand the point of this article. May as well have titled it "You won't believe these 15 new tricks for programmers. The shocking truth the devops guys don't want you to know"
* "Back to work, slave, the continuous build machine has new tasks for you."
* "You're not a craftsman -- you're a framework-tweaker." * "It's so much easier, but these IaaS administration Web pages won't buy you a drink after work."
top US Nuclear Missile Silos Use Safe, Secure 8" Floppy Disks
The perception of old things being better is also highly influenced by
survivorship bias. In short: the crappy old things have already broken and been thrown away and forgotten about. All the old things around that we still see are the ones that survived.
top RCMP Arrest Canadian Teen For Heartbleed Exploit
That's an interesting wording. It does seem like a pretty flimsy charge for what actually happened. A copy of the data (SIN numbers) was read from memory. CRA could continue to use that data to process tax returns (or whatever other purpose) regardless of if the data was read or not. The language is around "denied access to a person entitled" as opposed to "granted access to a person NOT entitled" (which is really what happened).
Analogy.. Going into your house and stealing your TV interrupts your ability to watch TV, and alters the state of your house. On the other hand, peeking through your window and taking a picture of your TV does not prevent you from watching TV, and does not change the state of your house. In fact, if you didn't catch me in the act, you'd never even know it happened (just like Heartbleed), and if you didn't know cameras could take pictures through windows you wouldn't even think about this happening (just like before Heartbleed was disclosed). It does not make it right at all, but it also doesn't even remotely seem to align with the definition of "Mischief in Relation to Data".
top AMD Unveils the Liquid-Cooled, Dual-GPU Radeon R9 295X2 At $1,500
My last CPU upgrade in my desktop came with a fan that about doubled the noise from my system, and more when the CPU got cranked up. At suggestion of a friend, I installed a closed-loop water cooler on it (which cost me ~$70 IIRC). Night and day.
It actually runs cooler all the time (I was monitoring the temp before/after because I was curious) and the whole computer now makes less noise than before. When the furnace comes on, the sound of the air coming from the vent is actually louder, to put it in perspective.
Also, my computer has no 'window' in the case, extra lights, or any of that 'enthusiast' crap that you'd probably associate with liquid cooling and people that brag about it. In fact, aside from recommending it to another friend once, this is the most I've ever said/typed on the subject.
TL;DR: liquid cooling makes your computer nearly silent, is very effective at cooling, and you don't have to be a fanatic to use it.
top New Home Automation?
make sure you include a neutral to all of your wall switch boxes
This is actually required by electrical code now (NEC 2011, 404.2(C)), specifically because of these smarter switches, and even many of the non-communicating switches/dimmers/timers on the market that have LED indicators and such.
top Google Buys Home Automation Company Nest
That would beat how long it took them to discontinue selling SageTV by "a few years".
top RSA Flatly Denies That It Weakened Crypto For NSA Money
Bruce Schneier had a good
write-up on this in 2007:
Problems with Dual_EC_DRBG were first described in early 2006. The math is complicated, but the general point is that the random numbers it produces have a small bias.
This is how it works: There are a bunch of constants -- fixed numbers -- in the standard used to define the algorithm's elliptic curve. These constants are listed in Appendix A of the NIST publication, but nowhere is it explained where they came from.
What Shumow and Ferguson showed is that these numbers have a relationship with a second, secret set of numbers that can act as a kind of skeleton key. If you know the secret numbers, you can predict the output of the random-number generator after collecting just 32 bytes of its output. To put that in real terms, you only need to monitor one TLS internet encryption connection in order to crack the security of that protocol. If you know the secret numbers, you can completely break any instantiation of Dual_EC_DRBG.
The researchers don't know what the secret numbers are. But because of the way the algorithm works, the person who produced the constants might know; he had the mathematical opportunity to produce the constants and the secret numbers in tandem.
Of course, we have no way of knowing whether the NSA knows the secret numbers that break Dual_EC-DRBG. We have no way of knowing whether an NSA employee working on his own came up with the constants -- and has the secret numbers. We don't know if someone from NIST, or someone in the ANSI working group, has them. Maybe nobody does.
We don't know where the constants came from in the first place. We only know that whoever came up with them could have the key to this backdoor. And we know there's no way for NIST -- or anyone else -- to prove otherwise.
This is scary stuff indeed.
top Google Ends Internet Explorer 9 Support In Google Apps
Why do you have *restrictions* on using IE9? If your sites/app are built correctly (using standards), then your users should be able to freely upgrade and even use other browsers. If the people that build your sites/apps are not supporting the current versions of browsers, or are doing things that are against standards and only work in IE9, then they're idiots. Or the person preventing testing of anything other than IE9 is an idiot.
It's fine for you you have a requirement of IE9+ support, but ignoring current versions is dumb. You're just recreating the mess of IE6-only apps that the world-at-large is only just getting over. Did you not learn the lesson?
It's slightly more expensive to support more versions today, but it's anywhere from much more expensive to complete-rewrite expensive when you have no choice a few years from now.
top If Java Is Dying, It Sure Looks Awfully Healthy
It definitely doesn't help that the JRE installer tries to also install the Ask toolbar. Seriously? Even Microsoft doesn't try to install Bing with the
.NET installers, and that's their own property they're desperately trying to push on everyone.
How am I supposed to take a platform seriously if the fundamental piece that has to be installed by all developers AND users to use it is doing the same sneaky things that half the crappy freeware on the internet is doing?
Just how much revenue does Oracle make from Ask anyway?
top Students Hack School-Issued iPads Within One Week
On this note.. I'd like to thank the administrators from from I was in high school for going through this. Their (ultimately unsuccessful) attempts at blocking everything gave me one heck of an awesome crash course in TCP/IP, DNS, firewalls, VPNs, and reverse proxies, etc
.. knowledge which I've used to some extent at every job I've had for the past 15 years.
top Writing Documentation: Teach, Don't Tell
I think the author's tirade against wikis is that many people use a wiki as a magical tool that allows them to forego writing documentation in the hopes it will suddenly appear, written by users that want to write documentation. This obviously isn't what typically happens.
However, I think wikis can be (and often are) a great format for documentation. The author(s) of the software should still be the primary and/or only contributors, but even so good wiki software serves to lower the barrier to writing documentation: creating/editing as simple as clicking edit, and you instantly see the results. You can link between pages, reducing duplication. Some software forces a hierarchy of pages, leading you to create things in a logical, structured way (of course, you can lead a horse to water...).
The key to this of course is that the person/people writing the software must write the bulk of the documentation (eg, like you would without the wiki as well). Don't allow random edits, or at least subject edits to a review process.If your project is big and successful, just as it lowers the barrier for you to write docs it may encourage others to contribute -- but don't rely on this.
Think of the wiki more like a publishing platform or format; not like a way to absolve yourself of the responsibility to write documentation.
top Australian Bureau of Statistics Doesn't Like Direct Downloads of Census Data
From the code:
// Also, generate a random number, which we append to the URL, to make it appear as if a complex
//key is required. This is a pathetic attempt to discourage someone from downloading the ZIPs //directly (ie. without having to login), if they deduce the URL pattern.
Coder: "Here's the census web application."
PHB: "Great. But wait..I can just type in these other names and download them really easily! People will hack us and we'll be out possibly a COUPLE THOUSAND DOLLARS! " Coder: "It is Creative Commons data, so of course we added no protection. Changing that now will be a massive rewrite and take months." PHB: "So let's add some random numbers to the end so it looks really complex and people can't guess how to get in." Coder: "But they still will eventually see the links because they do actually have to download it, so this is not really doing anything." PHB: "Psh, no one is smart enough to figure that out. I read about this GUID things and they're really hard to guess. It will work. This is your job today." Coder "..Ok, fine. I'll do it exactly the way you asked." about a year and a half ago
top Ask Slashdot: How To Convince a Company Their Subscriber List Is Compromised?
Many, many years ago when I got my first domain, I set up *@domain.com to forward to me. And about 5 minutes and several spams/garbage from the owner of the domain before me later, I turned it off.
However, I did end up making a subdomain and forwarding everything (*@sub.mydomain.com), and I've been using it exclusively for signing up to sites ever since (I've probably been using it for ~13 years). I can think of about two occasions where I have actually got spam to any of the addresses I used, both were from shady companies that turned on a 'share my address' setting without prompting (or it was so buried that I missed it, I usually spot those). I've never gotten any dictionary-style spam attacks to the subdomain or mail to an address I didn't explicitly use.
top Ask Slashdot: Are Timed Coding Tests Valuable?
You've obviously never been involved in hiring developers.
There are a *lot* of bad developers out there. So many it's sickening. Bad developers that have resumes that look like they can do stuff. They may even call themselves senior. They've worked on a team that has successfully produced a product (or at least at a company that has).
One of the memorable interviews I did with was via a referral, and it worked out that I went straight to an in-person interview (skipping my usual weeding-out process). This person had a decent CV. They worked on a project designing a military helicopter training simulator, which basically involved wiring a game (written by another team) up to a 4-person helicopter mock-up that included pieces of real equipment (radios, navigation, etc) so the actual equipment displayed and could interact with the game. I've always had a personal fascination with interfacing real-world hardware with software (and have done lots of industrial control integration), so I had a ton of questions.
Well, despite trying for ~15 minutes, I could not figure out what this person actually had specifically accomplished. The team had successfully built this thing from what I could tell, but this person could not explain to me what *they* actually did. I asked in many different ways, including very bluntly like "What was some piece of functionality/code you wrote yourself?" and the person "could not remember" (they worked there for over a year, and had left less than a year prior). The most technical thing they could say about the integration was that it "involved UDP".. Seriously.
I've been using Chrome for well over a year, and have had this discussion many times. Yes, Chrome uses more ram. But I can close a bunch of tabs, and it frees it up. Firefox, every time I try it and despite that it's memory management is "getting better", still eventually uses several GB of ram and requires that I completely exit and restart before it's freed.
My browser is one of the first things I start up when I turn on my PC, and generally stays open until my PC has to reboot for some reason (which may be anywhere from a week to a month). This is really only possible now because I use Chrome.
top Ask Slashdot: How Often Do You Push To Production?
If your pushing code the production once a day, you have no QA cycle whatsoever.
That's not necessarily true. You can push code up once a day, where QA takes it a day (or whatever) later, and then it goes to staging and then goes to production. The code being pushed out today may have been in QA for the past two days, and actually written 3 days ago.
At the place I work at now, we're doing two week cycles like this. Once development is done, the code is pushed to QA, who then spends up to a couple weeks on it. If it passes, it can go out, but in the meantime, dev is working on new stuff. This works for any cycle duration, and even a per-issue basis, which is how >= daily updates (should) work.
Of course, there are places where there is no QA, and developers are pushing stuff to production immediately after writing it, and then spending the next couple days rushing fixes for all the bugs they just introduced into production. And then fixes for the bugs in those fixes... And the cycle ends when someone either wises up and realizes it's not sustainable, or all your developers burn out and leave and/or all your customers get sick of constant breaking and leave.