Less clicks, saved time
Source: Let’s get rid of double-clicking! Apple, Microsoft — please do something!
Less clicks, saved time
Source: Let’s get rid of double-clicking! Apple, Microsoft — please do something!
I’ve ordered a machine to replace my Macbook Pro in the office: Dell Precision T3500 Xeon W3540 2.66GHz w/12GB 🙂
I have been suffering as a would-be Mac user for the best part of 10 months now, on and off. It’s been a painful experience, physically and mentally. I was only going to post a short “microblog” post and be done with this topic, but I felt the need to expand upon my decision to do this.
Perhaps it will help dissuade potential future purchasers of Apple‘s overpriced, underwhelming and non-expandable machines. I hope it does, as one of the worst problems we create for ourselves in the 21st century is planned obsolescence – something, arguably, which Apple is guilty of.
In my day job as managing director (CEO) of a UK web development & cloud hosting business, I – predictably – develop websites and administer servers. I’m the kind of guy who likes to keep his hands dirty, and my skills up.
Like many other people running a small business, my daily activities can vary rapidly. A computer which is good at switching quickly is a boon. Actually, it’s a frikkin’ necessity. Yet my core activity – PHP & JavaScript development, rely on a few basic things.
Very basic things, in fact.
Very Basic Things I continue to rely upon, to get work done:
For me, the Macbook Pro fails in all of the above.
In April 2016, I bought this “Early 2015” Macbook Pro. It has a Core i5 5257U processor, 8GB RAM and 256GB PCIe SSD. When I mentioned to fellow designers I bought this, it was met with a knowing smile and the instant acknowledgement, “ahh wow, the SSD in those machines makes them so fast!”. I also, regretfully, bought a 27″ Thunderbolt display. The total cost of these two: a few pence short of £2,100. Two-thousand, one-hundred pounds for an average-spec 2015 laptop and 27-inch QHD monitor.
Fast is something I have never, ever considered a Mac to be, and especially this MBP. It booted quick, sure, but in general use… nah. Really, no. But I’m not in the habit of upsetting people, so more often than not I’d reply with some kind of non-opinionated remark like, “yeah? Right… I look forward to seeing that”. I’d argue, though, that the apparent lack of speed is much more to do with the operating system than the hardware.
This isn’t an Apple-bashing post. It’s just an expression of my preference. Yet there are things I really do like about the MBP:
I am typiubg this post on Apple’s “Magic Keyboard 2”. This section, including heading, is intentionally left with all the typos in as I make them. Why? Because the MAgic Ketword 2 is uterly crap compared to the keyvoard on the MBP itself. It pales in comparison in terms of typing experience. I would strongly recommend against anyone buying it, unless it’s vital to you to have a mininalist desk you can take photos of and swoon over all day. I spend hours of wasted time correcting typos that occur as a direct resylt of using this keyvoard.
By comparison, I was really quite glad how usable the keyboard on the MBO really is. ITs typing experience, much to my genuine surprisem ws excellent. The key travel is good abd the spacing between keys works really well. Although chiclet in style, with slightly rteduced key sizes compared to, say, an old school LEnobo Thinkpad (like my old T420), it’s so much more intuitive to use than the Magix Keyboard 2 that I shall no longer labvout the point and just move on.
macos is stupid and has been out-developed by GNU+Linux and the GNOME free software project. Strong statement, huh? Here’s a few reasons why.
But the most important thing is that GNU+Linux and GNOME (or really any other free software desktop environment) is so much better. At least for someone like me, working with remote servers, or SSH sessions in a terminal, or doing lots of text editing.
Here is a phrase you may have heard somewhen:
I believe this is true. I love my occupation and I am so privileged that people pay me to do it. When I get into the office, I cherish that feeling of biting off more than I can possibly chew, and working the problem towards a solution.
In the business, we make every effort to deliver the highest quality at the lowest possible cost. However, in web design, development and hosting, there are quite a number of significant costs to meet while trying to keep the end price reasonable. One such cost is test equipment.
Another cost is time; a hidden cost if, as a developer, you are always fighting your equipment in order to achieve a comfortable, efficient workflow. Using a Mac, while semi-enjoyable, also taught me just how efficient I had become using GNU+Linux to deliver results to clients. I can’t imagine a more fluid workflow than Emacs, Chrome and GNOME.
So, to the new (old) machine, which will be with me tomorrow. For the enormous sum of £179.99 + VAT and delivery (£9.99), I am getting:
There are a few discussions online about the merits of this workstation, and I’m glad I opted for one instead of a new laptop to supplant the MBP. The Xeon 3520 processor is not new by any stretch of the imagination. It’s 8 years old. But it’s still capable enough by far and comparable to a core i7 920; a processor we still have in use in a server at Warp.
But let’s focus instead on someone else’s video, which is a nice way to tail off…
This is a confession of a new Mac user, seeking absolution.
I have a Mac. It’s for work. Unfortunately, I finally came to realise that I cannot reasonably develop web apps to work on iOS and macOS without having access to those platforms for testing. I feel I’ve done exceptionally well to avoid this reality for many years and plough on with the Linux desktop, but building a VM Hackintosh without a proper software license is against my morals and, indeed, the law.
Would I have bought a Mac for personal use? Of course not. There’s no need; I have been a (more-or-less) happy GNU/Linux user for 15+ years. The Linux desktop has provided me with everything I need from a computer, and I’ve enjoyed the reliability of open source software. And I will continue to be a GNU/Linux user.
But … one thing about Linux that is, occasionally, frustrating is the complexity of software. I don’t mean that its typical user software is difficult or overwhelming in Linux. Instead, it’s that there is never the ‘best’ way to do things in Linux; there are multiple, ‘reasonable’ ways. It’s this lack of ‘purity’ about the desktop experience which sometimes confounds newbies, and turns some people off.
From my admittedly limited experience, it seems that people prefer to learn one way to do things and to stick to that way. With all the desktop environment options in Linux, there is no ‘one way’. This is why each platform has its advocates and evangelists, whether it’s Windows, macOS or GNU/Linux.
I feel like I have been spoilt with GNU/Linux, and especially with GNOME 3. To me, there is no better desktop environment than GNOME 3, despite having moments of hair-pulling frustration at it, from time to time. But GNOME 3 is a beautiful desktop: it’s clean and minimalist, its default file system application, Nautilus is more functional than the Mac’s Finder, its handling of multiple workspaces (where Linux is constantly superior) and navigation across those workspaces is much more fluid and natural, and so on.
There are political, social and technical issues with GNOME development and the whole GNU/Linux system at large (let’s not mention systemd here), but if you were to ignore those factors and introduce somebody to ‘the Linux desktop’, I would argue that GNOME 3 (and Cinnamon too, for that matter) present a beautiful interface to enjoy and work in. It’s not perfect, and can be problematic too at times, but it’s flexible and open.
That was a very long-winded introduction, but I felt it necessary to establish my position, before I talk about the Mac.
The problem I have is this: I want to love the Mac, but I don’t. Sometimes, especially in business, you feel you need a commercial product simply because it helps you fit into the world around you. And, when a computer costs you a significant amount of hard-earned cash, it’s got to be something you want. Sadly, I didn’t want this. It was simply a necessity for me to continue doing what I do to earn a living. Therefore, it felt ‘forced’ rather than chosen, or desired.
When you identify with a philosophy, such as I have with the guiding principles of free/libre open source software, you develop a mindset. You become attached to the tools and methodology deriving from that philosophy. It becomes incredibly frustrating when things that were easy on Linux become hard on anything else. You wonder why people put up with all these obstructions to productivity…
Let’s look at a few of these. As a software developer, sysadmin, business person and general user (who is used to the layout of a standard UK PC keyboard), I ran into several problems switching over to a Mac:
https://www.youtube.com/watch?v=bRHAio98n-g
So, the question remains, is there enough goodness left in macOS to entice me to migrate over for good?
Are you kidding?!
Less productivity, less freedom, some bizarre defaults, some frustrating impediments to productivity and all backed by a ‘can do no wrong’ philosophy mean that Apple’s products will stay strictly off my shopping list commercially and personally for the foreseeable future.
I won’t be selling my ThinkPad T420. No way, José! But at least I can now do iOS and macOS testing for web apps and site layouts. In that vein, Apple makes great test machines!
And I think I have absolved myself 🙂
This post is not intended to start a flame/holy war or any other kind of religious conflict with regard to Linux desktop environments (DEs). What it is intended to do, is to simply catalogue the multitude of problems I have been encountering while using Debian Jessie and GNOME 3.14. 🙂
Let’s put this one right out there: The GNOME Shell/GNOME 3 UI is, IMHO, the BEST desktop user experience out there for Linux.
“Wait,” you might say, “doesn’t this conflict with the title of this blog post?”
Well yes, it does. But I want you, my learned reader, to understand that I wish that the GNOME DE was as stable and solid as it should be. As it could be. And hopefully as it will be.
You see, this is what Linux and other Unix-like operating systems have been known and reputed for – their stability. I love what the GNOME devs did when they decided to reimagine the desktop for GNOME 3: they used space sensibly, vertically, which to me feels more natural and intuitive. And I love how it’s meant to stay out of the way – another good design motif.
But in terms of stability, sadly, GNOME has been something of a disappointment to me, and I wish this were not the case. Perhaps this is just a consequence of its ambition, and that will always garner my respect. Or maybe my install went terribly wrong, somewhere. But I don’t reckon. So, without further ado…
DISCLAIMER: WRT the issues with Debian Jessie‘s implementation of GNOME Shell/GNOME 3, I shall simply refer to it as GNOME. I apologise to the purists out there. I am only commenting on my experience in Debian Jessie, not anyone else’s, nor of any other GNU/Linux distribution. Finally, I intentionally do not go into detail here and am not providing numerous distro/upstream links to “validate” my own claims. I don’t need to. If you’re interested, just search anything I have put below. I am pretty confident you will find stuff…
Have you had similar experiences to these? Do comment below.
The problems with GNOME start from the very moment you log in: it’s a disk-thrashing, sluggard of a desktop. And yes, I am using a disk, not a SSD. Why? Because badly written software doesn’t deserve a place in my CPU, let alone being so resource-hogging as to require an SSD.
So yes, Tracker is the first problem with GNOME. From logging in, all the way through your session, to shutting down your machine, it’s there – consuming all available CPU, disk I/O and (perhaps due to a memory leak), system memory. Happily gobbling it all up like a sickly child with no manners. 🙂
Perhaps I am being unfair, inferring that Tracker is “bad software”. It’s not a bad idea and its search seems to work well. But it doesn’t reign itself in. And software that doesn’t adhere to users’ choices through its own preferences panel is software that needs attention.
There are too many people/posts on the web with/of similar experiences. But, why not just disable tracking completely, you ask? Like, through the GUI you mean..? Mmm.
Next up is something akin to heresy: crashing and freezing of the whole desktop UI. Seriously, it’s that bad.
You are in the middle of something, as you might be in a productive desktop environment, and BAM! no window response. That’s it. All gone. This single issue is by far the most perplexing and irritating, totally demolishing my productivity recently.
When you start searching on t’interweb about this, you realise that this has haunted GNOME for years, and in multiple versions. The nearest posts I have found on the web which seem related to the problem I have are here:
An alternative way to make GNOME hang on you is to use the live user switching. Just set up another user account, then Switch User via this menu. Then, as your new user, switch back to your original account.
Do this a few times for maximum effect, until you get stuck looking at the frozen greeter, just after it’s accepted your password for logging back in.
Enjoy the view.
It’ll last a while.
In fact, no need to take a photo. This’ll last long enough.
Moving on…
Ahh, GOA. Such a good idea. Implemented in such an average way.
GNOME Online Accounts is meant to centralise internet service (or “cloud”, hwk-ding) accounts through one easy GUI component, and then share the online resources of each account with the appropriate desktop software. Think, Google Calendar being visible in your desktop calendar, which is a separate desktop application than, say, your email reader (where you could read your GMail). But no need to set up each application separately; just set up the GOA and each application gets relevant access. Get the idea?
The account set-up bit of this is, actually, great. I’m all for it too – this whole concept. It just makes so much sense.
One of the problems with it is that things don’t work properly. For example, if you use two-factor authentication in your Google account, and rely on application-specific passwords, then GOA doesn’t like that. You will be constantly prompted for your Google account password, which is never accepted.
To be fair to Jessie, I haven’t seen this happen recently, so it may have finally been plugged. Or I may just be lucky.
Another problem is SMTP/IMAP accounts. Sure, they integrate nicely with Evolution. Until you edit parts of the account in Evolution, which are more application-specific. Then, you return to your account folders list with your GOA mail account being renamed to “Untitled”. A rummage through, and edit of, the relevant ~/.config files is required to correct this error. Not so slick.
I still have hope though. One day this stuff will work great.
Yep, another hangy-crashy thing. Sometimes, for no discernible reason, when you close Evolution is hangs, mid-termination. Forever. You have to send a KILL to it to actually get it to close off completely. Why? Who knows. It appears to be a timeout or spinlock type of problem. Sorry for being vague, but look, just do this Google search and pick a year. It looks like this bug has been around in one incarnation or another for a very long time.
Are you seeing a pattern here? Yep, our faithful friend and file utility, Nautilus, also hangs. Quite often. Why it does this, I have not yet been able to determine. Sigkill to the rescue. (You can do a Google search on this too…)
Now, I admit, this is a silly thing to do when you look at it, because you are clearly asking for trouble if you have a remote filesystem mounted into your own filesystem, and then put your machine to sleep for a while.
You can make the problem worse still, if you have laptop with a docking station. Simply put it to sleep, undock, wake the machine, then reconnect using your wireless instead of ethernet. The outcome varies from a locked desktop (where nothing works), to a frozen nautilus.
Again, a silly thing to do, perhaps, but also an innocent mistake at times. Like, when you’re rushing to attend a meeting, for example.
So, why not be offered a notification, when requesting to “sleep” the machine, saying that remote filesystems are mounted? I think even I might be able to knock up some code for that one (but I’d prefer to leave it to the experts, who I respect fully and who would do it far better than I).
As you may have gathered from previous comments, when it comes to GNOME I am primarily a business user. My business runs and relies on GNU software & Linux. For the experience and knowledge I have gained – not to mention being able to sustain an income and lifestyle I’m happy with, I am indebted to many people for their determined efforts in the free software community.
Unfortunately, little bugs creep in here and there – that’s the rule of life. One minor annoyance with Jessie, that wasn’t present in its predecessor Wheezy, is automatic audio output switching. In Wheezy, after a small tweak to the kernel module loading (via /etc/modprobe.d), the audio output would be directed to my docking station’s analogue jack when the laptop was docked, and then automatically switch to the laptop’s speakers when undocked.
Unfortunately, in Jessie, when my laptop is docked I have to hit the Super (Windows) key and get to the Sound preferences, then switch the output device. After undocking, the same story. This is, apparently, fixed upstream, but regressive and annoying nonetheless.
This is so subjective an issue that I thought it barely worth mentioning, but an issue it is nonetheless. And one that I actually feel is perhaps the worst of all.
When key processes are busy in the GNOME Desktop Environment – say Tracker for sake of argument, the “hit” on the rest of the system is shocking. Right now, as I type this blog entry, any mouse-based GUI interactions are extremely sluggish. This could be the reason why:
top - 16:34:34 up 2:00, 2 users, load average: 16.31, 15.97, 13.93
So what is causing such a load on my machine? It doesn’t take long to figure it out, in top:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9187 smd 39 19 2239548 210440 34852 R 83.7 1.3 3:50.74 tracker-extract 9148 smd 20 0 693940 59696 8652 S 7.6 0.4 4:33.53 tracker-store
For reference, my trusty ThinkPad T420 uses a 2nd gen Core i7 processor (dual core w/hyperthreading), 16GB DDR3 memory (dual channel), a 64GB mSATA SSD system drive and 500GB Seagate Momentus 7200.4 drive for my /home. It’s a set-up that’s still powerful enough for getting things done, and I’ve grown quite fond of this chunky, heavy laptop (by 2016 standards). Yes, it’s a bit clunky now, but it’s still got it where it counts, and has only required minimal servicing over the years (since 2011).
Back to the main issue, though. You see, I grew up on Amigas. Fully pre-emptive multitasking spoilt me, and I’ve never looked back, or sideways, since. These days, all modern operating systems provide significantly more advanced multitasking and far, far more powerful hardware, but the user’s needs should always come first in a desktop environment. So, having an unresponsive desktop for hours, because a non-GUI process is taking too much CPU and I/O, is not a productivity boon, to say the least.
I love how well integrated Dejadup is into Nautilus. It’s a neat idea, to be able to just navigate to anywhere on your file-system and then say “hey, you know what? I wonder if that file I was looking for used to live here?“, or “I really must restore the earlier version of this file, or that file…”.. And so on. It even states on its website, that it “hides the complexity of doing backups the Right Way (encrypted, off-site, and regular) and uses duplicity as the backend” [my link].
‘GNOME Backups’ was designed to facilitate exactly this, using the Dejadup/duplicity combo, with two main Nautilus integration actions. Firstly, you can right-click in a folder (on blank space) and select “Restore missing files”. Or, you can right-click on a specific file and select “Revert to previous version”. In either case, a dialog will appear prompting you to select a date, from a range of dates when backups occurred. Great, huh?
Except a backup is only good when you’re able to restore it. I was not able to restore mine. The “Revert” functionality simply failed, every time I tried, with a “File not found in archive”-style error message each time. I also tried restoring the entire backup, which also failed. This issue pretty much covers it.
So, perhaps using duplicity (and not Duplicity) as the backend is exactly what it does. I don’t trust it with my back-ups. For that job, I use BackInTime.
I was originally going to entitle this blog post, Debian’s GNOME is a broken user experience, but shied away from making such a bold, and somewhat unfair, claim. However, it’s hard not to conclude that this might actually be the case.
GNOME 2 used to be amazingly solid. In fact, in my younger years I didn’t use it because I perceived it as being a little boring, instead opting for KDE (v2, then v3) as my go-to desktop for quite a while. I would love to have the stability of GNOME 2 – at least as I experienced it – just in GNOME 3 form.
The biggest problem about GNOME 3 / Gnome Shell, is that I like it so damn much. For me, despite all the wrinkles and annoyances, the occasional memory leaks of “background” indexing processes, the frequent hanging of various applications and the seemingly (at times) untested nature of the software, it’s actually brilliant. It’s fast, feature-full, yet fluid. That’s a rare combination in software.
For me, it’s faster to work in than any other DE, because it combines enough functionality with equally enough transparency. For instance, when I am editing a client’s website files and want to upload them, Nautilus is the hero – allowing me to quickly mount the remote filesystem, upload my files, and then disconnect. No need to launch additional software for that task. We’re just moving data from one filesystem to another, right? That’s what a file manager does and, in the main, Nautilus is exceptional at it.
As an Emacs user, I know I could do a similar thing using Tramp and Dired mode. And I’ll keep that as an option to probably explore someday soon.
I’ve been using Debian for some time now, migrating away from Fedora on my netbook to start with, and then later on my main work laptop. In general it’s an operating system that does so much right, it’s hard when things occasionally don’t work as expected.
I won’t say that Jessie’s innings with GNOME have been the best; fair from it. But hopefully we can look forward to a smoother experience as time goes on.
Using Debian Wheezy, I found that trying to use Evolution as my task source for hamster-applet was not working.
I enabled Evolution as my source for tasks in Hamster. When executing hamster-time-tracker from the CLI, an error would appear in my terminal:
** (Time Tracker:14088): WARNING **: Failed to open calendar (type 1): Authentication required
I first thought that the problem was with hamster, that it was an outdated version. So I downloaded the source from github, re-built it and installed it on my system (after removing the old hamster). This didn’t help. But, as I had the source handy, I thought I’d take a look.
In the hamster-master/src/hamster directory is a file called external.py and, in that, this:
try:
import evolution
from evolution import ecal
except:
evolution = None
So, I know I have found the right area to start investigating this issue further.
For python applications to interface to Evolution, which is written in C, some interfacing software is required. This is installed generally in the form of the package “python-evolution” (http://packages.debian.org/wheezy/python-evolution). As shown at the top of that page, the source for this binary package is gnome-python-desktop (http://packages.debian.org/source/wheezy/gnome-python-desktop).
The next step was to search for the source package responsible for interfacing to Evolution’s calendar. I soon found this. From the Packages Debian page (packages.debian.org) you would click the Developer Information (PTS) link (http://packages.qa.debian.org/gnome-python-desktop). Once there, on the right hand side, click browse source code (http://sources.debian.net/src/gnome-python-desktop/2.32.0%2Bdfsg-3). You end up at a page listing folders containing source files. Simply click into evolution and then click on evo-calendar.c (http://sources.debian.net/src/gnome-python-desktop/2.32.0%2Bdfsg-3/evolution/evo-calendar.c).
I don’t profess to know programming in C, or even how to read much of it really, but you learn by doing – so let’s give it a go. Around lines 24-34, we see the declaration of what I believe is a structure:
#include “evo-calendar.h”
ECal *
evo_cal_source_open_source(const char *uri, ECalSourceType type)
{
ESourceList *sources = NULL;
ESource *source = NULL;
ECal *cal = NULL;
GError *gerror = NULL;
g_debug(“Opening calendar source uri: %s\n”, uri);
This looks like what we need – some code that is trying to open the calendar. It’s also including the header file, evo-calendar.h, which we may need to look at in a sec. So, the main purpose of this code is to open a calendar:
if (strcmp(uri, “default”)) {
if (!e_cal_get_sources(&sources, type, &gerror)) {
g_warning(“Unable to get sources for calendar (type %u): %s”,
type, gerror && gerror->message ? gerror->message : “None”);
g_clear_error(&gerror);
return NULL;
}
source = evo_environment_find_source(sources, uri);
if (!source) {
g_warning(“Unable to find source for calendar (type %u)”, type);
return NULL;
}
cal = e_cal_new(source, type);
if(!cal) {
g_warning(“Failed to create new calendar (type %u)”, type);
return NULL;
}
if(!e_cal_open(cal, FALSE, &gerror)) {
g_warning(“Failed to open calendar (type %u): %s”,
type, gerror && gerror->message? gerror->message : “None”);
g_object_unref(cal);
g_clear_error(&gerror);
return NULL;
}
} else {
if (!e_cal_open_default (&cal, type, NULL, NULL, &gerror)) {
g_warning(“Failed to open default calendar: %s”,
gerror && gerror->message ? gerror->message : “None”);
g_clear_error(&gerror);
return NULL;
}
}
return cal;
If you read closely, you’ll see that we have an IF statement, followed immediately by another IF statement:
if (strcmp(uri, “default”)) {
if (!e_cal_get_sources(&sources, type, &gerror)) {
g_warning(“Unable to get sources for calendar (type %u): %s”,
strcmp may be a string-compare function. Regardless, because of our error message in the terminal, cited previously, it’s fair to say that this strcmp is returning a TRUE. In other words, a basic test is conducted based on the URI that is being passed in to this function, and an error is being returned.
The error returned, “Failed to open calendar”, is a string within the C source code in this same file, at around line 57:
if(!e_cal_open(cal, FALSE, &gerror)) {
g_warning(“Failed to open calendar (type %u): %s”,
type, gerror && gerror->message? gerror->message : “None”);
g_object_unref(cal);
g_clear_error(&gerror);
return NULL;
}
This is the error message we are seeing! The (type %u) bit after the message is probably the return code (a general rule is that if the return code is 0, everything is ok, and any valyue other than 0 means there’s a problem) and the : %s bit is the string returned from the function trying to open the calendar, giving a reason why.
So, to reiterate our error message:
** (Time Tracker:14088): WARNING **: Failed to open calendar (type 1): Authentication required
The function e_cal_open() is returning this error code. To understand this function more, and what’s happening in this code, we need to look at the source for this function and also understand what data we’re passing to it.
Firstly, our call to the function is this:
e_cal_open(cal, FALSE, &gerror)
We can come back to what we’re passing to this function in a moment. Firstly, though, where is the e_cal_open function? We need to find out how it works!
Remember earlier that our file evo-calendar.c has an “include” pointing to the file evo-calendar.h? Well, that means “grab the file evo-calendar.h and make its resources available to me”. Within evo-calendar.h, there is no e_cal_open() function, but there are other includes, including one pointing to libecal/e-cal.h.
On debian, lib-ecal is another package installed along with Evolution. So, finding the file e-cal.h is as simple as using find or locate. On my system, the complete path to the file is /usr/include/evolution-data-server-3.4/libecal/e-cal.h. Hurrah – let’s go searching that C for e_cal_open:
$ grep -i e_cal_open /usr/include/evolution-data-server-3.4/libecal/e-cal.h
gboolean e_cal_open (ECal *ecal, gboolean only_if_exists, GError **error);
void e_cal_open_async (ECal *ecal, gboolean only_if_exists);
gboolean e_cal_open_default (ECal **ecal, ECalSourceType type, ECalAuthFunc func, gpointer data, GError **error);
The first one is the one we’re interested in at present: e_cal_open.
[ Sorry. This is an incomplete post, published for completeness instead of binned.]
“Fun” with Windows 7
So.. been having lots of fun with Windows 7 this morning. Got hold of a refurb PC for doing some client system testing.
Win7 install completes and there are 3 updates to do. Start the update process and two modal windows open up behind the update window, waiting for me to do something. Have to click on task bar’s flashing icon to bring windows to the front. On Windows. Windows.
Anyway, I give the “OK” for Microsoft Security Essentials to install and it does, then starts to run an update within itself (!). Due (perhaps) to the length of time of this process on this ageing P4, the main MS software updater kicks out another window saying “The application Microsoft Essentials may not have installed correctly.”
I’m sorry. “May“??
Choices are “That’s ok, it installed correctly” or “Reinstall this application”. Except the application is installed and already running an update. Err…? So.. how do I know it has installed correctly? Because it’s running…(?!) (Does the computer not know??!)
With 20 minutes of Windows use this morning, I can’t believe just how bad things are on the other side of the fence. Someone fresh to Windows will see all this flashing icons, hidden windows, alerts, worries… and not have the first clue what to do.
Someone close to me was one of those unfortunate souls. She’d persisted for about a year with her Win7 machine and was constantly anxious with its scaremongering. Hardly a productive environment.
Luckily, she’s now running #debian #wheezy with the #gnomeshell and immediately found it intuitive and straightforward. Go #freesoftware !!
I recently upgraded to Fedora 15 on my netbook (a Samsung N130). For a while I used Ubuntu 10.04 (nice and quick, reliable wireless, good battery), then 10.10 (bit slower, still reliable, reasonable battery) and then 11.04 (sadly a bit more sappy towards the battery and – subjectively- more laggy too).
But saying that, I like Ubuntu 11.04 in many ways. I think Unity is good, despite much antipathy towards it elsewhere on t’internet, and the intregration of social networking, media player, messaging and so on makes for a pretty swish experience. One problem that started plaguing it on my netbook, however, was that wireless became increasingly unreliable. Sometimes I’d have to reboot multiple times to get a conneciton to my Access Point. Connecting to wireless when coming out of standby never worked, period.
The netbook contains a Realtek RTL8192e wireless chip – a problem in Linux due to Realtek not really pushing development as proactively as possible into the Linux kernel.
So, what to do?
If you’re reading this then you’re probably thinking you have two options:
1) Struggle for an eternity to get the native Linux driver working properly, or
2) Install ndis-wrapper, download the Windows driver binaries and use that instead.
There were the options I felt I had after reading this fedoraforum thread (F15, RTL8192 and Staging Drivers) and this thread too (F14 RTL8192E Staging Driver).
I almost swayed completely to option 2), but as if by magic I managed to get option 1) working. This was mainly thanks to this ubuntu forum post. In the post is a link to a download with the native linux RTL8192e driver files (I have taken the liberty of copying this archive and uploading here, in case that link stops working).
Here’s what I did:
In a terminal, type (as root)
# yum groupinstall “Development Tools” -y
Then, as your normal user:
# wget http://www.dirk-hoeschen.de/temp/rtl819Xe.tar.gz
(or my link, above)
# tar xfz rtl819Xe.tar.gz
# cd rtl819Xe
Then, again as root:
# ./install.sh
(this step compiles the driver and loads the resultant kernel module)
Because Linux loads drivers (modules) dynamically, the device is brought up immediately.
My wireless card was then recognised and visible in Network Manager. My access point was recognised and easy to connect to. I have noticed that negotiation times are a bit longer than before, but I can confirm that after a little testing I can now put my netbook into standby, then awaken it and hey presto! my wireless reconnects automatically. This is not a fringe use case; I for one am very glad this works as it should now.
Unlike the ubuntu post, I didn’t download the latest sources to compile. I just went with the files in the archive. If you have difficulties, it may be worth investigating this – YMMV.
Although Fedora 15 was a pain to start off with, due to this issue, I found that once sorted it’s now becoming a real joy to use. The extended battery life is really something to behold too – I’m getting a 20-30% increase in operating time now (up to 4 hours instead of 3 on Ubuntu 11.04).
Hope this helps someone out there. If not, you may still want to follow some ndis-wrapper instructions – this might be a better alternative for you.
Good luck!
Thunderbird and Firefox are GTK+ apps. GTK+ is a windowing toolkit that GNU/Linux application developers tend to use when creating software on the GNOME Desktop Environment.
If you decide to switch to an alternative desktop environment, such as KDE, the default settings for GNOME/GTK applications may be ignored. This is because KDE uses the Qt windowing toolkit instead.
To fix this, you need to do it tell KDE to pick up the GTK settings and apply them to your GTK apps.
In Fedora/CentOS, this is simple:
# yum install qtcurve-gtk2.x86_64
Then in KDE, point to Kicker (the application menu) > system settings > Application Appearance > GTK+ Appearance
Change the Widget Style (dropdown) from Redmond to qtCurve.
More information for Ubuntu users is here: