Category Archives: Shoes

3.3.4 beta – systray and

I’ve got a set of betas for 3.3.4 for windows, osx, pi and x86_64 linux. Here

You might notice that there is no 32 bit linux – why bother? It’s pain to support and nobody uses it. OSX Mavericks (10.9) is also likely to disowned in Shoes 3.3.4. It’s a real pain in the ass. That will not happen soon. But, it will happen.

What’s in Shoes 3.3.4 beta this month?

  • Systray
  • Typheous
  • A hack to get https urls working for Windows and OSX image and download methods.
  • Windows GUI speed improvements in general, most certainly for network things. Still too slow but a whole lot better that 3.3.3. Moves the meter from ‘really sucks’ to ‘almost doesn’t suck’

It’s highly likely that Typheous will be the recommended replacement for the use of net/http and open_uri when Shoes download is insufficient for networking needs. It’s a lot more understandable to programmers who need more than what Shoes download can do. See the README.md. Improvement? I think so.

The download performance and general friskiness of 3.3.4 on Windows is noteworthy. Sucks less and I think we could do better. There are SSL reasons and ruby-bugs why you don’t want to dig into net/http and open-uri

Quick look Shoes 3.3.4 – systray

Shoes 3.3.4 will probably have a systray pseudo widget. Beta for Windows for feedback. You can read the manual which has this test program

Shoes.app do
stack do
para "Press button and look in your systems notification area"
ctr = 0;
button "Notify" do
ctr += 1
icp = ''
if ctr % 3 != 0
icp = "#{DIR}/static/shoes-icon.png"
else
icp = "#{DIR}/static/shoes-icon-red.png"
end
systray title: "Notify Test", message: "message ##{ctr}", icon: icp
end
end
end

Please comment here.

Closing in on 3.3.3

There are Shoes 3.3.3 beta’s to download from and the Change Log is here.

What you don’t know, behind the scenes. It was a lot of work from core contributers and myself. And then some core panties got twisted too tight to work together and now it’s just me working on the C side of Shoes. I miss them. I’ll work through their bugs reports and suggestions as best I can because they are good things to do.

Cleanup can be endless

After @backorder moved the Shoes C code into a more logical configuration and I changed the rakefile mess to leverage that – It’s quite developer friendly now if you are of the C persuasion. Most Shoes folk will never see those changes and that’s OK with me. It was something that just needed to be done.

Turns out there is another task that ‘just needs to be done’ – cleaning up my computers by removing all the useless junk I have gathered over many years. Some junk was shoes related and some were just grand ideas I got involed with Shoes. I have a soft spot in my heart for the Raspberri Pi so I ordered an SSD and that board didn’t work, I ordered some more parts to make the ssd work in the main box because good money needs more good money and and then some more parts and then some head scratching on making all these Chinese adapters work and I was pushing GB’s of data around which is kind of slow.

I’m not done yet but I can see the light at end of the tunnel. It just needed to be done.

Is Shoes weird?

More than you know! I get annoyed too, just like you do. Thinking about changing languages? I do. At a very recent Linux conference was this gem of a presentation about quirks in various languages. It’s about javascript behavior but she beats up all the popular kids along the way so that’s fun. 40 minutes of light hearted humor will be good for all of us. Recommended.

Free At Last! Shoes 3.3.2 has been released.

