Showing posts with label Helpful to Someone. Show all posts
Showing posts with label Helpful to Someone. Show all posts

Sunday, February 16, 2014

Non-stop Bitcoin Mining

It's no secret I mine Bitcoins, but I don't bring up that I'm not very good for the obvious geek creed reasons. Today I finally made a change to my mining rig that I hope will end the occasional dreaded "Idle Miner Notification" from btcguild.com.

Screen shot of the log file, how interesting and inefficient.
I have small mining setup, a mix of Block Eruptors and a single Butterfly Labs Jalapeno. We started having strange Internet connection issues, and I immediately assumed it was AT&T's fault (to be fair it usually is). Also about the same time bfgminer reported the Jalapeno was sick. Never crossed my mind these issues were related, but once I sent the Jalapeno off to be RMA'd all most of our Internet problems cleared up.

With the Jalapeno gone, bfgminer ran with no problems. With the Jalapeno the program would inexplicably give up, even with the new one back in action this still happens. As a good administrator I'm sure I could have looked for a log or an error message or something, but it is very easy to putty back in, hit the up arrow, enter, ctrl+A+D, and go on with life. I can even do it remotely with TeamViewer because my home PC is on almost all the time (thanks for nothing logmein). Sometimes it goes for months without my need to intervene, other times only hours (and in the middle of the night).

After nearly a year of manual restarts and an immeasurably small loss of Satoshis, I've finally made a script to continually check if bfgminer is running and restart it if it's not. My apologies for not giving credit where it is due, most of this script came from a post on stackoverflow, but I'm not sure where.

It is far from perfect, but so far so good. I'd love to hear anyone's two cents  Satoshis on how to improve it. I also hope this is an aid to other small time miners.

EDIT: March 4, 2014
It didn't take me long to realize this was better to run as a cronjob. The biggest problem I had was multiple screens running, so I changed it over and made my log file a little better.

My first attempt was to remove the pause line and add the script as a cronjob that runs every 5 minutes.

The Ubuntu Wiki CronHowto was helpful, especially the Enable User Level Cron section.

I also update the log file to show a time. For weeks I thought everything was good, because you know, nothing went wrong. I was suspicious something wasn't quite right because the log file never showed the miners being restarted.

Today the power went out, and when the server came back on I expected miners to be running within 5 minutes... they did not. I dug a little deeper and this comment on the Ubuntu forms pointed out my issue. There were a lot of comments about making sure the script was executable and user level cron was set up. My problem specifically had to do with how screen works. I needed a -d for detach. The new script is in the gist, it's been tested and rocks along well.


Saturday, January 25, 2014

Ultima VII Party Planner

In an effort to learn more about backbone.js I made a web application that is easily considered beautifully useless (beauty in the eye of the beholder, useless in the eye of everyone else). Really, this is probably one of the finest work of code writing I've accomplished to date and there are maybe ten people in the world who will use it.

Menion makes out like a bandit.
There is plenty of room for improvements, but I'd like to write about it anyway.

The picture is an example of a typical, eight character, all level six party. You have a list of all trainers to go visit, who to train when you get there, and about where they are on the map. It also shows how much gold to take to each trainer, and the total cost of all training.




Tuesday, February 26, 2013

The Date Command... I mean Environmental Variable


