software Archives - Sky's Blog https://blog.red7.com/tag/software/ Communicating in a networked world Tue, 03 Jan 2017 21:06:09 +0000 en-US hourly 1 https://wordpress.org/?v=6.8 https://blog.red7.com/wp-content/uploads/2018/01/skyhi-wind-icon-256x256-120x120.png software Archives - Sky's Blog https://blog.red7.com/tag/software/ 32 32 Null pointer at Starbucks https://blog.red7.com/null-pointer-at-starbucks/ https://blog.red7.com/null-pointer-at-starbucks/#respond Tue, 07 Apr 2009 02:00:27 +0000 http://sky.dlfound.org/?p=1095 Approaching the cash register at Starbucks I noticed this perhaps puzzling message on the little LCD display. It has nothing to do with the economic meltdown, or the amount of cash in the cash drawer, but instead reflects a programming error! Generally a register displays a short greeting on its display when it is “off” […]

The post Null pointer at Starbucks appeared first on Sky's Blog.

]]>
Null pointer error at StarbucksApproaching the cash register at Starbucks I noticed this perhaps puzzling message on the little LCD display. It has nothing to do with the economic meltdown, or the amount of cash in the cash drawer, but instead reflects a programming error!

Generally a register displays a short greeting on its display when it is “off” like Come back soon (or at Squaw Valley Winter’s here). In this case the string of characters that usually contains the greeting was probably missing, and the software, encountering the situation, displays the message “null” meaning null pointer error. Made me laugh out loud, and I’d guess that nobody else who saw the message that day had the slightest idea that this little word represented one of the oldest programming mistakes in the book.

The post Null pointer at Starbucks appeared first on Sky's Blog.

]]>
https://blog.red7.com/null-pointer-at-starbucks/feed/ 0 1095
Essential Strategies for Eventually Launching a Site https://blog.red7.com/essential-strategies-for-eventually-launching-a-site/ https://blog.red7.com/essential-strategies-for-eventually-launching-a-site/#respond Sun, 22 Feb 2009 20:53:54 +0000 http://sky.dlfound.org/?p=943 I was reading Dion Hinchcliff’s “50 Essential Strategies for Creating a Successful Web 2.0 Product” (you should go read it when you have more time) and I’ve cherry-picked the points that ring true for me. His points are good and very interesting, but some are real gems of wisdom[1]. And I’ll add some of my […]

The post Essential Strategies for Eventually Launching a Site appeared first on Sky's Blog.

]]>
Dion Hinchcliffe's Web 2.0 BlogI was reading Dion Hinchcliff’s “50 Essential Strategies for Creating a Successful Web 2.0 Product” (you should go read it when you have more time) and I’ve cherry-picked the points that ring true for me. His points are good and very interesting, but some are real gems of wisdom[1]. And I’ll add some of my own observations to this article. I’ll limit mine to 10 and if you’re ambitious you can read the 50 in his blog. One of the overarching principles is that, as he says, “The Web Community Gets Smarter Every Time It Builds A Product” – which I will exend to add that we marketers and developers are constantly learning, and the more we involve people early in our development processes, and the more closely we listen to them, the faster and better our development cycles will be.

