Hacker Newsnew | past | comments | ask | show | jobs | submit | sannysanoff's commentslogin

Fluent in shell, but cultural context is more difficult, especially with pipers, had to do guess work.


I think that's part of the fun :)


while both versions are O(N^2), your version is slower because comparison operation, which affects execution speed. This is suboptimal.

  q)x:1000
  q)\t:1000 sum (til x)=/:(til x)
  889
  q)\t:1000 sum (til x)=/:(til x)
  871
  q)\t:1000 sum (2#x)#1,x#0
  602
  q)\t:1000 sum (2#x)#1,x#0
  599
upd: in ngn/k, situation is opposite ;-o


I still use aider, because often I know better what to do.


shameless plug: https://sannysanoff.github.io/whiteboard/

not only for mac users.


when you do LLM-assisted coding in Kotlin, it burns 2-3 times less tokens than Java!

PROFIT!


You should automate this, like i did. You're an engineer, no? Work around the digital bureaucracy.

- Running build pipelines: make cli tool to initiate them, monitor them and notify you on completion/error (audio). Allows to chain multiple things. Run in background terminal.

- Learning about changed process and people via zoom calls, teams chat and emails: pass logs of chats and emails to LLM with particular focus. Demand zoom calls transcripts published for that purposes (we use meet)

- Raising incident tickets for issues outside of my control: automate this with agent: allow it to access as much as needed, and guide it with short guidance - all doable via claude code + custom MCP

- Submitting forms, attending reviews and chasing approvals - best thing to automate. They want forms? They will have forms. Chasing approvals - fire and forget + queue management, same.

- Reaching out to people for dependencies, following up: LLM as personal assistant is classic job. Code this away.

- Finding and reading up some obscure and conflicting internal wiki page, which is likely to be outdated: index all data and put it into RAG, let agent dig deeper.

Most of the time you spend is on scheduling micro-tasks, switching between them and maintaining unspoken queue of checking various saas frontends. Formalize micro-task management, automate endpoints, and delegate it to your own selfware (ad-hoc tools chain you vibe coded for yourself only, tailored for particular working environment).

I do this all (almost) to automate away non-coding tasks. Life is fun again.

Hope this helps.


Selfware.

https://old.reddit.com/r/ChatGPTCoding/comments/1lusr07/self...

Gonna be lots of posts of selfware like that soon.


I like it, though I'm sure we'll end up being stuck with "vibe ware"


I think you either coined (kudos) or spotted the true "term du jour" here.-


people don't even get it :-]


Got a new Mac, found the Desk View app (pre-installed).

Enjoyed it.

Before, I felt mute during Zoom meetings. Now I can explain things with paper and pen. Mouse drawing was never my thing.

My friends couldn’t do the same—it’s a native app for newer Macs only. They all use different OSes or older hardware.

Spent half a day vibe coding a public version. Enjoy. Free as in beer.

Make sure to enable webcam permissions on the page.

Explanation:

=============

This tool displays a live, perspective-corrected view of your camera pointed at a sheet of paper—like a whiteboard for your meetings. Next, you share that browser tab to your colleagues.

Limitations:

===========

1. On Windows, stop using the camera in your meeting app (e.g., Zoom) to allow browser access. Not needed on Mac; possibly not needed on Linux.

2. You must tilt your laptop lid down ~45° during setup and use.

3. TODO: Allow setting up paper corners falling outside of the camera view.

Usage:

==========

• You can share the browser tab in your meeting.

• If Windows+Zoom => stop camera in zoom

• Ensure webcam feed is visible on this app/page.

• Tilt the lid, aim the camera at your paper.

(One-time setup for your paper type)

• With the lid tilted, press spacebar to hold a snapshot.

• Return the lid to upright position.

• Adjust the trapezoid corners to fit your paper.

• Press spacebar again to release the video.

• Tilt the lid again and place your paper within the trapezoid.

(End setup)

• With the lid tilted, press Enter to enter presentation mode.


I was always amazed that the smalltalk environment looks like a complete computer control - a paradise for a programmer and a hacker, and a creator. It's surprising that it didn't take off. Probably too much openness reflects the internal openness of the smalltalk creator to the world, but the outside world, unfortunately, did not reciprocate. Especially if we pay attention to Apple's success with completely closed devices, suitable only for content consumption.


Smalltalk as platform did take off, that is why the famous GoF book uses Smalltalk and C++, even though many think Java is somehow on a book that predates it for about three years.

All the IBM's Visual Age line of IDEs were written in Smalltalk, and in a way it was the ".NET" of OS/2.

SOM (OS/2 COM) supported it natively, and one biggest difference to COM is that it supports meta-classes and proper inheritance, language agnostic.

What made Smalltalk lose industry mindshare was exactly Java.

When it came out, some major vendors, like IBM, pivoted all the way into Java, leaving Smalltalk behind.

It is no accident that Eclipse was designed by some of the GoF authors, and it is initially a rewrite of Visual Age underlying platform from Smalltalk to Java.

Eclipse even to this day has a Smalltalk like code browser.

It wasn't only the IDEs, some famous Java libraries, like JUnit, started their life as Smalltalk libraries.

Now as full OS, yes that never really took off.

Note not all Smalltalk vendors switched to Java, that is why Dolphin and Cincom Smalltalk are still around.


And as you hint at C# later and honestly it sometimes feels like the Unity game IDE took up the throne of Smalltalk with it's Smalltalk derived language and it's interactive IDE. What do you think?


Not sure about Unity in particular, I would say that is already part of .NET given its linage, don't forget J++ was going to be the main language of what became .NET, had it not been for Sun's lawsuit.

Many of the Unity capabilities are built on top of Mono, and the reference implementation alongside Visual Studio has more capabilities still.

If you mean the game editor experience itself, yes the interactive development ideas are there, but so are they in any game engine reasonable modern worth using.


> the Unity game IDE took up the throne of Smalltalk

No, that would be OpenCroquet, I think.

https://www.theregister.com/2023/03/23/croquet_for_unity/


> not all Smalltalk vendors switched to Java

Cincom only acquired the VisualWorks Smalltalk software after ParcPlace had unsuccessfully rebranded as ObjectShare in response to the emergence of free as in beer Java.


Thanks for the overview.

Yeah, still it is quite surprising, in a positive way, that a few vendors manage to stay in business, despite all the reasons not to.


Lots of things went wrong.

ParcPlace acquired competitor Digitalk and tried to create a Frankenstein hybrid - jigsaw? - that royally screwed things up.

Around the time, the industry was very exercised about a number of features that alledgedly made PP Smalltalk bad:

- non-native widgets (emulated) for windows - who cares now;

- principal deployment as a single process, not natively multi-threaded, using internal virtual threads - which actually scales better;

- must be able to run in the browser like java applets - :-)

