Category Archives: Technology

Macintosh: How to Flatten Your Dock

I personally don’t like the default look of the Dock when it’s on the bottom. I prefer the flat look you’ll get when you move it to the sides.

Here’s how to do it:

Open Your Terminal (it’s in your Utilities in your Applications directory);

Type the following:

defaults write com.apple.dock no-glass -boolean YES

killall Dock

your dock will then restart and you’ll go from

to

That’s it for now 🙂

PS To reverse it back to normal just type

defaults write com.apple.dock no-glass -boolean NO

killall Dock

Of course in the terminal, as above….

So it was finally cool enough to journey into my attic!

And I’ve got CAT-5 cable between the Computer Room and the Living Room!

Unfortunately I only found one network plug, so I’m stuck until tomorrow when I can get another plug so that I can complete this job.

What does this mean?

  • A wired connection will make buffering between my media player and the server MUCH quicker.
  • I’ll get my Apple Airport Express back for personal use again (which has served me VERY well for the last two years as a wireless bridge to 3+ devices)
  • My wireless bandwidth will increase as Vonage and other devices in the Living Room aren’t chattering all over the place.

Hopefully the hand-me-down CAT-5 cable’s kinks aren’t breaks. I’m sure it’ll be fine.

Update: Lunch, Thursday August 26, 2010 – I took 30 minutes to finish the job (including installing port box the and the wire runner) and boy it’s nice. My PopCorn Hour box went from 4-5 seconds buffering to 1-2 seconds (and the switch it’s connected to in the living room is only a 10mb port if I recall). I can instantly upgrade that network between the Living Room and computer room by replacing the living room switch with a newer, faster model.

I’m very happy with the results, and I’m glad to have my Airport Express back in hand as using it was a matter of desperation at the time (almost 3 years ago!!!).

Top Down Marketing and how Ubuntu should retarget their niche to succeed

I’ve been thinking about this during my my fever induced delirium and now that I’m feeling a bit better (still coughing though) I think I’m going to rant my observations and suggestions to the Ubuntu community. Now understand that I’m, for the most part, pulling any possible figures and statistics from the air and is mostly purely opinion and personal observation, but hopefully someone else can learn from and follow my line of thought, as I can already tell this is going to be a long post. In addition, this is pretty much stream of conscious, so the rhyme and reason may stray a bit. If you comment, please keep this in mind.

Microsoft’s Explosive Growth in the 90’s (and a little bit of the 80’s)

In the 90’s the two juggernauts of general computing took two different approaches of claiming the market. Apple was looking to put a Mac in every home, while Microsoft was seeking to put DOS and Windows on every office desk. Instead of making their own computers, Microsoft created the operating system that any PC manufacturer could license and sell their computers. At first this was DOS, but then when Apple learned of the GUI from Xerox Parc and created the first (amazingly innovative for the time) Mac, they started work in the Windows shell which ran on top of DOS.

It was because of the business class software of Word Perfect and Lotus that DOS shined early in the 90’s. Mac catered towards the graphic artists due to some of their amazing design software such as Mac Paint and Adobe’s Photoshop 1.0 (which until later versions, the Windows version was an afterthought, and not nearly as efficient). When employees wanted to purchase a computer for their home, they were already used to using Windows/DOS computers at work and naturally decided to purchase what they were used to (there were a few that were convinced to “Think Different” from their office computers).

Once a market is established, businesses are very slow to change their ways and tend to use solutions until they fail completely unless directed eloquently by a good technology officer (who would see that a solution would fail in a few years and start planning for a solution that would replace it and plan for a transition to a new solution).

Example: Visual Basic and Microsoft Access

I can’t tell you how many MBA programmed/hacked Visual Basic or Microsoft Access solutions I’ve had to replace/work on (tearing out my wits and hair while doing so because they were all patches, with no proper thought process of how to program properly), but these two powerful tools were also an strong proponent of Window’s success in the mid 90’s. Programming a dialog-based business front-end was easy, and although multiple people accessing a Microsoft Access database sometimes was tricky, it did work most of the time. Sure Mac had File Maker Pro and a few other solutions, but Microsoft was a trusted named in the corporate world and they practically gave copies of this development software (Access at least) with every copy of Microsoft Office and with the free Runtime, only one developer had to purchase while many other employees could use the custom business software.

The late 90’s – The Server Market EXPLODES