Sky’s top 10 of Dion’s 50 Essentials:

  1. Red7[Dion’s #1] Start with a simple problem. [Sky says] Pick a problem that you can get your hands around. Don’t shoot so high that it will take you a year to build out a solution. For example, my mixed-reality games run on a complex Java-based infrastructure, but I can develop a new game by programming a scenario in a few hours.
  2. [Dion #2] Create prototypes as early as possible. [Sky says] It’s so much easier to create a prototype – and then throw it away if it doesn’t get used by the customes – than to spend a year creating a full-blown product, another year promoting it, and then throw it away.
  3. [Dion #3] Get people on the network to work with the product prototype rapidly and often. [Sky] Just a comment. This is sometimes the most difficult thing to do. I tend to work kind of on the edge and sometimes it‘s even difficult to explain what the prototype is or does…but that‘s the point…if I can‘t explain it and nobody uses it, I’d better find out about that early in the process.
  4. [Dion #7] Put off irreversible architecture and product design decisions as long as possible. [Sky] I phrase this one as “don’t rule out your options too early in the process.” What I mean is, when you build your first architecture, keep it open and flexible so you rule out as few options as possible in the future.
  5. [Dion #8] Choose the technologies later and think carefully about what your product will do first. [Sky] And this is probably the hardest one! I find that even though I’m supposedly the tech geek in the crowd, my marketing people are the ones who glom onto some tech or other (right now it is JavaFX) and decide that we simply must develop some online application that uses this or that other technology. This makes the solution fit the technology, not the problem! You fill in the rest…
  6. [Dion #10] Balance programmer productivity with operational costs. [Sky] And I will add another concern to this, which is that it is “far easier to conceptualize a product than to build it.” So, when we sit down and brainstorm, we can in 2 hours come up with a project that will take 6 months to implement. Easily. And then someone gets their head out of whack because they thought the product should have been ready next week. Dion’s point is that operation may take every bit as much effort as implementation, and in fact I would argue that almost always the operation of a product takes many times the effort of its development.
  7. [Dion #12] Plan for testing to be a larger part of software development process than non-Web applications. [Sky] Testing is huge. And people who’ve never tested a Web product before will always underestimate it. We test on four operating systems [Windows, Mac OSX, Linux, and smartphones], and we test the MS Internet Explorer, Firefox, Safari and Flock browsers (not on all platforms). This means that testing takes several times longer than you might expect.
  8. Creative Commons[Dion #14] Have an open source strategy. [Sky] I’m going on a tangent here, but I want to add “have a creative commons strategy.” Open source is good, and it opens up the software source code for others to improve and use. But, in addition, and where possible, you should also open up the intellectual property of your product, making it available for re-use, expansion and elaboration. My nonprofit work is usually offered under a Creative Common by-nc-sa license.
  9. [Dion #15] Consider mobile users as important as your regular browser customers. [Sky] That’s only a little bit ahead of the curve. It’s coming soon. By the end of 2009, for sure. Plan and implement for the small screen, for limited tactile input (keyboards, touch, pointing and clicking), and for different types of interaction. For instance, quick back-and-forth is typical of phone-based interactions (such as TXT), but not necessarily of online interactions (such as email). Another example is that we’ve provided a relay of Daily Good from Charity Focus to cell phones for several years now – what we do is scrape a news feed they provide, once a day, and we pick off an XML item if it’s short enough to go to phones, and we relay it. (We also relay the entire item by email to those who prefer, and many of these email users are on mobile devices.)
  10. [Dion #18] Offer an open API so that your Web application can be extended by partners around the world. [Sky] Yessss! I use feeds from all over the place, including RSS news feeds from other blogs in my blogs, and I provide feeds for those who want to stay up-to-date with the information on my sites. These interfaces can be used by other web sites as well. For example, we provide an API for our knowledgebase (for searching and inserting – authenticated or not), and we provide a feed for our events page.

[1] I actually keep a file, and it’s over 10 years old now, named Gems of Wisdom, that contains all of the helpful little programming tricks and server administration tricks, that I’ve learned over that time.

The post Essential Strategies for Eventually Launching a Site appeared first on Sky's Blog.

]]>
https://blog.red7.com/essential-strategies-for-eventually-launching-a-site/feed/ 0 943
Ubuntu desktop (LTS) 8.04 https://blog.red7.com/ubuntu-desktop-lts-804/ https://blog.red7.com/ubuntu-desktop-lts-804/#comments Fri, 30 May 2008 08:58:23 +0000 http://sky.dlfound.org/?p=441 Ubuntu is an always-free desktop (and server, if you wish) operating system. It has all of the comforts of home. I’ve been running Linux for many years, but mostly in its server-flavor, not desktop. Over a year ago I was playing with Debian Linux and for reasons I don’t recall I decided to load up […]

The post Ubuntu desktop (LTS) 8.04 appeared first on Sky's Blog.

]]>
Ubuntu is an always-free desktop (and server, if you wish) operating system. It has all of the comforts of home. I’ve been running Linux for many years, but mostly in its server-flavor, not desktop. Over a year ago I was playing with Debian Linux and for reasons I don’t recall I decided to load up Ubuntu. It is really a great little system! Why should anyone care about Ubuntu? Well there are many reasons that it’s good to have alternatives – and free ones at that – to the big operating systems. For one, these systems are free. For another, they are for the most part open source, which means that anybody can modify or add to them. [See video of Richard Stallman talking about free software at AirJaldi 2006]

The most impressive thing about it is that it can coexist with Windows XP on the same computer. I found out about this entirely by accident.

For the most part this was a great and very positive experience. Details follow…

Much to my surprise, I found that when I went to install Ubuntu 8.04 on my old Toshiba computer, the installation program noticed that Win-XP was there, and asked whether I wanted to create a dual-boot system. Great! I was assuming that I’d have to sacrifice the few remaining applications that I had on Win-XP in order to run Ubuntu. So, of course I accepted the offer and created a dual-boot system.

Throwing caution to the winds, I assigned 15gB of the remaining space on my disk drive to Ubuntu and clicked OK.

The initial install was flawless. Everything ran. Was this a surprise? Well, not exactly, but perhaps. Ubuntu launched with no vestiges of Win XP (though I later discovered the filesystem understands NTFS and thus could browse the Windows partition on the disk, which is mounted at startup). My computer’s physical screen size is 1024×768, but Ubuntu brought up a 800×600 image within that space (with a black background around it to fill out the screen). I was able to fix this later on.

Ubuntu uses a package called the Synaptic Package Manager) to keep software up-to-date, and I ran that to get the latest versions of the installed software, but something failed along the way (too fast for me to read and record the error message). Nevertheless, I couldn’t detect anything wrong and the Synaptic Package Manager says that everything is up-to-date, so I can ‘t tell exactly what went wrong.

Screen size: So how did I get a larger screen? 800X600 is just too small to do much of anything. Word processing, for instance, becomes really painful because you can’t see the full width of a page. The problem was that the installer had not auto-detected my graphic “card” properly and was using a generic profile to manage the screen size. It also reported a “cloned screen” which puzzled me, but ended up not being a problem. It turns out that I was able to change the X windows (X11) configuration files to make things work properly. I had to Google around for a couple of hours to find the appropriate configuration statements online, but I was ultimately able to fix things. I have put an Appendix at the end of this document containing the changes that I had to make to the configuration.

To get the wi-fi to work, was actually easy – I just had to find the right control panel. Being a Macintosh user, I was annoyed that I had to use a Hex WEP password, but that just made me like any Win-XP user, so no big deal.

OpenPGP: I use secure email, and had to email myself various (private and public) keys and import them into OpenPGP, and then it worked. The fact that I had access to the Windows volume made this all easier. I was able to import the public and secret keys and make them available for emailing in the Thunderbird mailer. The message I sent out from Thunderbird was indeed encrypted! I have been mailing back and forth now for a couple of days and everything is encrypted properly.

Instant Messaging: I browsed around in the package manager, and chose and configured the Pidgin client and it works. Couldn’t figure out how to start this app upon login (OK, I found it under System->Preferences->Sessions. Just needed /usr/bin/pidgin command line to start it uplon login). (See also Skype below.)

Anti-virus and spam: Installed ClamAV and SpamAssassin plus GUI support for configuring them. (But honestly, a week later, I’m still not sure that they’re configured and operational…)

Firewall: I haven’t done this yet.

Quicktime: I couldn’t find an Apple-branded plug-in for the browser, but at least Flash was installed and operating. Ultimately I did get a substitute to work just fine.

FTP client: Installed gFTP graphic interface to FTP client. Works like a champ.

Printing to a Bonjour printer: It’s doable. It requires knowing the secret combination. Which can be found here:

http://ubuntuforums.org/showthread.php?t=156675

Then point a web browser at http://localhost:631 to talk to CUPS configuration directly.

Photos: Picasa (Google) has a Linux version, and it works fine including posting to online albums at picasaweb.google.com.

Calendar: I need to see whether iCal (from my Mac) can be uploaded and then shared thru a web interface. I’ll have to do this later on.

Sleep: Doesn’t work well at all. My (Toshiba 3505) computer can’t be put to sleep (suspended) using the regular Ubuntu process.. I can’t shut the case and expect the computer to sleep and then wake again. I found out that this just has to be avoided. I added a special menu item that executes (in Terminal) “sudo pm-suspend” in order to put the computer to sleep. It does look like sleep is something that’s a problem for laptop computers that use Ubuntu and Debian. Among other things, I have configured the system to disable suspend and hibernate within the regular menus. And hotkeys too – I just have Ubuntu ignore them, otherwise they cause sleep but the computer doesn’t recover from it.

OpenOffice (Sun): My impressions. I have used OO a bit before, but not extensively. I like it and it seems to be pretty compatible with the MS Office suite. I’d say it’s about as compatible as Apple’s iWork suite is, which means that sometimes you get a flawless file and most of the time there is something or other that looks goofy. I will continue working with OO and we’ll see how it goes. It is certainly a nice way to write things on a Linux system and then export them for use on Windows!

VNC: Perfect in one case and troublesome in the other case. First, it seems my Ubuntu commercial server @ 365 Main can be reached just fine if I use SSH to relay port 5900 from my Toshiba to the server – it’s firewalled and only accepts port 5900 connections locally. But, the VNC client can’t connect to my Apple Powerbook on the local network. I was not able to get past this…so Apple VNC isn’t able to interoperate properly. Something else to work on later.

Skype: Yes, it is available for Linux. Debian 7+. It works for IM. I do not have a microphone on this system and did not test voice.

Acrobat Reader: There’s a PDF-reader already in the system, but Adobe also provides their Acrobat reader for free. I downloaded it. They package the app by default as an RPM file, which doesn’t expand natively (Archive Manager) on Ubuntu. RPM is a Red Hat Package Manager file – and Ubuntu and Debian use DEB extensions for their archives. I downloaded atool which manages multiple archive types, and OK I gave up at this point since it just looks like I couldn’t expand the package. I returned to the Adobe site and it turns out there’s a page where I could select a DEB version of the package. Again, it installed and works great.

Search: The default browser-based search in Firefox utilizes Google UK. I guess that works, but I decided to see what alternatives were available. I settled on A9 as an experiment – there’s a Firefox “module” that can be plugged in to handle this change. I hadn’t used A9 for a while, but their offices are 5 blocks from mine in Palo Alto, so I said “what the heck?” Their search-results presentation is un-sparse, which means that there’s a lot of stuff on the page, around the search results, that doesn’t really do anything useful (unless you consider advertising to be useful). I’m not sure that the results are very good, but I’m trying A9 for a while.

Google applications: First I tried Google Desktop. It just wouldn’t install properly using the method provided by Google at http://desktop.google.com/. Each time I tried, the package manager told me that there was another instance (of itself) running and I had to run dpkg to clean up, then try again, and it failed each time. No luck. Then I found a helpful post on the forums, and was able to install Google Earth (woo hoo). I was surprised at how slow Google Earth was – really, really slow. And much slower than on Macintosh. This was unexpected and makes it almost unusable. Barely. Because of slowness. I will have to look into this further. Next I went back and used their process to install Google Desktop. In each case, it was from the command line rather than from a web browser/download combination.

These instructions might work – they’re not what I used, but they look like they parallel what I eventually did:

http://www.simplehelp.net/2007/06/28/how-to-install-setup-and-use-google-desktop-search-in-ubuntu/

Newsfeeds (RSS): Not much available in terms of reading RSS and Atom news feeds, however, the one that is available is a Firefox plug-in that works just fine. Wizz RSS. I installed it, and when I want to add feeds they appear in a sidebar that is activated with its own toolbar in Firefox. It shows which entries have been read and which haven’t, and then I can just open the actual blog items in the browser by clicking. After a couple of hours of culture shock, I had it mastered and it’s a pretty good reader. (I use NetNewsWire on the Macintosh usually, so using a Firefox plug-in is pretty radical for me.)

SecondLife: Yes. Even Secondlife exists in a Linux version. You download it, and then run it. This is different from most apt-based or Synaptics Package Manager updates, in that you don’t automatically get it installed and in the menus. In that way it’s like my Google Earth install. So I created a new Applications folder within my home directory to contain Google Earth and SecondLife. I suspect this isn’t the way a true Linux user would do it, but what the heck, it works. Then I created a custom application launcher which fires up the script that launches SecondLife, and dropped that into the menu structure under Games. On my little Toshiba it’s too slow to actually use, but it’s clear that on a faster computer it would work.

MySQL: I installed MySQL 5.0. It’s needed by Snort (below). MySQL works fine, just like everything else.

Snort: Network intrusion detection Well this just wouldn’t install. The install script bombs with an error. Can’t configure itself. I guess that’s enough for the week.

Final wrap-up: Here’s a screen shot showing the apps that I am most frequently using in by Ubuntu installation. It’s easy to get at most apps thru the Applications menu, but I like having tiny icon shortcuts in the top menu, so that’s the approach I’ve chosen.

From left to right (icons): BOINC– manages SETI@Home; System Monitor– so I can see what’s hogging the CPU; Terminal– command line because I use it a lot (I can manage my servers just fine this way); Firefox– my trusty web browser; Thunderbird– email; OpenOffice Writer– word processing; OpenOffice Spreadsheet– yup; Pidgin– instant messenger for multiple systems; Skype– yes, Skype; Adobe Reader; Help; Sleep– remember that I had to modify the system because Ubuntu doesn’t correctly wake a laptop after sleep and it crashes, so I have a special entry here that lets me suspend/sleep the computer without it failing upon opening the case again; Google Desktop; Battery monitor; Wi-fi strength; Audio level.

Some folks have commented in the default Ubuntu Hardy Heron (8.04) desktop – one said that it looks like mud, but I think it looks like rich chocolate. Ubuntu is just a great desktop system!

………………………………………………………………………………………………….

APPENDIX:

To make a 1024×768 screen with my Trinity CyberBlade graphics “card” I had to modify the file

/etc/X11/xorg.conf if you look carefully you’ll see that I defined only one screen resolution (1024×768) and depth (24 bit color). That’s all I needed.

These sections are modified:

Section “Device”

Identifier “Trident Microsystems CyberBlade XPAi1”

Busid “PCI:1:0:0”

Driver “trident”

Screen 0

EndSection

Section “Monitor”

Identifier “Configured Monitor”

Vendorname “Plug ‘n’ Play”

Modelname “Plug ‘n’ Play”

Option “DPMS”

HorizSync 28-51

VertRefresh 43-60

EndSection

Section “Screen”

Identifier “Default Screen”

Device “Trident Microsystems CyberBlade XPAi1”

Monitor “Configured Monitor”

DefaultDepth 24

SubSection “Display”

Depth 24

Modes “1024×768”

EndSubSection

EndSection

[posted from Ubuntu 8.04 running on a Toshiba 3505 laptop computer]

The post Ubuntu desktop (LTS) 8.04 appeared first on Sky's Blog.

]]>
https://blog.red7.com/ubuntu-desktop-lts-804/feed/ 1 441
On again, off again, the future of connectivity https://blog.red7.com/on-again-off-again-the-future-of-connectivity/ https://blog.red7.com/on-again-off-again-the-future-of-connectivity/#respond Tue, 15 Jan 2008 10:30:25 +0000 http://sky.dlfound.org/on-again-off-again-the-future-of-connectivity/ That we will have mobile communication and memory and computing devices with us everywhere we go and that they'll be connected to the network and consequently the rest of the world, at all times.Well, there are a couple of barriers to that which lead me to believe that our *real* connectivity model will be "on again, off again." And that what developers need to focus on is memory/computerpower that is self-sufficient and can operate standalone most of the time but can instantly "sync" itself to the rest of the world when a connection is available.I know I'm not the only one thinking about this. The (yesterday) announcement of Kindle, an e-book reader on steroids, that syncs itself whenever it has a network connection and otherwise doesn't seem to care.

The post On again, off again, the future of connectivity appeared first on Sky's Blog.

]]>
Twitterrific on iPhoneIf you live in the US and a few other parts of the world, you might think that “being connected 24/7” is the future of the entire world. That we will have mobile communication and memory and computing devices with us everywhere we go and that they’ll be connected to the network and consequently the rest of the world, at all times. That the world will be Twitter-like. Especially tweens may think this way. I suppose that US tweens don’t even think about there being any alternative. They’re just connected and that’s the way it is.

Well, there are more than a few barriers to “being connected 24/7” which lead me to believe that our real connectivity model will be “on again, off again.” And that what developers need to focus on is memory/computerpower that is self-sufficient and can operate standalone most of the time, but can instantly “sync” itself to the rest of the world when a connection is available. If you have a PDA or iPod or practically any device that utilizes large files, you’re already acquainted with the term sync.

I know I’m not the only one thinking about this. Vis the (last month) announcement of the Kindle, an e-book reader on steroids, that syncs itself whenever it has a network connection and otherwise doesn’t seem to care. (I’ve used e-books for years, but in the form of downloaded files and “reader” software on my computer.)  Groove, which I haven’t used for a couple of years, also had this kind of model – opportunistic syncing. Google Docs (documents) currently works only when you’re actually online, but there’s lots of talk about how to enable it for offline work, including perhaps a big Ajax (Ajax==”lots of javascript on the browser side manipulating DOM objects”) effort that would allow offline work that would later on upload to the big server in the sky. And I’ve blogged already about Ecto and other tools that let you create blog entries while offline and then upload them when you’re connected.

What’s the real future? Well, it’s obvious to me. Ultimately we’ll all carry devices that are capable of functioning “quite well” in standalone mode, but which sync up whenever there’s connectivity, refreshing information from the network while at the same time updating our own information on the net. Remember in 2013 to remind me of this and see if I was right.

The post On again, off again, the future of connectivity appeared first on Sky's Blog.

]]>
https://blog.red7.com/on-again-off-again-the-future-of-connectivity/feed/ 0 350
Looking back at video and ICT4D https://blog.red7.com/looking-back-at-video-and-ict4d/ https://blog.red7.com/looking-back-at-video-and-ict4d/#respond Sun, 23 Dec 2007 20:31:25 +0000 http://sky.dlfound.org/looking-back-at-video-and-ict4d/ Every once in a while I look back at resources that I’ve created and/or blogged, and suggest that you take a look at them. The AirJaldi 2006 Summit, held in Dharamsala, India, was a several-day sequence of presentations, panels and then a week of workshops, dealing with Wireless infrastructure and how these can be used […]