- can't get my head round "image" model, must have individual files

This was all FUD. Developing in VisualWorks with Envy (Gemstone) centralised version control was a blissful experience I haven't seen bettered.

But yes, Smalltalk and C++ faced off in industry for a number of years for the crown and then along came Java on the OSS tidal wave that effectively destroyed the business model for VisualWorks that relied on expensive licences.


Ironically the whole way modern IDEs work with virtual filesystems, or the LSP approach, aren't much different than putting an image like layer on top of traditional filesystems.

And still don't have quite a C++ IDE experience that somehow comes close to Visual Age for C++ v4 (from Smalltalk side), or Energize C++ (from Lisp side).


> Lots of things went wrong.

https://wirfs-brock.com/allen/posts/914

> non-native widgets

Digitalk’s Visual Smalltalk and IBM’s VisualAge provided native widgets.


Suitable only for content consumption - only if you define content narrowly as software/apps.


And when you use that narrow definition you have to remember that all those apps were made on Apple devices.

A broader definition of content would include things you read, listen to, or watch and lots of writers, musicians, and film makers do a lot of their work on Apple hardware.

The suitable only for content consumption claim just doesn’t hold up.


Prophets are always beaten by average citizens, because prophecy is always unpleasant. It can't be otherwise. At the same time, you can't tell right away whether a person is really a prophet, because it becomes known much later. That's probably why beating them (the simplest solution) turns out to be the most observed.


> because prophecy is always unpleasant.

Not necessarily. 'Gospel' is translated as good news. The unpleasant news tends towards those within the power structure that the prophet challenges.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: