Tuesday, December 4, 2012

Defeating Gnome Evolution

Once upon a time, I apparently imported my Google Calendar info into Evolution, thinking the integration would be a good idea. It drives me crazy. The web interface is good enough.

Sad thing is, Evolution wouldn't let me delete the calendar. I searched for solutions, and nothing worked.

What did work was this (and maybe some of this is overkill, so don't sue me if you lose something you want):
  1. Kill all evolution processes. I needed sudo for the calendar one, and that's probably the one that really mattered.
  2. Kill the goa (Gnome Online Accounts) process.
  3. Watch out, because evolution processes like to start back up on their own.
  4. Delete .config/evolution (although maybe just the related sources files would have worked).
  5. Delete .config/goa-1.0 (and again, maybe could have been more selective).
  6. Delete .cache/evolution (and again, maybe could have been more selective).
After all that, if I logged out and back in or otherwise let Evolution restart, it no longer tried to access my Google data.

Anyway, it felt like virus hunting I've done in the past on friends' computers. Things just kept coming back. Is any "robust" software like a virus? At least to me in this case, Evolution was serious malware.

Again, this isn't a scientific report. Just vague notes on what I did. Don't blame me for anything.

Thursday, November 29, 2012

Intelligence as a wave

On the side, I've been pondering self-modifying code as it relates to artificial general intelligence from a self-programming perspective. I think, in the extreme, an agent could (attempt to) change any aspect of its world, including its own software. To a great extent, humans are malleable, too, with cells dying and regenerating and with neural connectivity changing over time. I believe in spirit, too, but I don't know how everything works.

Anyway, I've wondered what it means for a running process (on a computer) to have access to change all its own software. If the code changes, and if all other aspects of memory change, during run time, what is constant?

I've started to think of it like waves. In a wave, the matter doesn't move, even though the wave (the energy) does. In a running process that can everything about its own memory and code, the software itself isn't the true process. The software is like the matter than the process lives in, and the process itself is some sort of wave in that medium.

Those are all my thoughts for now. Nothing formal. Just wanted to get them down in case I forget about it later.

Thursday, November 1, 2012

Prezi's UI changes

I've never really used Prezi myself, but my son has for school. I just got a notice that they've changed their UI. That link probably won't last forever.

Summary is that they are changing from an organic look with things spread out in somewhat hand-designed fashion into a more common style with everything across the top (and looking a lot like recent Google UIs, too).

I think there are pros and cons despite their simple claim that "Our new interface is simpler, cleaner and better." There were reasons for the old UI, I think. They weren't just drunk. However, it is yet another example of an oddball interface made to conform to common expectations.

Long ago, I worked on a WYSIWYG HTML editor that went through the same kind of evolution.

What's common often is what's easier, especially when you want to grow to new users.

Wednesday, September 19, 2012

Wikipedia's efforts to be legitimate

Am I the only one annoyed at all the "doesn't follow guidelines" notices on Wikipedia pages? It's clear they want to be a "real" encyclopedia, but I think they are losing the value I want from them in their efforts to do so. I'm been somewhat okay since I've usually seen only threats to delete pages.

Well, today I found a deleted one.

I do scientific research for a living. I get the idea of standards and all such whatnot.

Still, I want what Wikipedia was, not what it has become. There are alternatives, but it's an issue of fragmentation. Maybe a simple, consistent, persistent place for collaborative sharing on any topic is just an unsustainable and unrealistic thing.

I mean, really, I can decide if I trust references. Allowing sidelined expert comment on legitimacy might be okay, too, but their current strategy is directly impacting what value I can get from them.

I've finally contributed (financially) a bit to Wikipedia a couple of times in the past year or so, but I think I'm going to stop. They more often aren't what I want, and I'll just have to accept that I need to look elsewhere. If they can't afford to stay in business, I'll already have learned to survive without them.

Wednesday, August 1, 2012

Favorite software: Which language?

Just a sampling of some of my favorite software or at least ones which I use frequently out of choice, along with their primary development language(s) so far as I understand things off the top of my head. These are in alphabetical order (if I don't make a mistake in manual sorting):

Bullet: C++
Chrome (including V8): C++
Eclipse: Java
Firefox: C++
Git: C
Gmail: JavaScript (front), ? (back)
Google Calendar: JavaScript (front), ? (back)
Linux: C
LLVM: C++
Skia: C++

There are probably other things I should have on that list, but it's a bit C++ (and C) heavy right now.

Maybe C++ is used because of inertia. I know it's far from ideal. It's a mess even, but it's clearly capable of being used for making good software. Something worth musing in my lifelong quest to find how I want to code.

Tuesday, July 31, 2012

C++: Why or why not?

These days, I'm most integrating with native libraries, although web browsers are interesting, too. (See perhaps NaCl and Emscripten on the latter.) Some of those libraries export C APIs. That's nice for reuse across languages. Some (Bullet, Skia, ...) do best with the raw C++. This makes interfacing more difficult. One of the best ways to use C++ libraries is to code in C++.

And truth told, especially with C++11, I don't mind coding in C++ myself these days. I like type inference and closures. Bothering with shared_ptr, weak_ptr, and unique_ptr isn't the end of the world, and it gets most resource management done. Eclipse CDT has passable (although quirky and not always reliable) support. On a fast CPU, I can almost survive compile times.

On the down side, C++ is still a complicated beast. I'm not sure I'd like to see results of newbie code in C++ as they try out fancy features (which sometimes really are needed for clean code, too). I also don't understand everything myself. I get the point of C++11 move semantics, for example, but I don't really understand how to use it. I'm sure I could, if I spent time on it, but I sort of hover around "I need to get to that someday" mode. And it's such a bother to have to understand such details. Many other such examples exist in the beast.

Also, there's the issue that I'm really tired of needing to declare functions before defining them and the whole header vs. source files. It seems a small thing, and I could argue their virtues, but it's one of the things I'm most tired of.

In the end, for just getting a job done when I need to integrate, I think C++ is the easiest way to go, and it really is possible to write clean and portable code. However, the warts and slow compiles really grind on me. I'd also like a good implementation I could use everywhere, open standards not withstanding. Maybe that'll be Clang someday, if Windows coding support goes up. Maybe.

I wish the language in my head would fly out automatically with amazing C++ integration support included.

Saturday, July 28, 2012

How to be a polite helper

I love to see polite responses like this on help groups. So often I see complaints about people being incompetent or not reading manuals or whatnot. Being polite is wonderful and what's needed if you care about having a good relationship with folks out there. People aren't morons just because they make mistakes. Everyone makes mistakes.

Maybe rude responses are more likely for projects that feel they already have all the attention they want and just can't keep up?

Sorry for not spending the time to look up a counter-example on rudeness, but the polite example is nicer to read anyway. And I guess finger pointing isn't nice either, so maybe it's just as well I haven't looked one up. I guess I could anonymously quote or something.