Thursday, May 10, 2012

Gambas

Click to visit the Gambas
documentation site.
This evening I've been playing around with Gambas, a BASIC IDE for Linux. I really expected this to either be a crappy clone of VB, or to simply suck like every other BASIC attempt I've seen in *nix. I'm happy to report that Gambas not only doesn't suck, but is pretty damned impressive for what it is... and that is a tool to build quick-n-dirty apps fast, fast, fast. 


Although it occupies the same sort of conceptual space as VB6, it's not a clone. The designers seem to have simply taken BASIC and implemented it as best they can, without being the slightest bit shy about their improvements, and without feeling the need for backward compatibility. GOOD CHOICE. This allowed them to borrow conceptually from Delphi, and Java, and anything else that makes sense.


For instance, a Gambas "project" is a directory on the filesystem, plain and simple. Each class, form, or module is a separate text file in that directory. If it's not a class, form, or module, it's "data", which can be literally anything. A Gambas program is interpreted, not compiled, but that shouldn't concern you, because that's true of any of the wildly popular scripting languages, as well as Java and DotNet programs. And Gambas is a sight easier to code in than most of those.


Programming in Gambas "feels" like programming in Delphi, or Visual FoxPro, with VB-like syntax. I'm not familiar enough with it yet to give a final verdict, but thus far I've seen little to dislike and a lot to like. Just one example: It's not necessary to see if a string is empty by using Len(). Instead, an empty string evaluates to FALSE, and a string with a value evaluates to TRUE. So you can simply say "If myString then...". Smart.


It's very PC to hate BASIC, but don't let blind prejudice get the better of you. There's  a place in the world for environments like this where you want something useful done fast.

Ubuntu Precise Pangolin, GNOME, and Extensions

Life just keeps getting better. Ubuntu 12.04 "Precise Pangolin" is a big step up from the mishegoss that preceded it. The Unity desktop was promoted to Ubuntu's default before its time, but has seen steady improvement since. There are folks who will love the Launcher and the Global "Mac-style" Menus... I just don't happen to be one of them. To give you a fair look at it, though, check out this on-line tour of the Unity interface. Try to ignore that the default wallpaper looks as though someone painted the screen with melted Skittles.

GNOME-shell

MUCH better for me is GNOME-shell, which is easily installed from the Ubuntu Software Center.

Like Unity, GNOME-shell has depreciated menus in favor of Search. You just bang your mouse cursor against the upper-left corner of the screen or tap the System key (Luddites know it as the "Windows" key). All of your running applications will be revealed in the overview, spread out so nothing's hidden, you'll see the following:
  • The application dock (the "dash") at the left. This contains the icons of favorites and running programs. Additional favorites are added to the dash by launching the program. Then just right-click on the icon on the dash and pin it there 
  • additional workspaces will be exposed on the right. As has long been the case, Linux provides multiple workspaces so you can compartmentalize your work. GNOME makes this easy... just drag one of the apps onto the empty workspace at the right. The app will be moved there, and a new empty workspace will be created automatically. There are no more static limits to the number of workspaces.
  • At the top of the overview there's an indicator that the screen is displaying either Windows or Applications.
  • your text cursor will be placed in a search box.

This is smoothly animated, and against my expectations it's very natural. It's become my default method of switching between full-screen apps.

If you start typing, then your search results will be displayed immediately. Here I've typed "scr" and GNOME's responded with a number of likely items. You'll notice that here it's categorized the results into "Applications", "Settings" and "Contacts".


Also note that the settings that are returned are things that have to do with screen settings, but don't necessarily have "scr" in the name. And what's "Caffeine" doing there?  Well, it's an app that prevents your screensaver from activating while you're watching a movie. As you can see, the search feature presents results based on your likely intentions. It also works around spelling mistakes.

The menus aren't displayed in drop-down lists as they used to be, but that doesn't mean they're exactly gone. Clicking on Applications at the top of the screen reveals the menus as a grid of oversized icons. By default all items are displayed, but you can click on one of the categories at the right to narrow your view. These exactly correspond to the old GNOME menu categories, so everything's familiar.


Also, when the Software Center installs a new program, you're told exactly where it went in the menu structure. That's kind of moot though, because it's faster to type a few letters of the program name or action you want to take and it's faster than looking through the menus. For instance, if I want to use a spreadsheet, I tap the System key and start typing "S-P-R" and by that time I'm presented with LibreOffice Calc and Calligra Sheets.

Unlike Windows 8, which gives you the finger instead of the mouse, GNOME can be navigated easily from keyboard, mouse, or touch. Here's a nice cheatsheet for common keystrokes. (Keyboard navigation doesn't work between Windows while the overview is displayed, but for now it's easy enough to tap the System key and use Alt-Tab to switch between them.)

Extensions

Now, GNOME-shell is very cool, but even better than that is GNOME-shell plus extensions, which can be had from https://extensions.gnome.org/; which, incidentally, has one of the finest designs I've ever seen for a website of its kind. You visit a page and click a toggle to install or deactivate an extension. It's just that easy.


You can even manage your installed extensions from here. Those toggles on the webpage are functional. That said, I'm going to leave you with a list of my installed extensions, and links to them. I won't describe them; instead I'll let the site do that. You'll either appreciate the utility or you won't.

