Thursday, October 30, 2014

Get StarGen from GURPS working

Legally get your copy of DOS and Windows.
If you have them on your HD in a folder and need an ISO img

From Arch if you don't have it already get cdrkit, provides genisoimage :

pacman -S cdrkit
genisoimage -o DOSandWindows.iso MyFolder

Get dosfstools

dd bs=512 count=2880 if=/dev/zero of=floppy.img
mkfs.msdos floppy.img
mount -o loop /path/to/floppy.img /mnt/floppy/

Make disk images until you are done....

Give up and use WINE

Enable Multilib
pacman -Sy
pacman -S wine dosbox lib32-ncurses lib32-mpg123 lib32-sdl
WINEARCH=win32 WINEPREFIX=~/win32 winecfg

Install dosbox on Windows
Thanks Tim Cain!

Location: 0 (Spiral Arm)
Campaign TL  0: Stone Age
Catalog number: 593851032

Stellar Information:
   Number of stars: Single star
   Class: Main sequence - Class V
   Type: K (Orange)
   Brightness: 4
   This is a Population 1 star
   Biozone: 0.50-0.60 AU
   Number of planets: 9
   Oort Cloud: Present
   Phenomenon: None

Planetary Information:
1  0.10 AU  Hot RockBall  Diameter=7,545 miles  Density=5.3  0.92G
  Planet composition: Iron average
  Gems/Crystals:      Almost entirely absent
  Rare Minerals:      Plentiful, exported if great demand
  Radioactives:       Plentiful, exported if great demand
  Heavy Metals:       Scarce, needs to be imported for industry
  Industrial Metals:  Ample for local use, no surplus
  Light Metals:       Extremely plentiful, exported
  Organics:           Plentiful, exported if great demand
  Tilt: 9  Seasons: Minor
  Day:  40 hours
  Year: 7.31 local days, 0.03 Earth years
  Moonlets: 0  Small: 0  Medium: 0  Large: 0
2  0.50 AU  Terrestial  Diameter=6,855 miles  Density=6.2  0.97G
  Planet composition: Iron rich
  Gems/Crystals:      Almost entirely absent
  Rare Minerals:      Scarce, needs to be imported for industry
  Radioactives:       Almost entirely absent
  Heavy Metals:       Ample for local use, no surplus
  Industrial Metals:  Extremely plentiful, exported
  Light Metals:       Extremely plentiful, exported
  Organics:           Almost entirely absent
  Tilt: 18  Seasons: Minor
  Day:  50 hours
  Year: 65.34 local days, 0.37 Earth years
  Moonlets: 0  Small: 0  Medium: 0  Large: 0
  Pressure: Standard
  Atmosphere composition: Reducing (hydrogen, carbon dioxide, methane)
  Liquid water covers 55% of the surface.
  Humidity: 15%
  Climate: Tropical: Low,Average,High Temps = 80,100,120
  Dominant native life: Lower plants: lichens, mosses, fungi
  One hex on map = 479.9 miles
3  0.90 AU  Medium Gas Giant  Diameter=50,677 miles  Density=0.8  0.93G
  Tilt: 9  Seasons: Minor
  Day:  26 hours
  Year: 303.44 local days, 0.90 Earth years
  Moonlets: 10  Small: 12  Medium: 6  Large: 1
  Giant: 0  Small gas giants: 0
  Special feature: Faint ring (like Uranus)
4  3.30 AU  Asteroid Belt
5  12.90 AU  Large Gas Giant  Diameter=85,762 miles  Density=1.2  2.36G
  Tilt: 12  Seasons: Minor
  Day:  12 hours
  Year: 35,676.61 local days, 48.84 Earth years
  Moonlets: 12  Small: 6  Medium: 6  Large: 0
  Giant: 2  Small gas giants: 0
  Special feature: Faint ring (like Uranus)