Two words that are some of the most powerful words in the corporate world: Active Directory. Active directory is a tweaked combination of the open standards LDAP (Lightweight Directory Access Protocol) and Kerberos (basically a network password encryption scheme) as well as a few other little proprietary ticks. What this did was one of the most important things for any corporate environment: Roaming Desktops and most importantly, single-sign authentication.

From this base Microsoft created their mail server Microsoft Exchange, which was not only a Mail server, but a collaborative Calendar and Contact manager for an entire company. Sure there were other solutions such as Lotus Notes and Lotus Domino (which came too late with too little features), but none of them were top-down homogeneous with Microsoft’s operating systems. Between this and Windows 2000 (based on the quite stable for the time NT kernel), Microsoft’s grip on the corporate market became tighter.

Before Active Directory: the UNIX solution to multiple users

In the early 90’s I noticed many SCO or VAX based terminal solutions for corporations as well, before Microsoft’s Active directory, using telnet to connect to a UNIX server was really the only practical way to have a single-sign-on solution with a ‘roaming’ home directory.

Unfortunately these solutions were amazingly expensive as they were very powerful (even now, as operating system ‘power’ is quite level the legend of UNIX being powerful still whispers amongst techies). However, the command line was unintuitive for non-trained users and training employees is very expensive (plus the fact that most UNIX programmers tended to make their custom solutions work instead of being easy to use, due to time constraints)

Microsoft Today

Microsoft as a software company has only two popular home products: Windows 7 Home and Office Home and Student edition (everything else is a separate division and not their bread-winner). Everything else is targeted towards businesses, whether small or corporate business. Sure Windows 7 has a very nice set of Gaming tools in DirectX, but this was a bolt-on solution to Windows, not a core feature (as of Vista, it’s now integrated in the desktop with Aero).

How to Make A Product in Succeed Today’s Market

Microsoft is King of the corporate world: deal with it. There’s no need to whine about it, no need to disagree. If you go into any major corporation, they use Active Directory and Microsoft servers, they may or may not use Exchange (most likely they will), but they’ll be using AD. Group Policies and Update Servers make keeping 1000+ computers a 10 man job instead of a 50-100 man job which saves TONS of cash.

To succeed you’re going to have to integrate seamlessly in this environment, or you’re going against the grain of corporate information technology and you’ll be denied request for your gadget or software that a user feels they need to work (or play).

Example: The Apple iPhone 3g (and the Mac)

The iPhone has a huge percentage of the market for many reasons, but (in my opinion) the reason for this was due to the iOS version 3’s ability to sync and connect with Microsoft Exchange servers for Calendars and Email. This is a very important for corporations and until that time the iPhone was just another ‘toy’ not to be considered for its managers and executives. Once these features were in place the phone had a whole new market (and one with deep pockets) and I know personally in our office that was the reason that we adopted them for our technicians–the calendar syncing alone. Until those features were added it had amazing response and sales, but well less than when the corporations and businesses that depended on Exchange for their scheduling.

With Snow Leopard last year, the Macintosh now has the ability to connect to Exchange servers with iCal and Mail. Although the users can’t sign in (easily) to an Active Directory, they can still participate in the corporate employee communication and scheduling, so there’s a good possibility that Macs may start showing up in the office (and may partially explain the recent boost in Mac sales). If Apple’s next OS were to support joining an AD domain right out of the box easily, then I foresee a huge explosion of Mac sales too as Antivirus software licenses are almost as expensive than the price difference of a low end Mac and a PC (although as soon as the Mac becomes more popular, I expect more attacks against the platform).

What this means for Linux (and my favorite Distro Ubuntu)

For the Linux Desktops: I’m not going to get into any GUI debates, as Ubuntu’s GUI is still evolving. Linux desktops have GOT to be able to register and connect to an AD domain to succeed in the corporate world. It’s wildly important to connect to Exchange for Contact, Calendar and Mail as well. Applications are hit and miss, as many corporations are moving towards Web/Intranet-Based applications for their internal development. This is mainly because the developers can write once, and it instantly be effective for all the users.

