HNHacker News
TopNewBestAskShowJobs

seandenigris

24 karma · joined August 26, 2011

submissionscomments
seandenigris··on What is Glamorous Toolkit v1.0?
IIRC theming is not yet officially supported but if you search on Discord some users have had reasonable success.
seandenigris··on What is Glamorous Toolkit v1.0?
Yes. That said, it took me a while using it to figure out that one non-obvious key feature here is that “easy” means that they’ve made it cheap enough where one automatically changes their behavior and actually does create ubiquitous custom tools, where in other systems extension is more an afterthought, or at least distinct from “regular programming”
seandenigris··on Glamorous Toolkit: Moldable development environment
Yikes, that sounds frustrating. Did you download one of the binaries from https://gtoolkit.com/download/ ? Also, what OS are you on?

For me, the Mac (both ARM and Intel) binaries have consistently “just worked“ for the past 2+ years

seandenigris··on Glamorous Toolkit: Moldable development environment
Ugh, do I fall into that rabbit hole often! The thing with GT, though, is that the cost of creating visualizations is so low - a few seconds - that it’s rarely a distraction
seandenigris··on Glamorous Toolkit: Moldable development environment
Wow, I love the idea of using GT for reverse engineering. That would’ve been life-changing for my last experience, where I worked mostly in a hex editor. The context switching and slow feedback cycle were brutal. Documenting my growing understanding/implementation with live custom visualizations would’ve been awesome. Unfortunately, that was twenty years before I discovered GT!
seandenigris··on Pharo, not quite Smalltalk, possibly worse than VisualWorks
The writer couldn’t do something in a new system after 10 minutes of searching, so sure it must be “some kind of weird cult” ;-) Seriously though, I hear them about the lack of UI painter. Many of us have been longing for one but as always it’s a case of FOSS and limited resources. The Spec framework does make GUI creation pretty easy, but obviously not as satisfying as a painter. That said, after many years in many languages I haven’t found a system as powerful as Pharo with a community/libraries with critical mass. And GToolkit on top has been a game changer
seandenigris··on Object Browser (2010)
> Dismissing weak arguments is easy. Try imagining what a strong argument for the author's point would look like, and then respond to that.

This is great advice for going beyond the tiny world - limited by bias, habit, etc - in which I (and all people) live! It also is a communication formula guaranteeing better relationships and more civil and productive discussions.

While a bit outdated, hyperbolic, and with the familiar trade offs of c2’s wonderful community editing experiment (e.g. incoherency), there is some real gold there. Just the references (e.g. to Ivan Sutherland) are a passport to a much better alternate universe

seandenigris··on Pharo 8.0
I don't exactly have a playbook. I generally just fix as I go. I try to install the project, fix any errors, run the test, fix the errors, etc. I can say that some version jumps have been almost no work and probably the max time I've spent is an hour to get everything working. It used to be a bit harder, but nowadays Pharo has automatic refactoring for deprecated methods, which helps...
seandenigris··on Pharo 8.0
One click on the "Documentation" tab provides links to several screencasts/tutorials. Are you looking for something specific? "Hello world" doesn't cleanly map to an environment as comprehensive as Pharo because there are so many options. Do you want "hello world" to output to the terminal (Stdio stdout << 'Hello world')? A window? A growl-style popup (UIManager default inform: 'Hello world')? The transcript (Transcript show: 'Hello world')?
seandenigris··on Pharo 8.0
Cool perspective! FYI there are also REST add-ons now (as well as other more minimal frameworks) for when REST is desired.
seandenigris··on Pharo 8.0
Due to Pharo/Smalltalk being not just a language, but a language/libraries/IDE, I think it's important to distinguish between API instability (which IHMO is better called evolution) vs. bugginess. API evolution is a core part of Pharo's mission. I've personally upgraded projects from Pharo 1.x all the way to Pharo 7 and have been very willing to trade a small amount of effort porting for big increases in productivity.
seandenigris··on Pharo: An immersive programming experience
> Is [immersion] being only in the programming environment and not leaving? The dream is never leaving, as expressed by the Dynabook concept. However, in the full expression of that dream, the browser et al that you mention would also be inside the context.

In practice, things like using a browser for documentation is acceptable but not super common because viewing in the IDE is so much more powerful in certain ways (e.g. executable examples, finding "senders" of a message).