In general, they either restore the drop-down menus I've become accustomed to or give me more granular control over the system.

Wednesday, April 25, 2012

Google Drive... The Good, The Bad, the Hype

Stripping the news down to it's bare essentials:
Google Docs has been re-named to Google Drive. This is an upgraded version of Google Docs, with some enhancements. It's not a completely new service. The enhancements are as follows:
1. You now have 5GB of space "in the cloud".
2. You can store any kind of doc, not just the ones supported by Google Docs.
3. There's now client software for Windows, Mac, and Android, with iOS (iPhone, iPad) and Linux support coming soon. The client software makes the Google Drive look as though it's on the device.

Here's the introductory video by Google:


The Good
It's a good idea. Of course, it was a good idea when Linux hackers kludged up a virtual driver to treat Gmail as cloud storage many years ago. It was a good idea when companies like DropBox started offering similar services. I'll be mostly comparing it to DropBox, as I use that service.

It's nice that Google is offering 5GB of free storage. This is more than double what DropBox offers as an introduction.

It's nice that, as an upgrade path for Google Docs, you can access your documents and edit them through the Web interface. Of course, on-line editing is only available for file types  supported by Google Docs... basically word processing, spreadsheet, and presentation.

It's nice that you can share info with others, as you can with the other services. And when I say "share", it's quite a bit different from "making accessible"... I mean that you and people you invite can all work on the same doc at the same time, and changes are annotated with the name of the person making the change. I collaborate quite a bit, and I don't mind telling you that this is incredibly welcome when doing things like sharing a spreadsheet.

(Real-world example: You've got an ad-hoc list of tasks, bug-fixes, issues, what have you... and a team of people working on them. You put the list in a spreadsheet, share it, and people update the status as the issues are being worked on. There are trackers, etc. that can do such things, but Google allows you to do it right now, without planning, without setup. You just get the job done.)

It's nice that you can search through the contents your documents. Google Does Search... no surprise here.

The Bad
Although when using the desktop client, your files look as though they're on the local disk, clicking on one launches Chrome and opens the file for editing on the Web. This reveals the "file" to be little more than a link to the actual file on the Web. You can't just click on a .DOC file and edit it in Word, or LibreOffice, or whatever your preference is. That's a shame. When you click on a file type that's not supported by Google Docs, then you have to wait while the actual file is fetched from the Web... a real performance drag.

By comparison, DropBox actually synchronizes the file. It looks and acts like it's on your local drive because it is. It's snappy because of that, and synchronization is done in the background. It also means that you can never be cut off from your data because it's there, locally. Even if the Web is down, you're still productive with DropBox. Google Drive doesn't do that.

Sharing in Google Drive is the same as in Google Docs... in other words, clumsy. You go to the Web client, right-click on a doc, select Share, then Share (again), then select names from your contacts or type them in, yadda, yadda, yadda.

By comparison, DropBox allows you to create shared folders, but it also provides a Public folder that you simply drop files in to share them. You can right-click on your document right there in the desktop (no need to go to the Web interface) to retrieve the URL and send an email. IOW, Dropbox offers you to choose between security and easy access, and then makes the access really easy.

The Hype
This isn't new, or innovative, or earth-shatteringly important... or even terribly exciting, for that matter. As mentioned, there are plenty of offerings already out there. Google Drive mostly distinguishes itself by offering a lot of space, and by allowing multiple people to edit the same file simultaneously. What it gives with one hand (collaborative editing), it takes with the other (forcing you to edit supported filetypes on the Web).

Google is the King of Search, but here that's just not a really big deal... I'm already able to do everything that Google Drive offers in this regard using Recoll on Linux. Similar search engines (including Google Desktop) provide the same features on Windows, so document search is far from being the "killer feature" others gush about. It IS nice when you're searching through your docs on the Web, though.

My assessment...

Google Docs is a good thing... Google Drive is not really any different. And while I use it for collaboration (and there is where it shines), it's clumsy for most files, so I prefer Dropbox for synchronization. Although there's some overlap of functionality, Dropbox has the edge when it's the actual file and off-line access that I want. I don't plan on giving up either of them soon.


Thursday, October 06, 2011

iSad

Steve Jobs
February 24, 1955 – October 5, 2011

Sunday, May 01, 2011

Tripod Mount for Android.

This will be my last post about the Samsung Captivate, I promise. Now I can get down to just using it.

I needed a tripod mount for my phone. I already have the tripod, so I thought the mount would be readily accessible from any number of sources. Apparently that was wishful thinking. I did find this one, but it looked a bit over-complicated and expensive for what should essentially be a bracket and a nut.

So without further ado, here's what I built for about five dollars:




(no, I won't build one for anyone else. The point of this is that it's easy enough to do it yourself.)

UPDATE: Initially I thought that this was a no-brainer, but looking around the Web it appears that this design isn't as obvious as I thought.  Here's one that's very close, for the iPhone. And,  if you have an iPhone with a bumper and a 3D printer, you can get this design at the Thingiverse. Honestly, given cost of the plastic and the time/energy to print, I'm not sure my design's not still cheaper.