FINALLY! SOME UPDATES! This website is being reconstructed. Some content will go away soon. If you want to see my new stuff, visit my github: https://github.com/jrcharney/.

September 19, 2013

A few new apps worth trying.

I'm excited but at the same time nervous to attend the upcoming Launch Code even that will take place Monday, September 23, here in St. Louis. I've had about a month to prepare and pretty much cram some new knowledge. But at the same time I feel like my head is going through brain drain. Perhaps I just need to drink more water.

At the same time I've managed to pick up a new programming language, Ruby, but something hasn't clicked in yet for me to check out Ruby on Rails. Probably because I just picked up Ruby about a few weeks ago. I must say I wish I had picked it up much sooner. Fortunately, Ruby is easy to learn. It reminds me a lot about JavaScript and, unlike Python, feels very fluid. If it were any more perfect, it would have the variable manipulations hacks that Bash has (i.e. using ${var^^} to upper-case the string values of variables) as part of Ruby's interpolation.

In fact, I hope to rewrite some of the Bash scripts I wrote this year into Ruby Script.

At any rate, let's move on to the next topic.

I've tried out a few new apps this month. One of the on Linux, a couple of them for Android.

First, let's start with the Linux application called UMLet which instantaneously become my favorite new UML diagram program. While Dia still captures the hearts and minds of most programmers with the fact that it has plenty of styles and templates to work with, the major turn offs it has is that UML diagrams are too large to print, the comments fields are practically hidden in the object forms, and the program has a tendency to up and die every once in a while. UMLet is much different. Although it is written in Java, has limited style capabilities, and doesn't show comments in UML diagrams like Dia does, the fact that you can whip up a UML diagram faster than what you can with Dia has my undivided praise. I was working on a UML diagram for most of the week in Dia. But UMLet let me compose the same diagram in a few hours.

One of my favorite parts about UMLet is that there is a Properties field where you type in the text representation of that UML field and it quickly composes it. It reminds me of what GhostScript or AutoCAD can do using the command prompts. I hope to share a diagram made with it very soon.

On-the-go programmers may want to check out Ruboto and QPython a try.

Ruboto is a framework and tool chain to develop native Android apps using Ruby. But don't let the description fool you. This is Ruby for Android! It comes with IRB, runs Ruby scripts and even has and editor to write Ruby scripts. Although it will not beat using VX ConnectBot and FoxFi to connect to your SSH server which, if you are lucky, has a full arsenal of tools at your disposal, it is definitely a good alternative for offline usage. Although it would be nice to store my scripts on Dropbox as a back up. Something to suggest to the developer.

The same can be said for QPython. What Ruboto does for Ruby, QPython does for Python. Again, no Internet connection required.

It's a shame nothing like these apps exist for Android for Haskell, Lisp (namely Common Lisp or Clojure), Tcl/Tk, GhostScript, or LaTeX. There are apps for Haskell and LaTeX but there's nothing as nice as what Ruboto and QPython can deliver.

I should also point out that Android devices still has the advantage of having an HDMI port. What looks like a mobile operating system on a smartphone blows up into a full operating system when you plug it into an HDMI interface. If only the accessories for Bluetooth peripherals were as dynamic, namely keyboards and mice. On the other hand, a good slider phone (i.e. Motorola Droid) is always good to have for the mobile programmer.

July 29, 2013

Trespass to Chattels

It's been a while since I've blogged. Let's dish, Internet.

First, an important announcement involving my Links widget. It has come to my attention by one of the websites that I am a fan of that Google Ad Services has been penalizing them because their website because Google assumed that they were cheating on their advertising statistics with another website (namely this one). The intent of posting a link on this site, especially in the Links widget is NOT harm another website monetarily, nor should any link that uses an advertising service such as Google, Amazon, Yahoo!, Microsoft, etc. be punished because their link appears on my blog.

I've been running websites for over a decade and posting links to websites I like for longer than that. However, to receive a takedown request from the operator of another website that is like my website--which is a small site in the boondocks of the Internet--to remove the link from my website from every page except when mentioned in a blog article, is not the fault of the person who sent me the e-mail requesting the removal of the link, nor the person who received the message to remove the link, but the fault of the advertising company who demands that the link be purged from the site.

While I was disappointed to receive the email, I wrote back to the site owner saying my intent was never to cause a "Trespass to chattels" (damage to movable personal property). In fact, it's been one of the fundamental freedoms of the Internet to share links, especially links of websites you support or are a fan of. Besides, who doesn't like a free endorsement?

