Ajax driven HTML 5 radial gauge.


• March 25, 2015 • Leave a Comment

I’ve updated the JavaScript gauge example I created years ago, it takes a value between 0 and 100. This gauge will automatically update using Ajax to pull the values in from a json file so no need to refresh the page or submit form data, just have a script or web programming language update the json data file to update the gauge live.

If you want to create a radial gauge, like a speedometer, but are not sure where to begin this will get you started. It uses the canvas tag and works well in the latest IE. I have not tested it in other browsers but any browser that supports the canvas tag will work, including Safari on iPhone/iPad. My old code works so I have no reason to believe this wouldn’t. I’ve made this as basic as possible so it’s not bogged down in over complication or clutter. I was going to write up a walk through, but there isn’t much to it that can’t be found elsewhere, like information on JQuery Ajax, json, canvas, or HTML 5.

Download the the files, place in your web server directory, change the paths to the json and the JQuery code in the index.html file and point your browser to it. I’ve included a Python script for testing, which will update the values so you can be mesmerized as the needle spins every 30 seconds on a randomly picked value, or not.

If you want it to just update on outside a server, on refresh, page load, or form submit just remove the Ajax call in the document.ready and provide the values yourself. My old code shows how to do this with a form submit and that can be found in the Flash gauges page.

If you need a web server, get this awesome prepackaged and configured Apache server here. If you need Python, get it here. Both are free.

Statusbar example with Swift in XCode 6.2


• February 17, 2015 • Leave a Comment

I’ve created a simple Statusbar application that dynamically creates a menu of Applications in the Utilities folder and opens the Application when the corresponding menu item is clicked. I use simple NSThread for the collection and use image assets for the icon. Not a lot of error handling and could be tweaked for speed, and maybe the thread was over kill, but it should be enough to get most people started. Hope some one finds it useful.

Here’s a link to the full project.

Preview:

Minecraft Utilities


• February 8, 2015 • Leave a Comment

My son has been playing a lot of Minecraft and runs a server so I made him a series of utilities to make life easier. The first few I wrote were in Python and Tk, quick and dirty, but I wanted to learn the Swift programming language so I rewrote one utility in XCode 6 with Swift. What it does is moves worlds from the Minecraft saves folder to the server and updates the server.properties file. It’s just a simple little tool, but it saves him time as he switches between new worlds a lot. If this is something that interests you, you’re welcome to download it and use it. I consider this a public domain application so do with it as you wish. It’s tested on Yosemite.

Download MCServerUtil (MCWorld2Server)

Streamweaver and postscript, oh my…


• February 6, 2015 • Leave a Comment

I was tasked to write some Pitney Bowes Streamweaver code for Adobe ES produced postscript. It has been an interesting adventure as I am new to postscript and Streamweaver. I must side step the politics and get to the meat of it. So, I need to take 30k – give or take – letters with form attachments, etc. and save money. To do this the first step is too duplex. Sure, easy enough. The other savings is to group letters by address by envelope, an envelope holds seven pages. Sounds easy.

Well, the problem I have with proprietary products are the lack of examples, vague documentation, and nothing to reference on the internet. This is great for training and consulting dollars for them, but it is a waste of fucking time and money for everyone else, as you likely already know. This led me to write this in C# out of frustration in order to figure out how their product worked and to understand postscript structure.

So, I got Streamweaver working with very little code, but I also have all this C# code that adds blank pages to odd page counts for duplex reflections, sorts and merges the correspondence by address to fit into a standard envelope, and code that interrogates if the postscript is even correct in the first place! I was getting a lot of bad postscript that wasn’t very visible in Streamweaver.

