215 karma · joined January 11, 2015
[1] https://en.wikipedia.org/wiki/Modula-2#Modula-GM
[2] http://www.cbsnews.com/news/car-hacked-on-60-minutes/
[3] http://www.caranddriver.com/features/can-your-car-be-hacked-...
1. There's no guarantee that autoconfiguration will work, especially if your address is user@example.edu but your server is exchange.example.edu.
2. You may be required to lock your screen with a password.
3. You may be required to allow remote wiping of your device (by your email provider, seriously?).
4. You may be required to enable ActiveSync in an out-of-band operation.
To make matters worse, error messages from any of the above tend to be completely meaningless.
But once you get past those hurdles, it's actually a pretty nice experience.
If you need to access calendars from other systems, you might be able to import or subscribe to them in your Microsoft account (live/outlook/onedrive/yahoo.com) online. I was able to integrate the school calendars of my children this way. It's not intuitive, but it's a set-and-forget task.
Take a look at this snippet from example 6:
// create a repository
var repo = new CustomerRepository();
// find a customer by id
var customer = repo.GetById(42);
The fault is "I can't tell by looking at this code whether a null is returned or not."The improvement is this (in a language without nulls or exceptions):
// create a repository
var repo = new CustomerRepository();
// find a customer by id and
// return a CustomerOrError result
var customerOrError = repo.GetById(42);
Aside from the comments and a change to the variable name, isn't this code identical? The fact that subsequent code must process the result specially if the input (42) is garbage is true of any language, whether or not null is allowed. I still can't tell "by looking at it" what is happening.In fact, I would reason differently about this code if the comments were removed and the names changed:
var a = new B();
var c = d.E(42);
In this context, it seems the real error is that an invalid parameter value is passed, so I'd see if I could fix that first, possibly eliminating the need for any error handling code. That approach might be common for a functional mindset, but not exclusively so.I don't blame OpenBSD and am still looking for an appropriate machine to install it on. I'm no stranger to the OS, having used it to build transparent bridging firewalls in the 3.x days. The installer has really improved a lot since then.
But I am concerned with the state of networking hardware, now that more and more machines are produced with WiFi only. The number of points for failure seem to be multiplying and the dependence on an Internet connection is a given these days (sometimes even during OS installation). I look forward to the day when all OS installations handle network connections as simply as OS X does (which I realize is by virtue of its control over hardware & software integration).
...hard for first-time users to get right:... The private key being unlocked and available via ssh-agent.
For this to be convenient for daily use, ssh-agent is essential, and that could expose naive users to compromise. I know enough to disable ForwardAgent in my personal config by default and generate site-specific keys for hosts I can't trust, but that's beyond most ordinary users and even many of the technical professionals I deal with.
It's a shame PGP was the target of so much persecution when it came out. Maybe by now we would have worked out the key exchange problem and would all be enjoying personally encrypted communication on the Internet. I sometimes feel that any attempt to move beyond passwords without realizing that ideal is doomed to failure.
Reforming law to be machine readable might eventually provide a litmus test to prevent the passage of bad laws. It could also provide a way to flag prior law that is invalidated by a new law.
But I'm really grateful for posts like these that document the issues with cutting edge hardware, so they might be resolved by the time I'm pulling the machines of the scrap pile for recycling. Some of my old workhorses had terrible problems with drivers when they were current, but now they Just Work.
Even so, this is a clash of two policies and Google needs to reevaluate its deadline (is 120 days better for everyone, including users?).
As for MagSafe, it's only a partial success. All of my MacBooks have outlasted their original MagSafe power supplies. They aren't robust, can't be easily repaired, and are expensive to replace. I'm happy they're easy to use and help to prevent damage to the laptop, but Apple should have fixed the other problems by now.