5 ms·
Shoes – An easy little GUI toolkit for Ruby
- ng-user 8y agoI've heard the joke hundreds of times but I honestly think naming things is (one of) the most challenging parts of building anything software related.
- WrtCdEvrydy 8y agoThere are four hard things in software development: naming things, caching, and off-by one errors.
- lostapathy 8y agoThat's only two things?
- deleted 8y ago[deleted]
- joombaga 8y agoMmhmm. Now you see why naming things is so hard.
- compsciphd 8y agofor us that are unaware, what's the joke? Only thing I can imagine is a wizard of oz reference to ruby slippers.
- deleted 8y ago[deleted]
- jcheng 8y agoWrtCdEvrydy alluded to it, but the original is: There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton https://martinfowler.com/bliki/TwoHardThings.html https://martinfowler.com/bliki/TwoHardThings.html
- kej 8y agoThe joke isn't specific to this project, it's a reference to the semi-famous quote "There are only two hard things in Computer Science: cache invalidation and naming things." More info: https://www.martinfowler.com/bliki/TwoHardThings.html https://www.martinfowler.com/bliki/TwoHardThings.html
- matte_black 8y agoAgreed, I’d much rather deal with cache invalidation than the constant struggle of having to come up with sensible names for things and breaking my flow.
- GuiA 8y agoShoes was started by why_, who also wrote A Poignant Guide to Ruby. Highly recommended.
- jerrycruncher 8y agoIndeed. He did a small run of zines, that acted as a sort of printed manual, to celebrate the release of Shoes and I was lucky enough to get one. It's almost certainly my favorite piece of computing ephemera. Here's to you, _why - wherever you are.
- yebyen 8y agoThe programming manual with a soundtrack! And an onion somehow packaged neatly inside. https://poignant.guide https://poignant.guide > Pretend that you’ve opened this book (although you probably have opened this book), just to find a huge onion right in the middle crease of the book. (The manufacturer of the book has included the onion at my request.) So you’re like, “Wow, this book comes with an onion!” (Even if you don’t particularly like onions, I’m sure you can appreciate the logistics of shipping any sort of produce discreetly inside of an alleged programming manual.)
- mwexler 8y agoLooks cool, esp for beginners. Any suggestions for a similar toolkit at a similar level of ease for beginning/junior python devs?
- favorited 8y agoA coworker is writing his first Python app (and first GUI app) using Tkinter. He picked it because it was the most convenient to set up, but has written a nice little frontend for a SQL database he was building.
- vlucas 8y agoFrom the 'About' page: > Shoes 4 is a total re-write of Shoes. It's being done in JRuby with best practices. It re-implements the original Shoes 3 definition of Shoes in a pure Ruby friendly way whereas Shoes 3.x is more difficult for Rubyists to modify since it has C and Objective-C components and a build process that is less than easy to understand. Shoes 3.2 also has hardware costs and web hosting costs which makes if difficult for many developers to duplicate.
- mhd 8y agoI miss those more explorative GUIs. Shoes, Tk and Rebol had their issues, but they're pretty great at throwing together a few buttons and paint some stuff. For all its power, I don't get the feeling from contemporary web stuff.
- akavel 8y agoI got very positively surprised by Elm when trying it over last weeks. I mean for building web app GUIs.
- rubyn00bie 8y agoAnyone know how performant (this version of) Shoes is? I'm guessing with the port to Java it's just as performant as any JVM based application can be? Additionally, has anyone used it for more complex applications or UIs? I'm just curious how easy it is to customize. Could be a nice alternative to Electron as I prefer Ruby to JS and Rust doesn't seem to have great UI support yet (from what I can tell, which is admittedly not much).
- yebyen 8y ago> just as performant as any JVM based application can be? I know this is not meant to be a leading statement or a subtle dig, but it's left open enough for interpretation that I think it's probably why you got downvoted. If you want to get performance out of your Ruby application and it needs to be multi-threaded, I think you usually switch to jruby. I've never had to do that, this is just what I've heard... how I personally read your statement is basically the opposite, as in "JVM is dragging you down, man" - whether that interpretation is warranted or not is left as an exercise for the reader I am really not a fan of drive-by downvoters, by the way...
- mrkstu 8y agoSo, looking at the screenshot, the GUI and language seem very HyperCard like- on purpose I assume?
- yebyen 8y agoHave you read "Nobody Knows Shoes" ? I consider this the canonical source on how Shoes is supposed to work and what it should look like. It's supposed to look like writing HTML, if your HTML writing was done in a builder syntax on a domain language in Ruby blocks. (But that's gibberish compared to the explanations found in NKS guide to Shoes.) Edit: the book link https://news.ycombinator.com/item?id=17105068 https://news.ycombinator.com/item?id=17105068
- Arubis 8y agoPerhaps this is nostalgia for times irretreviably past, but if someone were to start building toolkits and projects in almost _any_ language with the love and care and quirkiness that _why brought to the table, I'd almost certainly be writing that language as my primary within a year. I miss you, _why.
- supermatt 8y agoI got into ruby because of _why. I wouldn’t be where I am without that. I’ve found a similar feeling in the javascript community. There’s a few characters who have changed the way we even recognise the language these days. It’s not quite _why’s beautifully artistic approach, but it has been genuinely exciting working with JavaScript in the last decade.
- andrei_says_ 8y agoCould you share some of your favorite writings?
- jxub 8y agoFrom looking at his profile picture on wikipedia I suspect that he doubles as a popular Hollywood actor that goes by the name of Jack Black: https://en.m.wikipedia.org/wiki/Why_the_lucky_stiff https://en.m.wikipedia.org/wiki/Why_the_lucky_stiff
- oliyoung 8y ago_why was a huge, huge part of my learning Ruby, when he left it left a huge hole in the community
- drudru11 8y agoI miss _why and the earlier ruby days
- slx26 8y agoI learned shoes some time ago for a project I wanted to test, and dropped it because it didn't suit my needs, but... reading "Nobody Knows Shoes" was extremely fun. The kind of fun that makes you want to keep coding random projects and messing with technology in general, that feeds your curiosity. And that's when you learn the most. It can't be said enough.
- Boulth 8y agoIs this book available somewhere? I tried this repo https://github.com/shoes/shoes-deprecated/downloads https://github.com/shoes/shoes-deprecated/downloads but github returns only 404.
- yebyen 8y agoYes http://shoesrb.com/manual/Shoes.html http://shoesrb.com/manual/Shoes.html Nobody Knows Shoes link, follow the redirect, then second link from the bottom https://github.com/downloads/shoes/shoes-deprecated/nks.pdf https://github.com/downloads/shoes/shoes-deprecated/nks.pdf
- miloignis 8y agoIt's showing file not found for me now.
- yebyen 8y agoCrap you're right, I don't know why GitHub would present a link and the content is missing... I'm sure I have a copy but this should be the source. I'm actually on the Shoes maintainer list, so if nobody knows why, I know who to ask at the least... This link got me there https://www.google.com/url?sa=t&source=web&rct=j&url=http://evc-cit.info/cit020/nks.pdf&ved=2ahUKEwiv-YnEqpDbAhUi6oMKHfYHAS0QFjAAegQICBAB&usg=AOvVaw0voxAUBGHt9WM6IirYV8_B https://www.google.com/url?sa=t&source=web&rct=j&url=http://... http://evc-cit.info/cit020/nks.pdf http://evc-cit.info/cit020/nks.pdf
- coleifer 8y agoI love everything about this. When I started programming I had zero interest in boring cli programs. I wanted buttons and stuff. _why is one of a kind and missed.
- relyks 8y agoFor those of you who don't need the newer features of Shoes 4, there's the "green shoes" [1] version of the project, which only needs GTK and doesn't need Java. You just need to do "gem install green_shoes" and "require 'green_shoes'" and you're good to go. I've used green shoes for a bunch of simple utilities :) [1]: http://ashbb.github.io/green_shoes/ http://ashbb.github.io/green_shoes/
- macrael 8y agoAnything similar to this in python? My brother is a new programmer working on a python project and wants to be building a UI and I don't really want to point him to the cocoa scripting bridge as the solution.
- m45t3r 8y agoTkinter probably has a similar philosophy, and it is built-in in Python stdblib.
- 52-6F-62 8y agoYou bet! Maybe not web-like, but: https://www.wxpython.org/ https://www.wxpython.org/ https://blog.qt.io/blog/2018/05/04/hello-qt-for-python/ https://blog.qt.io/blog/2018/05/04/hello-qt-for-python/ I have very little experience with both outside of tinkering, but they will probably be gratifying and practical enough to build something that works to encourage him further.