For Linux Servers: Creating a free and easy to use LDAP/Kerberos server is essential (and having the Desktop Distros easily find and have the ability to connect to that server is essential. Creating a Mail/Contact/Calendar server is essential as well, whether it is Exchange compatible is detestably important but there should be some way to at least import from an existing Exchange server for transitional purposes. Even for home users this is important, as now multiple home users may have the same login across all home computers (and this is very common here in the US) with all their files and settings.

Ubuntu

Tournament-Tracker.NET is in Release Candidate 1

Yesterday I went ahead and versioned up Tournament-Tracker to RC1. This was after I cleaned up the Stats pages, added the ability to add a “Free Game” with your Tournament-Tracker.NET Friends, and rudimentary support for campaigning (which I am running for our Warhammer Fantasy Build up here at Galaxy Comics).

Remember, anyone who joins now will have Comp Credit Accounts for creating Tournaments & Campaigns (and whatever is added in the future!)

Cheers!

Jeff

Games Workshop FAQ Grabber (Python Script)

I’m nerding out on ya, sorry. Programmers and Script Monkeys only, as I’m not going to explain how to use this.

I’ve created a Python script that grabs all the latest 40K and Fantasy FAQ’s/PDF’s

Here’s the script:

#!/usr/bin/python

import urllib
import sys,os

sGWURL = "http://www.games-workshop.com"
sWarhammerFAQURL = "http://www.games-workshop.com/gws/content/article.jsp?categoryId=1000018&pIndex=1&aId=3000006&start=2"
s40KFAQURL = "http://www.games-workshop.com/gws/content/article.jsp?catId=cat440134a&categoryId=1000018&section=&pIndex=1&aId=3400019&start=2"
sLocalFantasyFAQPath = "./" # I Normally just use the full filepath to my Dropbox Folder on my Ubuntu box
sLocal40KFAQPath = "./" # I Normally just use the full filepath to my Dropbox Folder on my Ubuntu box

def GetData(sURL):
        oPage = urllib.urlopen(sURL)
        sPageData = oPage.read()
        return sPageData

def FilterOutFAQLines(sData):
        FAQs = list()
        aLines = sData.splitlines()
        for sLine in aLines:
                if sLine.lower().startswith("<a href"):
                        if sLine.lower().find(".pdf") > 0:
                                FAQs.append(sLine)
        return FAQs

def downloadFile(url,localfilename):
        webFile = urllib.urlopen(url)
        #olocalFile = open(url.split('/')[-1], 'w')
        localFile = open(localfilename, 'w')
        localFile.write(webFile.read())
        webFile.close()
        localFile.close()

def GetFile(sHREFLine, sDir):
        global sGWURL
        sURL = sGWURL + sHREFLine[sHREFLine.find('"') + 1:sHREFLine.find('"', 10)]
        sFileName = sHREFLine[sHREFLine.find('>') + 1:sHREFLine.find('<', 10)]
        downloadFile(sURL, sDir + sFileName)
        return sFileName

def DeleteFolderContents(folder):
        for the_file in os.listdir(folder):
            file_path = os.path.join(folder, the_file)
            try:
                if os.path.isfile(file_path):
                    os.unlink(file_path)
            except Exception, e:
                print e

aWarhammerFAQs = FilterOutFAQLines(GetData(sWarhammerFAQURL))
a40KFAQs =  FilterOutFAQLines(GetData(s40KFAQURL))

DeleteFolderContents(sLocalFantasyFAQPath)
for sLine in aWarhammerFAQs:
        sFile = GetFile(sLine, sLocalFantasyFAQPath)
DeleteFolderContents( sLocal40KFAQPath )
for sLine in a40KFAQs:
        sFile = GetFile(sLine, sLocal40KFAQPath )

Feel free to download it here in case your copy/paste doesn’t work.

This won’t be very useful to non-programmer types, but it might save someone an hour or so if they wanted to do the same thing.

Ok I’m being drawn to Ruby (over Python)…

Lately I’ve been dabbling (and enjoying!) Python, but as of this weekend I’m being drawn to Ruby mainly because of several reasons (over Python):

  • The ability to easily set up and run a full blown MVC web application on Apache
  • I like the MySQL database interface better (I just finished a test and it was much more elegant than having to define a cursor, etc).
  • The ability to command line script is about the same, but I’d rather marry myself to as little programming languages as I can this late in life.
  • When I do return to the Mac platform Cocoa for Ruby has been praised
  • I’ll be eventually migrating my current Python projects to Ruby to see how much different or harder or easier it is to read and maintain the code.
  • My biggest beef with Python is having to define the functions before the code is run (I like to have my user functions at the bottom of the script and the logic at the top). Update: It seems as if Ruby has this limitation too….. 🙁 So it appears that I’ll just have to work on my coping skills.
  • If Python had a module similar to Passenger (for Apache module for Ruby) I wouldn’t be so quick to look at Ruby as I really like the language.

BUT WAIT! There’s MORE!

It seems that Passenger supports Python web development as well! *rubs chin* verrry interesting…

WARMACHINE: A little programming exercise….

This is a cross-post from my Miniature Wargaming side and my programmer side. Over the last week or so I’ve been stretching my Javascript & CSS muscles and basically made a mini-game loosely based on the WARMACHINE/HORDES mechanic.

There are more limitations than features at this point, and I’m not looking to make this a product so I don’t plan for it to go much further than what’s there now.

I used this little experiment to learn Javascript/DHTML interactions a little more familiarly–plus it helped a bit on my math skills as well.

What works perfectly: Nothing…maybe loading the page 😉

What sort of works: Movement, Targeting, Melee Attacking, Ranged Attacking, displaying info

What doesn’t work and I want it to before I’m done with the exercise: filling in of damage boxes, disable model when damage boxes are filled. Ability to add/edit/remove the default models with custom stats (saving is not an option as I’m not hooking it up with a backend).

What I don’t plan on doing: Boosting, cortex & weapon damage.

This won’t really teach anyone anything but the rolls of WARMACHINE, and there are no “turns”… it’s pretty free-form.

This only works in Firefox, Chrome and Safari as MSIE and Opera don’t support moz-transform and webkit-transform CSS for the image rotation. It does work on the iPhone but due to the touch interface and tiny screen, YMMV. If you get Javascript errors it may be me working on the code.

This was inspired by my WARMACHINE Mathhammer page mention on a previous blog post

The link to the mini game/environment is here

Addendum: This works great on an iPad (I don’t have one , but it’s getting more appealing every day). It’s a little wonky with the movement and rotation due to the touchscreen vs. mouse events, but it’s pretty freakin’ cool.

Win32/64 Drivers Rant On! (Ubuntu Saves The Day)

Ok. I have *2* old scanners that I was needed to scan some old photos a Canon Canoscan n676u and a Lexmark 2500 series all in one that was included in the computer room when I married Kim.

Neither one of these showed up as a scanner in Windows 7 because Microsoft decides to change the driver model every other release of Windows. It’s really a shame that I had to hook up my Canoscan to my Ubuntu server (which runs the Gnome desktop), and lo and behold the scanner not only shows up, but works PERFECTLY using the Simple Scan program built in.

What’s a shame is that I also ran VMWare Player with my Windows XP virtual machine and I was able to install the Canoscan drivers with that perfectly as well just in case I wanted to scan with my Photoshop 6….but bah.

Free Software saves the week! Hooray for Ubuntu!

Mechwarrior 4 released as a free download!

From ClassicBattleTech.com (May 1st, 2010)

The release of MechWarrior 4 Free is a testament to the re-ignited, world wide interest in the BattleTech/MechWarrior computer games. Within 4 hours of the launch MekTek.net had received more than a 100,000 unique hits from around the globe. As the demand reached 10,000 simultaneously downloads, even the heavy-duty server couldn’t stand up to the demand and it, along with the website, have crashed. Through several reboots the server continues to crash as the demand still remains in the stratosphere.

Everyone is working as fast as possible to fix the problem. However, despite our continued dedication and confidence in this revival, even we were taken by surprise at the enthusiastic embracing of one of the most successful computer game franchises in history by the global community. Please have patience while we diligently work to resolve the issues with the web server to meet this incredible demand.

Thanks to all of you for this brilliant show of support and enthusiasm!

The link to download the game is at mektek.net (I don’t suggest using the MTX client, find an alternative if available).

I really do miss the old BattleTech. I have very fond memories playing that game for hours (DAYS!) on end with my friends in High School and College.

Update: It looks like their proprietary MTX client is CRAP. They are aware of it, and they’re working on a classic download/installer style executable instead of their (appears to be) peer to peer spyware.

Ubuntu 10.04 LTS has arrived!

What is Ubuntu?

Ubuntu is an operating system built by a worldwide team of expert developers. It contains all the applications you need: a web browser, office suite, media apps, instant messaging and much more.

Ubuntu is an open-source alternative to Windows and Office.

I’ve been running this OS on half of the servers at work (this website is hosted on an Ubuntu server), and half of my computers at home for some time now. If you’re looking for a free, safe, secure and stable way to traverse the web, I suggest trying this operating system by at least running off the LiveCD.

If you like what you see, please feel free to do some research on how to install Ubuntu Desktop on your computer. It’s not for the faint of heart technologically, but it is much easier than installing Windows XP on modern computers.

Download your copy here