I decided these might be useful command line tools. I’ll be getting these written, packaged up, and released soon. They will be free, open, and likely under the Apache 2 license. I will write them for Linux (C++ or Perl), Mac (Swift or Objective-C), and Windows (Mono C#). These will work on Adobe standard postscript.

Moon Diary – The witches journal


• June 16, 2014 • Leave a Comment

I created a simple journal application geared towards Wiccan, it can double as a mood journal, and it’s free to use, forever – just made it for the hell of it in Xojo Basic since I got a cheap copy. If you want a secure and simple journal give it a try. All database entries are encrypted.

You can export all posts, create PDF or RTF of entries. It displays the current moon phase, weather, and astrological sign. It will notify you of Sabbats and Esbats as well. It’s only a Mac application though, sorry. Maybe if people like it I’ll make it better, add more features, and make it for Windows and Linux as well. Comment!

Update 2015-02-06, bugs: First launch shows black screen on entry listing. Not sure if this is just isolated to Yosemite or not, but restarting the app fixes this issue. I may rewrite this in Swift when I get time, which should be a bit more stable.

Download for Mac 10.7+ MoonDiary

Quick and dirty way to get Location data on Mac in Xojo


• May 24, 2014 • Leave a Comment

You could make a Xojo plugin in XCode to access the location data, buy a plugin, or maybe use AppleScript but I think this is simple and will work right in the console using Curl as well as within any language that can issue shell commands. Since it’s Curl it should work for Linux as well.

Create a button and add an Event Handler “Action” and paste in the following code. That’s it

  Dim s As New Shell
  Dim cmd As String
  Dim ip As Variant
  Dim city As Variant
  Dim state As Variant
  Dim country As Variant
  Dim zip As Variant
  
  Dim coordsArray(1) As String
  Dim coords As Variant
  Dim latitude As String
  Dim longitude As String
  
  cmd = "curl -s ipinfo.io"
   
  s.Execute(cmd)
  
  If s.ErrorCode=0 Then
    Dim loc as new JSONItem(s.Result)
    
    ip = loc.Lookup("ip", "none")
    city = loc.Lookup("city", "none")
    state = loc.Lookup("region", "none")
    country = loc.Lookup("country", "none")
    zip = loc.Lookup("postal", "none")
    
    coords = loc.Lookup("loc", "")
    If len(coords) > 0 Then
      coordsArray=Split(str(coords),",")
      latitude = coordsArray(0)
      longitude = coordsArray(1)
    End If
    
    MsgBox(ip)
    MsgBox(city)
    MsgBox(state)
    MsgBox(zip)
    MsgBox(country)
    MsgBox(latitude)
    MsgBox(longitude)
    
  Else
    MsgBox("Error " + Str(s.ErrorCode))
  End If

Create a Button with hover effect in Xojo


• May 8, 2014 • Leave a Comment

Drag a Canvas object onto your form from the Library. Click the Canvas object and select the Inspector, top right, and turn off UseFocusRing and for Backdrop select your default image. You can select the hover image as a Backdrop as well as it will add the image to your project and save you time, otherwise drag and drop the hover image into the Project Contents. Rename your Canvas object as btnHover int the Name field in the Inspector – hit the enter key to set the name or it will revert back to the default name, at least on Mac.

Right click the btnHover object and add the following four Event Handlers:

MouseEnter
MouseExit
MouseDown
MouseUp

Click the MouseEnter and add the following code. The image name should appear in your contents, don’t worry about the path or extension.

btnHover.Backdrop=your_hover_image

Do the same for MouseExit, only set as your default image.

Click MouseUp and add the following code:

msgBox("hello")

Done.

I’ll be posting more of these as I am developing a project in Xojo (RealBasic) since I got it for $20 through MacHeist. Pretty easy to work in and the language is Basic so it’s pretty easy too.

Thanks Apple!


• September 13, 2013 • Leave a Comment

Thanks Apple for effectively turning just about every program into a virtual store and/or billboard. At the same time you somehow indirectly managed to reduce the quality of most Mac software. Just about every application that I have tried reminds me of those cheap Chinese toys you get at the dollar store. The AppStore doesn’t need App approvers to protect me from evil, it needs an exterminator to protect me from buggy indie software.

Easiest way to convert a PDF to EPUB for free on a Macintosh?


• August 22, 2013 • Leave a Comment

1. Open the PDF in Preview.app, Edit>Select All, right click selection and Copy.
2. Open Pages.app, Edit>Paste.
3. Do any minor edits.
4. Export as EPUB (You will have other output options as well).
5. For further tweaks get Sigil.

Don’t spend weeks writing code to do this only to find that a complicated PDF is such a pain in the ass to work with that you need to buy a book to help you figure it all out while knowing deep down it will never be perfect anyway! Certainly don’t spend any money to do this shit when simple tools can do it for you.

If you just want a great reader, get Skim

Also see-

GhostScript

Python PDFMiner

iText

MacNote


• January 18, 2013 • Leave a Comment

Are you looking for a simple and quick way to enter notes into the Apple’s Notes.app application from the statusbar? Don’t want the extra features of big note tools or really just like Apple’s built in Notes app? Me too! So I wrote a little utility to allow quick note entry to the Notes.app! Simply select your account, local or otherwise, and you’re all set.

DOWNLOAD MacNote SHA1: 574b36d5ff37cc971159c8445769e4df79804290
Requirements Mac OS X 10.8, might work on 10.7 (Lion)

ScreenShot

MacNote in action