6  51.30 AU  Terrestial: T/NA  Diameter=8,719 miles  Density=1.6  0.32G
  Planet composition: Silicates
  Gems/Crystals:      Almost entirely absent
  Rare Minerals:      Almost entirely absent
  Radioactives:       Almost entirely absent
  Heavy Metals:       Almost entirely absent
  Industrial Metals:  Almost entirely absent
  Light Metals:       Plentiful, exported if great demand
  Organics:           Almost entirely absent
  Tilt: 9  Seasons: Minor
  Day:  15 hours
  Year: 226,341.92 local days, 387.31 Earth years
  Moonlets: 2  Small: 1  Medium: 0  Large: 0
  Pressure: No atmosphere
7  102.50 AU  Large Gas Giant  Diameter=81,912 miles  Density=1.4  2.63G
  Tilt: 6  Seasons: Minor
  Day:  14 hours
  Year: 684,917.04 local days, 1,093.87 Earth years
  Moonlets: 12  Small: 7  Medium: 4  Large: 0
  Giant: 0  Small gas giants: 0
  Special feature: Intense radiation belt
8  204.90 AU  Medium Gas Giant  Diameter=51,651 miles  Density=2.3  2.72G
  Tilt: 3  Seasons: Minor
  Day:  5 days
  Year: 225,845.74 local days, 3,091.66 Earth years
  Moonlets: 11  Small: 6  Medium: 6  Large: 0
  Giant: 0  Small gas giants: 0
  Special feature: Faint ring (like Uranus)
9  409.70 AU  Large Gas Giant  Diameter=83,534 miles  Density=1.2  2.30G
  Tilt: 18  Seasons: Minor
  Day:  16 hours
  Year: 4,789,158.11 local days, 8,741.33 Earth years
  Moonlets: 16  Small: 10  Medium: 6  Large: 3
  Giant: 0  Small gas giants: 0
  Special feature: Faint ring (like Uranus)

Linux VM and browsing the web with Firefox

Browsing with Firefox and tired of seeing this after you resume a VM:

You might need to update your time:

ntpd -qg

Monday, October 13, 2014

PHP, .NET, and the REST

Recently I began to develop a project at home using PHP. In my work life I typically code in the .NET world. With .NET you can have an integrated stack. Windows, IIS, ASP.Net, WebAPI, TypeScript, Visual Studio IDE, MSSql, and TFS.

The landscape changes a bit with other technologies. You don't really have the Microsoft silo. You can have seemingly infinite combinations of technologies. Operating Systems can range from Windows, Apple, every strain of Linux and other more obscure systems. Web servers you might pick IIS, if you are on windows, or Apache, or Nginx, NodeJs, or any number of other servers. You might code with Perl, PHP, Java... You could use a MySQL, MsSQL, MariaDB, Oracle, MongoDB, Cassandra or any of the plethora of choices. For REST you might be lucky enough to have a language with built in utilities or might have to roll your own. For client script you probably will use JavaScript, but then you've got to think about which frameworks you are going to use: Underscore, JQuery, Angular, Knockout. You probably will need a script manager so you can pick something like RequireJS. Not to put too fine a point on it there is a mind boggling amount of technologies available to accomplish the same goal.

Here is what I went with:

Arch Linux (for development in the wild probably pick something a little different)
Apache (using mod_rewrite to achieve the nice URL effect for a web api /api/version/controller)
PHP (Sometimes you like a challenge)
RequireJS* (is planned not implemented yet)

One of the challenges to implementing REST on PHP I encountered was the lack of PUT and DELETE variable support. For GET and POST the global variables $_GET and $_POST are available, but accessing for PUT and DELETE you need to hand roll the support:

        $_delete = [];
         parse_str(file_get_contents('php://input'), $_delete);

        $_put = [];
         parse_str(file_get_contents('php://input'), $_put);

I've been using the Atom editor from GitHub to do most of the coding.

All in all it has been an enjoyable experience.

I will post more info and a link to the source once I get a little further into the project.

