Thursday, July 27, 2017

Old Tech: Powerbook 520C

So I found this amazing piece of technology and decided to see if it still worked... and it did! It's from 1994, which means I was four years old when someone bought this. The battery has long since swollen, but the rest appears to be in great condition. Although, there is some fading on the bottom left corner.

Check it out, there's a floppy drive! I knew I kept my floppy disks around for a reason.

I can identify a SCSI, headphone, and microphone port, I assume the one left to the SCSI is some kind of a display port, but this is something I think I need a manual for.

A nice swollen battery.

Some stickers for accessibility I assume. Regardless, this thing looks cool.

So you remember when the Apple logo was a rainbow? I do. I was a little kid at the time and disliked those computers being called Macintosh because I don't like mcintosh apples. I prefer golden delicious or honey crisp.

And here is video proof it works! Enjoy the background talk. I wanted to include all the wonderful noises and clicks from the good old days.

I hope someone enjoys this. I did, seeing stuff almost as old as I am in action is interesting to me.

Saturday, July 22, 2017

Tic-Tac-Toe Haskell with Rule-Based AI

So recently I wanted to get back into programming, so I decided to dive in head first with Haskell, as it is one of my favorite languages. The aesthetic of the code with the style works great for me most of the time. After about four projects, I ran out of ideas. There was the obvious "Hello, world!", fibonacci sequence, quick sort, and a binary tree search. While these seemed great, they had no real immediate practical use for me to interact with. So I decided I should make a game. But what game would have seemingly simple enough rules to make a computer based player? Well, my two choices are Blackjack and Tic-Tac-Toe. Now Blackjack is super simple when it comes to a computer looking in, just statistics and seeing who's got the better hand. So Tic-Tac-Toe was the winner.

Now when a game of Tic-Tac-Toe is played perfectly, it's always a draw. Not necessarily fun for people to play, however it's good to know that if I get it perfectly that there is an expected outcome. With that in mind, I set out on my journey and created this monstrosity.

I chose to do rule based analysis simply because I wanted to break down the logic that way. Other methods I read about used minmax, which uses heuristics. My concern was if I mapped out every possibility as a means to the end, it's just simply path finding. I may try to adapt the rules to something a bit closer to real AI at some point in the future.

The way the rule based decisions work are as follows:
  1. Check for a move that it can win
  2. Check for any opponent wins to block
  3. If the center is available, take it
  4. If the center is taken, use the edges, otherwise use the corners
Now if we were to swap the roles, the rule for three and four would probably be different. I just haven't taken the time to work that out because it seemed like more effort than I wanted to do right now. For now, this is it.

Thursday, July 6, 2017

ChocolateyGUI Invalid Path with OneGet

So recently while browsing around some stuff about about Windows 10, I found out about OneGet. This is a package manager manager in Powershell. I think this could be super useful. So one of the package managers I added was Chocolatey. I also wanted to install the GUI for I figure it may be easier to browse packages that way. Upon installation and execution, I got met with a huge error screen along the lines of:

System.IO.InvalidDataException: invalid Chocolatey Path. Check that chocolateyInstall is correct in the app.config

So on and so fourth. After reading through the git page on this error and taking some time to consider the confusion around "how did you install chocolatey?" I realized that specifically it's not actually installed when you just add it to OneGet. So here's the fix. After you add chocolatey, you need to INSTALL it. Just like this:

Install-Package chocolatey

After that, it should run without a hitch. Hope this helps someone out there. Package managers are great, aren't they?

Tag Cloud

.NET (1) A+ (1) addon (6) Android (3) anonymous functions (5) application (9) arduino (1) artificial intelligence (2) bash (3) c (7) camera (1) certifications (1) cobol (1) comptia (2) computing (2) css (2) customize (15) encryption (2) error (15) exploit (13) ftp (2) gadget (2) games (2) Gtk (1) GUI (5) hardware (6) haskell (15) help (5) HTML (4) irc (1) java (5) javascript (20) Linux (18) Mac (4) malware (1) math (8) network (5) objects (2) OCaml (1) perl (4) php (8) plugin (6) programming (42) python (24) radio (1) regex (3) security (21) sound (1) speakers (1) ssh (1) telnet (1) tools (11) troubleshooting (1) Ubuntu (3) Unix (4) virtualization (1) web design (14) Windows (6) wx (2)