It clicked for me how the date command environmental variable works in Windows. Seems like such a simple idea, and for all the information on the Internet about it no one explains it like this (at least not that I've found). Most only show what to type to get a desired result.

Let's say you run md %date:~10,4% from a command prompt. You just made a folder named 2013. Unless you run that same command a year from now, then you'll make a folder named 2014. This can get complicated quick. Consider:
z:\logs\%Date:~-4,4%-%Date:~-10,2%-%Date:~-7,2%_Server1.txt
This is a file at "z:\logs\2013-02-26_Server1.txt". Well, for today anyway.

At it's simplest you can copy and paste what you need below (why not that's what the rest of the Internet tells you to do--if you want to know why these work don't skip the last section).
  • Four Digit Year     %Date:~-4,4%
  • Two Digit Month    %Date:~-10,2%
  • Two digit Day      %Date:~7,2%
Note that in the considered example these chunks of text are separated by dashes '-' which is what makes the date look the way it does. Without them it would just be a jumble of numbers, 20130226, which is a personal preference. You could use slashes '/' if this didn't deal with a file name (slashes are invalid characters for a file name).


%Inside the Percent Symbols%


For those of use that like to know why things work open a dos prompt and type date /t. The output will be something like this:
Tue 02/26/2013
Calling %Date:~-4,4%, which can also be done from the command prompt by typing echo %Date:~-4,4%, will return the last four digits of the above date sting. Negative 4 means to start four places from the end, then the 4 tells it to go four  places to the right: which is where the year is kept. %Date:~10,4% will return the same thing, the difference is the command starts from the left, moves 10 places to the right, then grabs the next four places. The same is true for the month and day.

You can return anything in that 14 digit string, we only exclude the slashes in file operations because of name limitations. For kicks you could run echo %Date:~1,6% from the command prompt to get back "ue 02/2". If you had a need for that for whatever reason. Note the first place in the string is 0 not 1. To get the three letter day of the week would require echo %Date:~0,3%.

To learn more search results may be misleading if you are looking for help with "dos date", try a search on terms like "dos string manipulation". That pointed me in the right direction.


Bonus: Why am I using some goofy date format?

It's sortable.

Let's face it, Month/Day/Year just doesn't make sense. It's out of order. I could see an argument for Day/Month/Year, but that still lacks logical sortability. 

http://en.wikipedia.org/wiki/ISO_8601

EDIT: 2013-05-09 (see what I did there), It was pointed out to me there is a difference between the command date and the environmental variable %date%. This post deals with the environmental variable not the command.

Saturday, December 29, 2012

Lessons Learned: Media Center PC


A few years ago I built a media center PC. Yesterday I replaced it with a new one, and in the time between I made notes.

The biggest mistake, and the root of almost every issue with the first media PC, was buying into the small form factor hype. I will say it is interesting, a little fun, and in some geeky way ITX is cute (those little DC-DC power supplies mashed into the 24-pin ATX plug get me every time). Like everyone else building a media PC I wanted small, powerful, and quiet--and maybe cheap. For some unknown reason the VCR set the standard for media appliance size.

I believe the focus on a small form factor misses the spirit of do-it-yourself. It limits options, and standard size parts yield standard size repair costs. If I was really focusing on size I'd get a Roku or buy a smart TV. I'll list component by component my frustrations with my old media PC and how it affected the parts chosen for version 2.0.

Part List for Media Center PC 2.0

Case: SILVERSTONE Grandia Series GD05B-USB3.0
Power Supply: PC Power and Cooling Silencer MK III
Motherboard: ASUS Maximus V Gene
Memory: 2x CORSAIR Vengeance 8GB (2 x 4GB)
Storage Drive: Western Digital WD Green WD20EARX 2TB*
Optical Drive: LITE-ON Black 4X BD-ROM
Tuner: SiliconDust HDHomeRun DUAL HDHR3-US

These parts worked well for me, and they were chosen after many years and many frustrations  Hope this helps someone. Details and reasonings below.

*not new, from old media center pc
**network device, also not new


Friday, August 31, 2012

I made a button!

It has always been interesting to me how web design and web development are so closely related yet so different. Usually if someone is good at one, they are not so hot at the other. Maybe it's a left brain/right brain issue. Maybe it's something vastly more complex. Personally I believe it is a matter of time. If I focus all my energy in development, my knowledge of design diminishes; and vice versa. Granted people will always find one easier than the other, but like with all things the more you do it the better you get (even if it doesn't come to you naturally).

I leave a lot to be desired on both design and development. I like the programming side more, but the more I learn the dumber I feel. The design side is pleasing because the results come so quick, though my color picking skills are still at a kindergarten level. All that being said; I made a button!


Edit: I know it doesn't work right in IE. Tough.

Buttons should be simple. This one is done all in HTML and CSS. There are millions of tutorials already on the web about how to make a button. Mine follows my thought process, and it just might be the key to help someone make their own button.

Friday, June 29, 2012

one hundred push-ups program

They gave me a gif!
I have to begin this post by stating that I don't like to exercise. I don't even like the word because every time I type it spell check never gives me the right word as a replacement option. I'm not a fitness nut. I never exercised a day in my life until I joined the military.

Even though I am not a fan of it, I do it because I want to live. Like most, I look for new and exciting things to maintain what little interest I can in fitness. Enter hundredpushups.com. Despite what it sounds like, make no mistake, this is a program anyone can do. Even if you've never done a push-up in your life.

A detailed experience of the hundred push ups training program past the jump...


Initial push-up test: 36
Final push-up test: 62

Friday, June 15, 2012

Clarion database date and time

Clarion databases, so far I'm not a fan. Here is just one of the reasons.

Clarion Date

This is the easy one, the date is stored as the number of days since December 28, 1800. Where that date comes from, who knows, but that's the date. Add whatever number is in the database--as days--to that date and you'll get the date you're looking for (pun intended because we all know if you think this is cool you don't have a date).

It should also be noted one of the things I read while looking into Clarion dates said even though the date is December 28, 1800 you still can't use numbers lower than 4. Which puts you at January 1, 1801... and is a date that makes only slightly more since except now you have to worry about subtracting. For the purposes of programming or spreadsheets, I found it easier just to pretend this problem doesn't exist because all the dates I am working with are in the 20th and 21st century.

Clarion Time

Here is the can of worms, and the reason I'm writing this down. I couldn't find squat on the Internet about how Clarion stores time. I'm sure it's out there, I'm just saying the search results leave a lot to be desired. Here is what I would have wanted after mashing "How the heck does Clarion database store time?" into Google.
  • It's in centiseconds.
  • It starts at Midnight
  • It rounds down (that part might just be my program)
Centiseconds, you know, 1/100th of a regular second. That's a perfectly sensible measurement of time no one really uses. Why even spell check wants to change it to secondments. Doesn't really matter, as long as we know what it is we can worth some mathgic on it and make it make since.

Clarion's Time Field / 100 = Seconds from Midnight
Clarion's Time Field / 100 / 60 = Minutes from Midnight
Clarion's Time Field / 100 / 60 / 60 = Hours from Midnight

These work, but they give you a decimal number. For example if I have a time field with "2861193" and I convert it to hours I get 7.94775833 (and that's 7.94775833 in the morning). From that it's just normal convert decimal hours into useful time (drop the 7 and multiply by 60), which in this case is 7:56.87.

We use a proprietary ERP with a Clarion database at work, which is why all this is happening in the first place. When I take my result, rounded to the nearest minute it does not match. My result from the above example rounding to 7:57 and the program showing 7:56. Results that should round down work as expected, so I think it's one of two things. Either the start time is not exactly at midnight, or the program just rounds everything down. I assumed the later and will wait and see if people who use my program see a difference between the proprietary one. I figure if I am wrong, the problem will be very minor, and for the most part it's just not worth the time to troubleshoot any farther than I have--I checked like 8 of them! That's pretty good right?

Most importantly, I wanted to share this info with other who have found this frustrating. Probably not many, but you never know.

Conclusion

I made a calculator to figure this out for my project. I've also made the source available.

The Calculators accept user input, but the code was also used as a function for my project. In the future I may make a post about my solution to connecting to a Clarion database. It's a pain, it's not elegant, but it works. It was also one of those things I had a hard time finding help with.

Friday, May 11, 2012

Quick update

I also wanted to post a quick update to a previous post about Cisco Clean and my unnamed university. While my opinions have not changed, as of the other day I no longer need to use a virtual machine to access the university network. They now allow Linux clients to connect using the web authentication tool.

Suddenly my netbook has more memory.

DD-WRT for fun

Recently I set up a wifi hotspot for a local coffee shop using my old router and the open source dd-wrt software. While setting it up I made many notes, not only because I need notes, but in an effort to help the owner make changes and troubleshoot future problems. It was my intention to post my notes on the dd-wrt wiki (should be easy since I use a wiki to keep notes), but to my dismay there doesn't seem to be any way to create a user account. I am also confronted with the possibility I simply can't figure it out. This is a common phenomenon I experience. On the one hand, I have my own wiki setup on a virtual machine for notes and such, yet I can't figure out how to log into someone else's. I have a similar problem with Facebook.

Personal problems aside, I feel I should share these notes somewhere (←PDF of notes). Setting up a free public wifi hotspot turned out to not be a strait forward as I thought. Here are some lessons learned.


  • Depending on hardware DD-WRT allows for multiple virtual wireless networks. This was utilized to create an unsecured hotspot, and a secure private wireless.
  • iptables is flipping awesome (the DD_WRT uses this as it's firewall). It's worth figuring out.
  • There are a lot of ways to make a public hotspot, I chose nocatsplash mostly because it was already installed. It turned out to be able to do what we wanted; take the used to a "splash" screen to let them know they are using this network, and when they agree to use that network it takes them to the coffee shop's events page.
Over all this turned out to be a fun project I was glad worked out well for the folks that use it. I also got to learn a few new things about networking and Linux. I recommend it for people who like to piddle with such things.

Monday, March 19, 2012

Cisco Clean

Screen shot of  Cisco Clean Agent running on a guest
Windows XP and sharing the Internet with Linux host.
As far as I can tell, and this should be considered a biased opinion, Cisco Clean is kind of useless. Granted, I am not a big network administrator, but I have experience with small public and private networks. I've never felt the need for anything that resembles Cisco Clean.

Just to simplify, Cisco Clean is a program that runs on potentially hostel client computers; to be specific, student laptops. The program's job is to make sure Windows updates have been applied and there is some kind of anti-virus software running.

My misunderstanding comes from why this is even necessary when the only reason to connect is to access the Internet? What am I missing here?

My problem comes from the University not allowing Linux clients on their network. From Cisco's FAQ:
Q: How Does Validation Work for Linux Users?
A: Linux users must authenticate by logging in via a web page. There is no client which is downloaded to Linux systems. The network connection timer is set for Linux systems; however, there is no icon that can be right-clicked to logout and subsequently login again.

What if the university has the web authentication disabled? That's the story here.

There is an open source project called freecca that looks very promising, but it is limited to Gnome last time I tried it (my old under-powered netbook runs Lubuntu). I have yet to attempt compiling the latest source which promises to run on any GUI. Until I get a chance to really delve into this I've come up with a temporary solution that surprised me it worked so well (In fact I'm using it as I write this post).

I ended up using VirtualBox. First I installed it right from the repositories, then installed Windows XP as a virtual machine. I mean the licence was just stuck there to the bottom of my netbook anyway, so why not? I was hesitant it wouldn't run well because the atom processor doesn't support virtulization extensions. And to be fair, Windows XP does run like crap, even when I allocate 1GB of the 2GB's available on my netbook (more than half after subtracting video memory). Even running like crap, it only has to boot up, and run the Cisco Clean agent. Once the connection is established I switch back to Lubuntu... which runs great on older hardware.

The trick, let the virtual Windows environment use the wireless adapter as NAT, and set up a second host only adapter. In Windows run the "Share Internet" wizard, chose the NAT network adapter as the Internet, and the other as the one to use for sharing. After connecting with Cisco Clean (assuming all the updates and anti-virus is ready) the guest Windows machine will share it's Internet with the Linux host.

It's not the ideal solution. It's not a simple solution. But it was one I understood and could work with. My only complaint is having to wait for the VM to boot up and shut down. Fortunately when I do need it, it is for long periods of time. Otherwise I'd spend more time getting the freecca to work.


Friday, January 13, 2012

My First Open Source Contribution

It's no secret I am a fan of open source software, but I am not a developer. I use many open source programs. Donated a little to a few. I recommend some to others. Gave what feed back I could. Even still I never felt like I've contributed.

For the first time in my life I ran into a problem with an open source project that I was able to fix, and of course I made those change available to everyone. In the past few months I've been playing with MediaWiki, and have gotten to the point I enjoy using it for different projects. I've added a few simple extensions to my personal and work wiki that have made life easier. Specifically, Tasks Extension and Data. I like them because they are simple enough for me to use, I can actually look at the code and have a clue what is going on, and they do exactly what I want with no extra foo foo. All was great until I went to play with MediaWiki 1.18, and discovered neither one worked.

It took me some time, because I'm am not even an amateur developer, but I did eventually finagle both of these extension until they worked. I even rigged Tasks to work from a single directory (with some help of comments from another user on it's discussion page) like an extension should. All in all I am kind of proud of myself. The only bummer is I am probably the only person on Earth who uses these extensions. On the off chance anyone stumbles here and needs to make either of those extensions work in MediaWiki 1.18, you'll see my changes on their discussion page under the heading "Working in 1.18" (or follow the links I just made below).

Saturday, December 24, 2011

What I've Learned about Security

UPDATE: I started this because I did not practice what I preach for a long time about password security. When I did start I realized how difficult it actually was. I only started because I had a bad experience directly related to my bad practices--it could have been worse--I was lucky. After many days of figuring out how to implement what I've preached--this is the method I came up with. I know it's long, and it's a lot of information to throw at someone. I really feel it's worth while information though, and I sincerely hope it convinces others to practice better security on the net before they have a bad experience too.

So I'm a nerd, and people I know ask me computer related questions. With all the recent news of computer security breaches in big companies, it has been a popular topic.

The biggest problem with computer security is that very few people understand it. Including the experts. Full disclosure: I do not consider myself an expert, but I am not unfamiliar with the subject either. So in this blog post I will lay out what I have learned the hard way about password security for the average user.

It all started a  few months ago. Like most everyone  I had the same username and password for everything. Despite knowing it's bad practice; despite my own advice to others, I was lazy. I don't want to have to remember a bunch of different complicated passwords. Then one of the sites I used was compromised. The user names, emails, and passwords were posted in plain text on the Internet for all the world to see (it was MtGox for the curious--and what that is for is another post all together.)

I knew a little bit about how passwords are stored in a database. They're not plain text, they're run through an algorithm and stored as a bunch of garbled letters and numbers (known as hashing). When you type in your password it is run through the same algorithm to see if it matches the hash. I also know complicated passwords (like those that use lower case and upper case letters, numbers, and special characters) are harder to crack.

What I didn't realize is that computers have gotten pretty powerful in the last few years, and the ability to figure out that algorithm, or crack the hash, has gotten significantly faster. These hashes are so long and complex it used to take years for the most powerful computers to figure them out. That's not so anymore.

Just a quick note about passwords, length trumps complexity. There is a nice web comic that explains why. Really all you need to know, a long passwords (20 characters or more) all in lower case, is more secure than a complex 8 character password. There are a number of "password strength checkers" on the Internet, but almost all of them place more importance on complexity over length. Don't ignore complexity though. I recommend a capitol letter and number or special character in a long easy to remember password. Long sentences or phrases with punctuation and proper nouns are what I like.

In my case I had a 10 digit password comprised of lower case letters and numbers, that password is now out on the net right next to my email address. I've even received email from people sending to that list. Kind of interesting, but none-the-less an eye opener. I also knew I had to go through ever website I had a login on. There had to be an easier way.

First thing I did was  change my gmail password and enable two-step verification. The link will explain more, but the short version is: it sends you a text with a code when you log into gmail (don't worry there is a check box to remember you for 30 days). Waiting for the text verification is a minor annoyance when logging into gmail from another computer, like say from a neighbors house, but it doesn't happen often.

Screen shot of KeePass.
The second thing I did was find a program I can use to keep track of passwords since I knew all the passwords I would be changing will be different for each website. That way if any one get's compromised I don't have to do this again. I played with a few programs, but the one I liked best is KeePass. Yes it is slightly more tedious to open it every time I need to get into a website, but it can be set to start with Windows. I'll get to how to make KeePass more accessible later too.

I start the tedious process of going to all the websites I visit regularly, change the password, update KeePass, and make sure my contact info is set to my gmail account (you'll see why). KeePass can even create a password for me. Which is fine because it will also auto-type the username and password into a website for me. I don't have to remember any passwords except the one that lets me into KeePass. I also keep my gmail password one I can remember too; because if anything were to happen to KeePass most website will allow me to use a forgot password option (that's why I make sure they have my gmail address).

Obviously, I am not going to remember every site in the first sitting. It took me a while. In fact I still occasionally stumble on a site that is using my old password and not in my KeePass program yet. For the most part I have been diligent, and when I come to one I update it right away.

Now I have a new problem; I don't know a single password to anything other than my gmail account. When I'm at work, I can't log into Facebook (a tragedy I know). In addition to being a big nerd, I'm also an Eagle Scout, I like to be prepared and have options. So I came up with two ways to combat this problem.

The first way was through dropbox. If you are not familiar with dropbox, it can be a scary thing (it's the cloud, it's all scary right? not if you take a little time to understand what is going on). If you sign up for dropbox through my links here, you'll get an additional 500MB's of space--and I will too :) It's cloud storage, but what I really like about it is it has a hand little program that will allow you to upload to it and keep your files synced from multiple computer if you need it... and the key is that it actually works well. It just simply adds a folder to your Windows user profile called Dropbox. Just save your KeePass file there and you are in business.

Now you are going to ask me, "why is it okay to store all your usernames and passwords on a cloud service?" Is dropbox fool proof? Absolutely not! I don't trust them any more than any other service. I do trust KeePass though, and if someone was to get my KeePass file they would not have an easy time getting into it (because I used that long and semi complicated password I mentioned before). I also trust it because it is open source (another nerd term). When it comes to security, open source wins because it is transparent. If anyone wrote a shady open source program it would be outed right away because everyone can see the code that makes that program work. There are many arguments against it (most are rooted from a software company out of Redmond, Washington... but they have their merits so I can forgive them today) but it is the truth. I'll trust popular open source software when it comes to security over closed source any day.

So, dropbox, it's an okay way to keep your KeePass file updated across computers you use regularly. Personally I have it installed on my home computer, work computer, netbook, and a Linux VM (works great on Windows, Linux, and Mac BTW). But what if I am at a public computer? The same place we downloaded KeePass has two download options. The second is a portable version of the program that can run off a flash drive.

It's easy to use, download it, unzip in to a flash drive, copy your KeePass database file to the flash drive, now you can open that database from any Windows computer you plug the flash drive into. The downside is copying the database file to the flash drive. Unlike the dropbox version it will only be as up to date as the last  time it was copied. There are ways around that with programs like Allways Sync; it will keep files from your computer updated with a flash drive when it is plugged in (details on how to use that is a whole new post too, but it is well documented).

I've been doing passwords this way for a bout three months now. I've gotten used to having KeePass open while I'm on my home and work computer. I've even gotten pretty quick about alt-tabbing between it and Chrome and having it type in my username and passwords. I've only had to know the password to KeePass and gmail since I've made the switch, and they are easy to remember long passwords. I've even changed them once just because. I can also sleep at night too, not because I know I'm a little safer on the web, but because now my advice is backed up with experience.

Thursday, November 17, 2011

Dabbling in Linux again

A few days ago I needed to play with a wiki, and like everyone when I think wiki I think Wikipedia... and in turn  MediaWiki. Being this was for fun I thought it would also be a good time to try Ubuntu Server. I've used their desktop for years, and even though I find myself in the terminal more and more I've always been afraid to completely ditch the GUI.
That's no longer true.
In less than three hours I had a VM of Ubuntu Server 11.10 with Apache2, PHP5, MySQL, phpMyAdmin, and MediaWiki ready to go (that includes the time it took to download the iso). I either became a genius since the last time I tried, or they have really made this stuff easier to setup and administer. I suspect the latter.
True I did find myself looking up Linux commands and following how to instructions, but it all worked well. I know I'm not the only one who has followed a set up Linux instructions to the T only to run into errors.
The main reason I'm posting all this is to share this little tidbit of information from The Geek Stuff that made some things begin to click for me. The picture on the right sums it up well.

Also, while working on this project I came up with the idea sudo should be replaced with yo. Still makes me chuckle.

yo apt-get install whatireallywant

Tuesday, November 08, 2011

Geekwagon Logo


Here I am writing about my website again, but it's not really about me or my website. It's really about web design in general, and sharing the few neat things I've managed to figure out. I'll be able to post some good information about a site that is not my own, but I helped create, some time in the future. For now I created my own problem to figure out: a logo.

What self respecting website doesn't have a logo? What better way to recognize a brand than a well designed logo. It's part web part marketing, and let's face it I am no expert in either. I'm just going to make a post about it because I did learn some tricks tackling this.

The logo criteria I made up as I went along.
  • site name is dominate feature
  • more than 2 colors
  • selectable text
  • hidden meaning
http://geekwagon.net/logos/logo.html">

geekwagon.net logo


http://geekwagon.net/logos/logo.html

Because everything on geekwagon.net has bee coded by hand, it made since to make the logo look like a bit of code. The purple highlighted brackets was inspired from Notepad++, and gave it some color. To make the text selectable I knew there was going to be some combination of HTML elements styled with a sheet, perhaps in some sort of cascade. A view of the source will reveal it's just some HTML with a few silly class names and comments with all the CSS contained in the page (because this made it easy to copy and paste into http://htmledit.squarefree.com/ and manipulate). It uses all of two images. The blinking cursor I nabbed from an image search, the foreground fade I made with Paint.net.

Lessons Learned:

  • To get the fade to work right I had to use z-index, and it is a pain in the butt that requires position: relative; In some places. Experiment until it works (at least that's how I do it).
  • span and div elements really are different, but only by default.
  • The CSS shorthand for background is useful, but took a few trips to w3schools.com to get it down.
I'd like to take this time to reiterate I am a newb at all this. Despite that, it has been a fun learning process. I have found the only way for me to learn these kinds of things is to just sit down and do it over and over.

What about the hidden meaning?

I'm glad you asked, there are actually two. First, an observant person will notice the numbers on the left are line numbers. They stop at 1336 because geekwagon.net falls short of leet. Second, geekwagon.net is a self closing bracket because it is a self serving website. Not terribly cleaver, but they made me chuckle.

Tuesday, October 11, 2011

One of the goals for geekwagon.net was to master CSS well enough to make the site look similar across different web browsers. I had a rare opportunity to view it from Windows 2000 using IE6 at an amazing 16 colors. The thumbnail below (which isn't far from the screen capped resolution) is a screen shot of how it looked.


The only problems are all related to JavaScript (the +1 button and the advertisements), both of which I could care less about. Interesting enough was the JavaScript used to round the borders worked just fin in IE6.

Wednesday, September 28, 2011

Dear Acronis, You Let me Down


The short: Acronis makes great backup products for business use. If you are going to spend money, buy Acronis® Backup & Recovery™ 11 Workstation. Do not buy Acronis® True Image™ Home 20xx!

I debated putting the True Image icon with
the International Standards prohibition symbol.

Some quick bullets from my experience with True Image on two different computers.
  • Sometimes take 5+ minutes to connect with online service
  • Becomes unresponsive often.
  • Regularly can't suspend backup to online service
    • Tried stopping every service and program that has to do with Acronis, and no luck. Have to restart the machine, which is not a huge problem until you get to the next bullet.
  • Included "safety valve" that stops Windows from restarting during backup.
    • I'm sure this is great if you aren't doing the initial online backup that takes five days.
    • I have found I can manually stop Acronis services and restart, but seriously why should i have to stop services to restart my computer? Can't there be a check box that says "Dude, we can continue this back up after the 2 minute restart instead of trying to wait for the backup."

The rant: So I'm not a huge fan of customer support, the following are reasons why.

My issues aren't show stoppers so I chose to use the email customer support option. Only after I explained my problems thoroughly in the text box did it tell me I was limited to 1024 characters. I'm going to ignore how silly it is to limit a tech support email to 1024 characters and ask the hard questions. Would it really be to much to have a note about that? Better yet one of those nifty text count down things that changes as you type and tells you how many characters you have left.

SO I luck out, hit back, copy and paste my well thought out questions into notepad and fire up the "chat with customer support options". Not trying to be rude to the guy, I am a very patient person and I've got all day to keep the chat window open. When we started I specifically mentioned I have been through the forums and knowledge base (which is one of the things I love about Acronis) and could not find the answer to my questions. I even linked him the articles somewhat related to my issue, but didn't address it. I politley asked, in a less blunt manor, not to copy and paste from these articles I've already read. The very first response he gives me was right off the "initial backup to online services may take days." Duh? You don't say? Will it really take me days to upload ~30GB to an online service over my 512kb upload speed? I didn't exactily need a calculator to figure this out, but I certainly don't need tech support regurgitating what I told them. Don't get me wrong. I understand the guy is just doing his job. It's menontonus, he deals with people every day asking questions with answers available in the knowledge base. But if you aren't even reading what I write to you, how can I take what you tell me seriously? Now I know you're just blarbing out anything remotely reltated to what I'm talking about. 

THAT'S NOT ALL, I can actually over look all that ^ What really grates me is when customer support says, "I'm going to send this to a higher level of technical support, you'll be getting an email with all the information you need to talk to them" then I never get an email. It's not that it will take longer. It's not that you don't know the answer and I have to talk to someone else. It is simply that you said you would do something that never happened. This is pretty much the problem with the whole world. Many many people say many many things, but have no intention of actually doing anything they say*.

*I cannot claim this without recognizing some hypocrisy, but at least I am aware and apologize when possible.

Wednesday, September 21, 2011

That Light-bulb is Around here Somewhere

Finally got around to revamping geekwagon.net's main page with my new "structure is important" goal in mind. The more I get to know PHP the better I understand how powerful it can be. My infinite noobness actually had me going to all the pages and making changes. This was fine for a while, when I had 2 pages. Now that I am expanding and learning I know I can have a file named head.php with the line

link rel="stylesheet" type="text/css" href="http://geekwagon.net/home/common/stylesheets/current_stylesheet.css"


Then when or if I ever want to change my style sheet I don't have to go and change it on every page. Every page I make just does a file_get_contents. Then if I want to try a new style sheet just go change the line in head.php.


I'm sure I'm the last person on the planet to figure this out. It also feels like I'm reinventing WordPressAlbeit, a really simple version for slow people like myself. Either way, I am learning and that is what is important.



Side note: omgthx for updating post interface Blogger/Google/whoever you are. We can write post using most of the browser window instead of that little useless box!

Tuesday, September 06, 2011

Poor web design

One of my recent projects has been geekwagon.net. It's a website that is pretty much useless, but gives me something to code by hand to figure things out. Today I came across this article about bad html and css.

Other than the bullet about flash dependency, I think I've broken every one of these dang rules. I found the part about "visual thinking" the most eye opening. That is pretty much how I've always done websites. First figure out how I want it to look, then make a structure that conforms to it. That paragraph changed the way I will make websites from now on. Worth a read.

Sunday, February 21, 2010

Fan Fiasco

For some time now the 92mm case fan in my girlfriends computer has been loud and obnoxious. I notice it most as it fan undulates in my ear when I sit in my recliner that is next to her computer. Yesterday we both felt we had enough and proceed strait to Altex without passing 'Go' or collecting $200.

Altex is generally a little over priced when compared to just about everyone else, but here in Corpus it is about the only place left you can buy a case fan. Their selection is limited as well. Makes me think I should open a Fry's here in Corpus.

After standing in the case fan isle for a few minutes I made my decision and went to check out. The nice lady rung up $16.18! Really?

Altex also had no selection of rubber washers or case fan silencers (you know those rubber things that go all around the case fan). Then we went to Lowes. The place I knew we could find rubber washers, perhaps not of the perfect size, but at least some thing that could work. Another $5.06 later we were successful.

We get home, solder a plug to the Altex fan because apparently a freakin $16 fan can't come with a plug. Then plug it in to realize it spins way to slow to make since. Another look at the cryptic sticker on the fan shows this is a 24volt fan. Why Altex? Why do you even carry 24volt fans? Google [lmgtfy.com] doesn't even know.

I hung an 80mm case fan in her case with a single screw while we wait for the one from newegg.com. It's what we should have done in the first place. It's one of the best 92mm fans you can buy (opinion alert) on newegg.com, it comes with a 4pin plug, rubber washers, it's 12 volt, and even with shipping it's $2.00 less than Altex.

For the record, nothing against Altex. I get it, if I want it now I'm willing to pay a little more. Really my complaint is the voltage. Of course it's my fault for not looking, but who would have thought to even look for that? True I could wire it to make it work, but the computer is a Shuttle and I don't think it would be a good idea to put more strain on it than necessary.

I will make a note on whether or not the new fan is worth a flip when we get it.

UPDATE Feb 25 - Got the new fan and so far so good. It spins at about 2050RPM and is quiet. The only thing that makes noise in it now is the Power Supply fan, but it's one of those 40mm fans. I hate 40mm fans.

Saturday, February 20, 2010

NES PC

The idea of building a computer from an old Nintendo Entertainment System is not a new one. While I may not be boldly going were no geek has gone before I took the opportunity to build one of these with no cost to myself (other than time).

I did look at a lot of other NES PCs before I started construction of this one. The primary goal of my NES PC was to make one that didn't feel flimsy. There are a lot of NES PCs out there that look like they'd fall apart if jostled too much. I wanted something that felt solid when you picked it up. I didn't want parts to rattle around.

The most notable thing left out of this NES PC is an optical drive. The owner wants to put in a blue ray drive, but it was cost prohibited at the time of purchase. The design left a place just big enough for one to be added in the future.

I divided this post into two parts. Lessons Learned, basically things I'd have done different in hind sight. The Cool Parts is the section of what I think worked really well.

There are some pictures on this post, but you can see a whole lot more here. Yes I know I can't take pictures worth a flip and I am sorry for that.

Lessens Learned
Power Supply - The one we chose is small, but a few months after the parts purchase I found much smaller ones.

Motherboard - A couple of lessons here. First of all, the memory slot, it's for standard size memory and it sticks way up. There are boards that support smaller laptop size memory and it lays flat. Second, no HDMI. While this was a factor taken into consideration when we chose the parts, I would have personally preferred an HDMI output. The owner has a TV that supports RGB input, so he saved a few bucks here. Last but not least, size. While the mini-ITX format is damn small, I couldn't mount the motherboard all the way on the bottom of the NES. If you've ever opened an NES you know there are three ridges that stick up and make mounting a board all the way on the bottom impossible without serious cutting. In my case I had planned to mount on top of those ridges, but it was the power and reset button that didn't allow me to lay the motherboard there. I used 1" mounting posts and a few brass washers so the board would clear the power and reset button assembly. Doing this gave me little head room inside the NES case.

Heat - Even with the low power of an Atom CPU it gets hot. The 40mm Fan was a decision made in hind sight.

The Cool Parts
Power and Reset buttons - I was able to use the original power and reset button assembly. For those with fond NES memories, you will know the power button stays in when pressed and the reset button is a momentary switch. PC's need momentary switches for both power and reset. To fix this I just had to remove a little piece of plastic on the power button that held it in when pressed. Then all I had to do is a little testing with a multimeter and some soldering, and we were in business. I even kept the original LED so when it's powered on it looks as authentic as it can get.

Controller Ports - RetroZone sells a USB chip to mod NES controllers so they can be plugged into a PC. Great idea, but I don't want to mod a bunch of controllers. I modded the controller ports (hey they were there). I was worried at first that Windows wouldn't pick up controllers plugged in after the PC was booted up. As far as the OS is concerned the controllers are always plugged in. After much testing I realized it was going to work perfectly. It's just awesome to be able to plug in an unmodded NES controller and play games. I even added software to move the mouse with the controller.

The less expensive option was to wire them to the parallel port. I've found this method to make the controllers feel sluggish. That, and the fact I didn't want a bunch of ugly wires running from the parallel port back to the inside of the case, made these USB converters a great idea.

Motherboard and Power Supply Mounting - Although I didn't get it exactly where I wanted it in the end, I really like the way the motherboard mounts. It feel solid and secure, just like mounting a motherboard in a real case. The ATX I/O plate even snaps in place.

Future Optical Disc - Raising the motherboard left little room between the top of the NES and motherboard, but there will be just enough room for a slim blue ray drive when the time comes. The hight of a slim blue ray drive is 13mm, there is 15.5mm to spare.