Yes, it took forever and it’s not perfect but we could wait forever for perfection. Shoes 3.3.2 has some fun new features and some bug fixes. Available via at the usual place.

    New with 3.3.2

  • Ruby is updated to 2.2.6 (windows still uses 2.2.4)
  • gems is updated to 2.6.8
  • Profiler with both a GUI and the more traditional text report.
    Written in Shoes and Ruby so you can modify it if you like.
    issue 232
    Wiki – how to use
  • Shoes.show_console is now Shoes.terminal with many options for size, and
    colors. It can handle some common escape sequences (colors and bolding)
    On Windows:
    Use Msys> cshoes.exe
    or install one of those ANSI dll things for your DOS era console.
    Rumor: Win 10 does support ansi escape sequences on it’s console.
    Sometimes Win7 does ok with some escape sequence.
    On OSX – scrollbars might not show up. page up/down keys and home/end
    and scroll wheel do work.
    Useful for running unit tests of Shoes and other terminal stuff like the
    profiler text report.
    Note: raspbian may have font issues for ‘monospace’ font.
    issue 236
    issue 256
  • exit should no longer be used. Please use Shoes.quit
    issue 263
  • plot widget (line,bar,scatter, pie charts and radar/spider)
    issue 288
    issue 264
    Wiki – how to use
    expect some confusion and bugs.
  • rename method ‘refresh_slot’ to ‘refresh’ before too many people
    use the old name. This could break some scripts.
    Fixed with 3.3.2

  • Radio buttons fix
    issue 274
  • A new launch script for OSX (cshoes) that works like Linux and Windows
    from the command line. Use Cobbler to create your osx cshoes script.
  • Windows: bug261 – fix font loading
    issue 261
  • debugging with byebug is much better.
    issue 263
    Wiki – how to use
  • fixed: click and release methods return the documented button. top, left
    values. Button numbers start with left button = 1 and increases from there.
    How many buttons and how they are numbered is not something Shoes can know
    about so it’s the user responsibility to be cross platform with buttons > 1.
    issue 240

State of the Shoes Address

You may have noticed that it’s been a while since Shoes 3.3.1 was released and 3.3.2 keeps getting pushed into the future. What’s going on?

Well, some of the new features are very difficult to write and time consuming to test. We’ve discovered some very difficult issues with packaging for Windows 10 and so far, there is no way to get around what Microsoft wants and what I’m willing to do to Shoes, or what your willing to do. It’s called “code signing” which requires the annual purchase of a certificate (and the price can be very high with some certificate authorities). I won’t pay for that and I don’t think you should either.

The ground shifted and all we can do is adapt. Don’t package your scripts in an exe! Just tell your Windows users to install Shoes first. Then run the .shy you created.

Ruby also shifts under our feet. As Ruby evolves, they change things. Some of those changes will involve a lot of work for the Shoes C code in the future. I just found another problem with Ruby 2.2.6 (can’t cross compile the fiddle gem for Windows) – that will slow down building and testing even more if it can’t be resolved. I also found a new dependency problem last night for Windows but that should not be too difficult.

And then there are the Shiny Things that may not work, but consume lots of time to discover if it’s a failure or a brilliant idea. Like ebook

Yetta Another Beta

This one might cause some problems because it fixes a problem where the code didn’t do what the documentation said for some click and release events. The docs say to deliver |btn, left, top| to the proc. They didn’t. From what I can tell, they never did.

We also accept/present more button numbers instead of is always “1”. Button numbers start at one and increase from there in some pattern only you and your mouse device know. Cross platform? No! Your problem to sort out if the wheel click on OSX is a different number on Linux. Most people will stick with not caring which button. Now you have options.

If you’ve worked around the lack of |btn,l,t| on click and release then you may want to test your scripts with this beta. In this case, the documentation says the right thing and the code was incorrect. Long time wrong. See here

The beta also include the latest, almost nearly OK, plot widget.

Shiny things!

I thought Shoes should have a plot widget and I happened to have some ancient 1989 Java code (still works) that I could re-purpose into a C/Cairo based ‘plot’ widget for Shoes. Shiny! New! Fun! Might as well fix some know problems with that old code. So I did that It wasn’t the easiest thing in to do in Shoes but not the hardest either. There are many sharp edges to make round so it might not be in Shoes 3.3.2 – currently it’s issue 264.

It’s never going to be gnuplot replacement. If you need that level of control, you’re already using gnuplot or matlab. This would only be a gateway into the world of visualization).

Toy Data:
Toy Data

Real data:
SPX-1993

I like it and there is the possibility to add to the graph in real time with new data or add new data series to plot,

It’s also a long road to release quality. I did mention the edge case problems, Yes, I did.

Breakage Ahead

Shoes 3.3.2 may not redefine Ruby exit and quit like it used to. Instead your scripts should use Shoes.quit. That should work on on Shoes 3.3.1 (and perhaps earlier). I might be the only person that calls exit or quit on a button press.

The window decorator icons and the osx global menu work as before. Avoid the panic and change your calls to Ruby quit and exit to Shoes.quit. Assuming you have any. Of course, you’ll try it and report bugs if it doesn’t work. Right? Please.