-Carl Burks

Thursday, October 9, 2014

Retro GUI

Ever think about your operating system? Sure, there are several layers, like an onion, but the one most users interact with is the Graphical User Interface. There are diehard shell fanatics, and I count myself as one of them, but today I wanted to mention the first GUI I really used: GEOS
I have fond memories of hooking it up to our color television and using the geoPaint program. It was fascinating at the time. These days we take the simple tasks for granted. Being able to draw, in color, on a computer was absolutely amazing. There were other programs available on GEOS, but I always was drawn to geoPaint. Think about this an entire OS written and usable on a 5 1/4 diskette. If you have a few minutes read the Wikipedia article and then follow up with the link  Take some time and read through the FAQ and see what people were using back in the day.

-Carl Burks

Tuesday, October 7, 2014

Rise of First Class Malware

Several years ago Sony released a "feature" on their CD's known as Extended Copy Protection. Thanks to the vigilance of Mark Russinovich it was revealed as the Sony Root Kit. If you read the Wikipedia article you can get the details and the outcome. It would seem large companies would have learned a lesson from this, but as it seems other companies have also distributed other spyware. Recently Adobe was caught in a similar scandal. Here is a nice E-Reader privacy chart from EFF.  We should kind of expect this sort of thing from Adobe, but Microsoft also got caught with their hands in the cookie jar by releasing a keylogger in the Windows 10 preview. Belkin routers also have been in the news lately for a phone home. Google also was found saving WiFi passwords via Android. Unless you are using open hardware and fully open source which has undergone several independent security audits most likely you are going to be at risk. 

-Carl Burks

Monday, October 6, 2014

Naming things fldsmdfr

Sometimes the hardest part of creating something new is giving it a name. The name of something can greatly contribute to its success. If you have seen "Cloudy with a Chance of Meatballs" you have watched the plight of engineers illustrated in a humorous fashion. For developing software a badly named variable might confuse support developers. A badly named application might not be purchased. A clear concise variable is a jewel.

Now for a few words on vowels.


Example 2:

Which would you like to read?  What are you saving? Are you using a language that has an unreasonable limit on variable names?

Further Reading:

StackOverflow - maximum length:

Wikipedia - naming conventions:

-Carl Burks

Saturday, October 4, 2014

Spreadsheet named ranges

A friend of mine had never seen a named range in a spreadsheet so I thought I would do a little public service announcement. Named ranges are a great feature I like to use in my spreadsheets to make reading and writing formulas easier. Instead of reference a cell by the column letter and the row number a named range lets you assign a name to the cell(s).  You could just have looked them up on Google and found the Wikipedia article:

Google Docs supports this feature:

Apache Open Office supports this feature:

Lotus 1-2-3 which recently IBM ended support for the product, was first for named ranges.

A lesser known spreadsheet program called Excel also supports them.

Thursday, October 2, 2014

Random Facts

If you are a game designer for a complex game which involves pseudo physics and need to know roughly how much Beluga Whale weighs I found a cool website that tells you exactly that:

You can go to the root of the site and read about all sorts of plants and animals. Great for any world designer.

-Carl Burks

Wednesday, October 1, 2014

TNC Baofeng APRS Droid

A while back I ordered a Bluetooth TNC from and it arrived with a 3D printed case I had one problem. I forgot to order the cable, for some reason I thought I had one of the cables that I needed, but as it turns out I didn't after searching the internet I finally found what I thought was the right cable. I ordered it and almost a month later it arrived. The cable was too long and didn't work. I should have just ordered the one from mobilinkd for 9.99 and paid the 9.99 in shipping. Some times it doesn't pay to find a "Bargain".

I had recently rejoined the community of smart phone users after a one year hiatus. I got the APRSDroid app. I had to get a passcode and they got back to me pretty fast. I would have loved to try it out, but the cable was wrong. Its going to probably be a month before I order the right cable get it  shipped. Check back in a month or so for an update.