Category: "News"

An Excellent Dialup ISP - US

As noted in the previous post, a free Juno account grants you access to, including their webmail.

Juno requires that even people that subscribe to their service use their software to connect to the Internet.

Unfortunately, their software isn’t available for Linux.

An excellent alternative is The rates are fair, the service is great, and the connection is fast. They have access numbers in most states, if not all.

Ubuntu 9.04 - USB Dialup - Juno - Connect

My Mom uses Juno’s dialup service to connect to the Internet and for email. Her HP laptop (running Windows) was infected with something, and had really become unusable, it was so slow.

I took it home where my most valuable tool is a high-speed Internet connection.

After many tries, this is the general sequence of operations that worked.

  1. Install Ubuntu 9.04. Other versions may work, I chose this because Linuxant had drivers to support the internal modem. It’s nice.
  2. Run the upgrades offered.
  3. Restart
  4. The internal modem just wouldn’t work, so I bought an external USB modem from Best Buy. Zoom Modem, Model 3095.
  5. Followed the installation instructions and found that this laptop isn’t supported (it’s an x86_64). Used the link above and built the driver from the source. Many thanks to
  6. Added the user to dip and dialout groups
  7. Installed Gnome PPP, and Network
  8. Use sudo wvdialconf to configure wvdial
  9. Manually edited /etc/wvdial.conf to add in the Juno phone numbers, username and password
  10. Restart
  11. Tested the connection using wvdial, it worked. Then tested with Gnome PPP, it worked. Finally, used Network and PPP to connect, and browsed to
  12. Since I have a free account, Juno runs in a limited mode, but it is running. If you have a paid Juno account, it still won’t work with Linux. I recommend as an alternate ISP.

Ubuntu is really nice to work with.

Tweet and be heard (marketing)

If you use Twitter to keep in touch with your friends, stop reading now.

This post is for people who are using Twitter as a marketing tool.

Start on the link above - go see what others are tweeting. Check out your competition. Sit there for a few minutes and watch the words go by.

Now think about your products and services. What words describe them? Are there some key acronyms? Does your Twitter name identify your company or product in some way? If not, create a professional Twitter presence, to separate business conversations from personal. If you have the time and skill to customize your Twitter page, do it, and do a nice job.

Learn about the various URL shorteners, so you can use them when appropriate. If you have SEO friendly URLs on your site, it may be better to tweet them directly, as they may have the keywords you need and they provide direct links.

Learn about # tags, which can be used to categorize your tweets.

Business tweets aren’t about you and what you do, they should attract people to the content you’re trying to share. You don’t always have to have a link, the idea is to inform and interest, to entice people to follow.


  • I posted a video - Instead describe the video content. “Graphical view of system performance, tutorial video for VPS mgt software http://video.url
  • Going to event - Better to say what you’re bringing or looking for. “Presenting software doc tools at SWTX conference - 12 May 2010″
  • New release, upgrade done - Again, describe what is being released or upgraded. “Version 1.8.8 of VPS mgt software - installed and running. Demo at
  • Free offer - Be specific, so people understand whether it’s relevant to them. “Monitor your VPS - Free trial -
  • RT Cool post - Only your frequent followers and friends will pick this up. To attract new people, some description is required. “RT different perspective on VPS SLAs”
  • Fun stuff - You should decide from the beginning if twitter will be fun, or serious. You could have a fun feed, and a serious feed.

Instead of considering your tweets as articles or microblog posts, think of them as headlines, or sound bites. Pack as much meaning into them as possible, if there is more information than you can tweet, blog it and announce the post in a tweet.

Learning New Technologies, From Scratch, Quickly

  • Be patient. It will be difficult. Remember all the other technologies you learned and how hard you worked.
  • Be persistent.
  • Google. Lots of other people learned the same things, and many posted what they learned on the ‘net. Learn and share.
  • Accept responsibility. Don’t expect anyone else to do the work for you or figure it out.
  • Read the documentation, in the depth required to do the tasks. If it helps you to read the entire user and developer manuals, do it. If you can get by quickly referencing the manuals, do that.
  • Follow the directions. If you don’t install it properly, you’ll have problems. If the target machine isn’t ready, you’ll have problems.
  • Spend a good amount of time wandering around the filesystem to see where things are. Often the filesystem architecture gives clues to the application architecture.
  • Find the logs and learn how to read them - so you can tell when things have crashed, or if they started properly. You don’t have to be able to fully understand them, but have a ‘red light / green light’ perspective, of it is running or it’s not. If you can figure out why, things get even easier.
  • Use find -mtime 0 to find updated files.
  • Use grep -ril to find code.
  • Commit to working with the system, instead of trying to bypass it. Respect those that wrote the software and learn to use their code if possible. If you can use their code, you won’t have to write as much.
  • Don’t forget about security. Be sure you have some sort of protection in the code. Check how the existing system authenticates and validates, and use it if possible.
  • Take baby steps. Start with hard-coded actions to get the program flow, then expand it to allow dynamic actions.
  • Look for ways to reduce the development cycle, if there is a build process, try to find a way to develop the code and logic outside the build process. When it is working, fold it back in to the build.
  • Use the existing images and icons as much as possible for a consistent visual interface.
  • If you don’t know why it’s not working, save a copy of your work and reinstall. Often, reinstalling takes less time than finding the cause. Then you can incrementally add your changes back in to identify the issues.
  • Restart the server, clear the caches, frequently. Otherwise, the first time the server goes down, it may not come back up.
  • Focus on the mechanics of the solution first, passing data between client and server, accessing the database, integrating with the existing code. Then begin working on specific functionality.
  • Don’t worry too much about performance, you can go back and tune later. This doesn’t mean be careless or wasteful, but focus on the task first.
  • Test out different approaches when possible. Often there is more than one way to do something. A good example is java/jsps. You can use a taglib or java to do the same things - and there are advantages and disadvantages to both approaches.
  • Be honest with management. If there is no way you can give an accurate estimate, or you don’t think this is a cost-effective solution, say so. Then, do whatever they tell you to - it’s their money.
  • Understand the different interfaces into the product. If you can use an API, it may be better than modifying the front-end code.
  • Welcome the opportunity to learn.

Session Timeout Notes

  • Server should use a deterministic method to timeout sessions. cron jobs are good. These should be lightening fast. See other posts in this blog. These timeouts address the situation where the user closes the browser and walks away without logging out.
  • Logging out should force session cleanup. If temporary files are not security risks they can be removed by a different cron job.
  • Temporary file cleanup can be performed less frequently, unless this would compromise sensitive data. cron jobs are good.
  • AJAX controls may fail to execute properly if authentication is required for delivery. Pinging the server to check for session timeouts can limit user frustration when a page doesn’t function due to a session timeout. It may be difficult or prohibitive to attach error trapping to all the AJAX controls in an application. Another options is to cache the control content, but that may be impossible if it is truly dynamic.
  • Ping requests may update the session file timestamp. A ping count can be used on the server side to differentiate between ping requests and user-initiated requests. After a certain number of ping requests, the server can time out the session. AJAX and page (HTML) user-initiated requests should clear the ping count.
  • Users should be alerted gracefully of timeouts.
1 3 4