Google apparently. Even with the billions of dollars they make each year, this nonchalant activity is now cutting into a fraction of a fraction of a fraction of the slice of business in their business model. In fact, I'm not the only person who has noticed this chilling policy. SEO blogger Barry Adams wrote something about it last year. And the Electronic Frontier Foundation also criticized this policy.

And as far as "Trespass to Chattels", where was that policy when I ran a message board, a wiki, and a different blog and got my site spammed and vandalized by all those spammers? Was their intent to make my site look bad by associating it with products and services I did not endorse? (You know which ones!) As far as I can tell, the only thing I was told to do was install some other piece of software that was ineffective at getting rid of them, curse my web hosting service for letting it still happen, and clean up the mess manually because I wasn't going to pay extra to be "protected" from it happening.

Fat Tony and His Mob
Meanwhile at Google, the Google Ads Mob tests their latest experiment with "protecting" Androids.

So long story short, companies shouldn't be punished because someone who likes a product shares a link to a website of another company because of a product they were satisfied with or a service they like. And supporters shouldn't have to get emails from the product/service/company they like because a web giant can't tell a computer enthusiast blog from a spam site.

Hopefully this won't happen again. And even more hopefully, I can start cracking down on who is really exploiting this problem. Google and the Real Spammers.

April 21, 2013

Screensavers and Electricsheep

I had planned on posting some math related thing last month, but I guess I never got around to finishing it. So here's what I've got in store for today. Three links for setting up XScreenSaver and while there is a bit of information from each of these articles that are required for them to work elsewhere.

The GNOME Screensaver is a bane to whatever fun you could be having with your machine when you aren't really at your machine. That is to say, as much as you love to save the environment, sometimes it's OK to build a fire. Thus is the case with XScreenSaver.

First up, Chris Hoffman published this article for adding screensavers back onto Ubuntu 12.04, because as much as a black screen saves energy, you still pine for flying toasters. I would highly recommend that you DO NOT USE THE RANDOM SCREENSAVER SETTING! Pick one screensaver because there are a few that could still crash. Thus, I would suggest not having any important files open when you try out today's hack. Might I recommend Electric Sheep?

When you are done installing XScreenSaver, install ElectricSheep using these instructions provided by Alin "Andrew" Andrei for How to get Electric Sheep to Work with XScreenSaver.

Finally, here's where my part comes in. When you get both of these set up, instead of using that line in Andrew's instructions, which will show text on the screen, use this line to get ElectricSheep added to ~/.xscreensaver. Remember that it goes at the end of the list of the screensavers not at the end of the file!

   GL:                           electricsheep --root 1 2> /dev/null         \n\
Inside ~/.xscreensaver

I'm trying to remember what the commands atre to make the Lock Screen look pretty, have Electric Sheep use a random seed, and most importantly not have XScreenSaver show standard error messages (which are not always about errors) whenever the screensaver runs or if you decide not to log in. I'll update this post later.

March 27, 2013

Linux Ncurses Programs

I've probably mention a couple of things like ddate, fortune, and figlet as some fun things to play around with in the bash shell. But how about some way cooler stuff I found while browsing Google+ this weekend.

m927Erk.gif
The original file is a 2MB GIF. Since this site is not a tumblr, you'll just have to click the image above for full view.

This image was originally loaded online by Biron Verkler, but these programs have caught my attention.

Firstly, there is cmatrix. What is cmatrix?

Morpheus
"The Matrix is all around us..."

No, not that Matrix. But close. This Matrix is actually a fun little script you can use in the bash shell. Even better if you use tmux. It was written using the ncurses library.

The Matrix
"Wake up. The Matrix has you!"

Floating around the Internet are various versions of a script called pipes.sh. It's quite vague who created this script, but there is one thing that is in common. The output looks like this.

TUBES!
"The Internet...is a series of tubes!" --Ted Stevens

Because of the numerous variants of this script, I've decided to work on a version of my own script that uses the best features from these scripts such that there is a compromise of standards.

htop has been called top on steroids and rightfully so. From the screenshots posted on The Geek Stuff, htop is not only beautiful but functional. The fact that you don't need to leave htop to do some tasks looks inviting, though if you're going to kill a task, you will probably still need to use sudo killall since SIGKILLs work best when you are root.