The post Looking back at video and ICT4D appeared first on Sky's Blog.

]]>
Every once in a while I look back at resources that I’ve created and/or blogged, and suggest that you take a look at them.

Sky's tag from air jaldi summitThe AirJaldi 2006 Summit, held in Dharamsala, India, was a several-day sequence of presentations, panels and then a week of workshops, dealing with Wireless infrastructure and how these can be used to further the development of the world into a place where veryone can live a healthy, happy life. The meeting was attended by social activists of many sorts, all of whom had an interest in using communications technologies.

Here’s your action item for today: The Video page for Airjaldi I would recommend that you take a look at what’s available there.Here are two of my favorites:

Dr. Rodger Downer, keynote speaker, and President Emeritus of the University of Limerick (Ireland), A Global Perspective on Sustainability {28 minutes running time}

Dr. Richard Stallman, keynote speaker, On free software, human rights, development and GNU. {52 minutes running time IMPORTANT NOTE: the camera was not rolling until shortly after the talk was underway}

Everything else on that page is worth viewing! Just a reminder.

You can find all of my articles on AirJaldi here in my blog. I tried to blog the conference in real-time, since we had wi-fi available in the hall, but it was really a challenge. It’s hard to estimate how much bandwidth, and how many routers, to provide for so many tech-literate participants. So I ended up writing blog entries each evening, and then posting them during the day. This set off an inquiry into offline blogging tools (like MarsEdit and Ecto) which I use to this day. And an overview of blogging tools. And it continued my series I’m a Turtle about how I carry my “home” (computer) on my back(pack) everywhere I go (cyber-nomadics).

The post Looking back at video and ICT4D appeared first on Sky's Blog.

]]>
https://blog.red7.com/looking-back-at-video-and-ict4d/feed/ 0 351