The idea is about having one's computer be "turtles all the way down" where you have the same power to change and explore every layer of the system without learning a whole new technology - from what we usually leave to the OS (which Dan Ingalls said "shouldn't exist") to what currently exists in apps (which Alan Kay and the creators of Smalltalk envisioned as services, which didn't stovepipe possibilities/power down to a small fraction of what's available).

seandenigris··on Pharo 4.0 Released
> SmallTalk was designed to BE the computer

Yes! This is why comparing Smalltalk to programming languages misses the whole point. I just wrote a blog post about this: "Programmers: You Probably Don’t Know What a Computer Is" http://seandenigris.com/blog/?p=1092

seandenigris··on Pharo 4.0 Released
Part of the confusion stems from the term "Smalltalk" being overloaded. When most people hear the word, they think "Smalltalk-80" - the version released over 30 years ago. What they probably don't know is that Smalltalk-80 was just one in a series of Smalltalks marching their way closer and closer to the "Dynabook" dream - a live, dynamic, turtles-all-the-way-down environment to provide “support for the creative spirit in everyone”. So Pharo is a modern iteration of the Smalltalk series.

Although it uses Smalltalk-80 syntax (almost), syntax is the least important part of Smalltalk. The real juice is the idea of a computing environment small and beautiful enough for one person to understand entirely - and fun! Toward that end, we feel that Pharo is evolving far enough beyond St-80 that it's more useful to think about it on its own terms.

Unfortunately, ideas that are truly different than the status quo are impossible to describe in a sound bite. Like learning to play a musical instrument, there is no shortcut - extended play is the price one must pay to shift to a more powerful perspective. But I hope this gives you a taste. If you're interested, I go a bit more in depth [on my blog](http://seandenigris.com/blog/?p=1092)

seandenigris··on Pharo 4.0 Released
I forwarded you question to the dev list
seandenigris··on What a Computer Really Is
A hammer is just a long handle with a piece of metal on the end, but if you're not building something valuable with it, who cares?
seandenigris··on Pharo 3.0 (the immersive live environment) Released
2364 issues closed by > 80 contributors in ~ 1 year - WOW! And the website looks great :)
seandenigris··on Why Every Ruby Developer Should Learn Smalltalk
You are asking to force the question into an artificially created box that doesn't help us get to the truth. The Smalltalk experience is naturally - and more fairly - compared to Ruby as an experience.

They are both tools, and thus we're primarily concerned with their utility, not inherent value. One wants to know: how will these tools help me to achieve my goals. The answer is that the turtles-all-the-way-down experience of Smalltalk helps devs achieve those goals more quickly, easily, and joyfully.

p.s. Thanks for pointing out Pry! I didn't know about it and it looks really cool :) As it relates to this conversation though, a more-advanced repl is stone-age technology.

seandenigris··on Pharo 1.4 released
FileSystem, Zinc, or Zodiac alone would have been enough to celebrate! It's amazing what's been accomplished in a short time...
seandenigris··on Why Every Ruby Developer Should Learn Smalltalk
Smalltalk is great (mostly for historic reasons these days)

In my experience coming to Pharo Smalltalk after a 15 year journey through C, C++, VB, PHP, ObjC, and Ruby (my second favorite lang), I can say that none of the reasons I find Smalltalk awesome are historical. This idea that one should "learn Smalltalk to bring those lessons with you to the language you 'really' plan on using" is a silly idea, often repeated.

Most importantly, Smalltalk is an environment, not a language...

The Smalltalk community is full of talented developers doing cutting edge research and serious commercial applications. We use Smalltalk, for example, because its live, open, dynamic environment makes it a joy to use and blows productivity through the roof. Having complete control over the IDE is a dream - as a small example, when I got tired of constantly navigating to my default code directory, I added a default setting to Pharo Smalltalk, in about 5 minutes, so I and every other user could benefit. This kind of enhancement is routine because it's so damn easy! Even in Ruby, it's a hassle to dig through a lib's source files and find the code to edit. In Smalltalk, one can drill down through the UI (from menus, windows, etc.) into the actual code, or set a breakpoint launching a debugger on the running system. What other OS (Squeak/Pharo can run on bare metal) lets you do that, all in the same language?!