Whenever I feel like playing just a single music track from my music collection, I generally type up mpg321 in my console. For MIDI files, timidity is my program of choice. The past couple of years, I used Music on Console, mocp, as my music player. But now I think I will give ncmpcpp a try. ncmpcpp sounds like a hard name to remember, unless you set up an alias. But what it is is a front end player for MPD, the Music Player Daemon. I hope I can configure it to stream Last.FM. There are a couple of sites that look useful for configuring this program. At any rate, I look forward to using it in the future.

Speaking of programs that I currently use, wavemon is a must have program for anyone using WiFi on their machine. Let's face it. The days of drilling hole in you walls to plug your computer into an Ethernet socket are over. I've devoted my new computer to using WiFi so much so, that I was willing to shell out a few extra bucks to get the version of my motherboard that came with a WiFi chip. There are advantages to using WiFi like password security. If you haven't set up a password on your Wireless router, I highly suggest doing it to protect your home from wardrivers looking for an open, unsecure network they can mooch off of or break into your computer with. (One of the topics of discussion I hope to post about in the near future is remote accessing your home computer securely from outside your home. A good password is important just as having locks on the doors of your home are for keeping intruders out.) This program was not featured in the GIF image, but it is a must have if you like to geek out your console.

Speaking of geeking out, if you'd like to access your email through the console, give mutt a try. This program has even received endorsement by Eric S. Raymond. Gmail users have the fortune of finding plenty of articles, like this, this, this and this, describing how you can use mutt to access their mail. Keep in mind that because mutt works in the terminal, the appearance of mail will be minimalistic as terminals do not display images.

I still want to use urxvt and tmux to use all of it instead of the GNOME/Ubuntu Terminal with its messed up color scheme, but there are some quirks with urxvt that hopefully this article and this article can correct. Just using it as is has some pitfalls because it doesn't support Unicode characters like urxvt should. (What do you think the "u" in "urxvt" stands for?).

I'm hoping to develop my own ncurses programs soon. Hopefully now you can see why Linux still thrives in the terminal in the age of GUIs.

March 22, 2013

Smart Gas Pump

This morning, I saw this image on Facebook and it got me thinking what if I could fix that?

164427_10151394548421909_1128132624_n.jpg
I don't have OCD. I don't have OCD. I don't have OCD.

So I though, what if I could design a gas pump program for this style of gas pump.

Ovation Fuel Dispenser, courtesy of the Wayne Pump Company

Thusly, I spent about a couple of hours this morning using Dia to develop this flowchart.

SmartPump
Click on the image for a larger view

I assume there are probably several dozen patents on this process already. So there is no point of submitting it to the US Patent and Trademark Office. However, to put these ideas together into a streamlined process that can settle the decision of how much gas is pumped based on the amount you want or how much you can spend is an idea that should be put into practice rather than sit on the shelf at the USPTO.

I guess I could try to send it off to the USPTO. I doubt it will go anywhere, but there are a few distinct features in this process that I would like to point out.

This flow chart was divided up into three sections: 1. Fuel selection and how much you wish to purchase (which I'd like to patent); 2. Payment selection (which probably has been previously patented); and 3. Pumping (a process that likely has patents.). The first question is what fuel you would like to select. Since most stations will have a different station to pump diesel, this process will end and ask the user to pull into the diesel station where a similar program will likely run and ask the same questions. Another selection is the option to pump electric vehicles. Since it probably is not a good idea to charge an electric vehicle near the gasoline or diesel pumps, the electric pumping station will need to be stationed at a different part of the station such as to not spark any fires. Furthermore, this process would consider Gasoline gallon equivalence for alternative fuels including electricity, so that vehicle owners would not need to worry about trying to convert gallons of gasoline into kilowatt-hours. According to the National Institute of Standards and Technology, 33.40 kWh is equivalent to 1 gallon of gasoline, but the petroleum industry says "Nay" to such technological innovations since they already fleece Americans billions of dollars daily with the status quo.

Which is probably another reason I've decided to put this flow chart on public display. After all, what's the point of embracing new technology, especially if it involves renewable energy, when it is in their best interest to greenwash things like fracking and shale oil production that is currently sullying the major rivers in this country (namely the Missouri River) that provide drinking water for millions of Americans and squirreling away new technology so curious minds can't develop it?

Perhaps someday, soon, a great ecological event will occur that will force us to use better energy sources that don't destroy the environment. Clearly, climate change and flaming water faucets, and films about this important subject aren't enough to motivate law makers to give a damn. So it will take a very large environmental, meteorological, and geological event to push our species forward.

Speaking of which, I need to get my seeds for my garden going. It's a shame winter doesn't want to leave.

Tags

Under Construction