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

I've been making a modern Slack terminal client (https://github.com/gammons/slk) and it's been a joy to use daily. There are a few things that IMO have unlocked a fantastic TUI experience:

- TUI libraries like Lipgloss and Bubbletea really allow users to build a rich experience nowadays. Really anything from https://charm.land is well-polished and a joy to use.

- Kitty image format works great and allows for Avatars, image previews, etc, which helps immensely make slk feel like a Slack client and not an IRC client.


I really enjoy using Golang to make TUIs and the Charm ecosystem.

> But I think we will swing back to using GUIs

I've been pushing on BubbleTea Kitty and Ghostty quite a bit to hybridize this. The TUI / GUI distinction to me is about task centrism and delivery. There's an appropriate surface and workflow for every task; beyond TUI/GUI sometime it needs to be a VR headset or an immersive room or a literal sandbox.

A demo of this is web-delivery of our BubbleTea TUI examples ('t' toggles between glyph/kitty):

https://nimblemarkets.github.io/ntcharts/demos/heatpicture-p...

The delivery uses our WIP Booba tool, which is Ghostty-based. The CLI tool can be used to remote or embed any TTY program, but was generally built for BubbleTea. https://github.com/NimbleMarkets/go-booba

I've recently made SVG, PDF, SVG, and OpenStreetMap widgets.... https://github.com/NimbleMarkets/ntcharts-svg https://github.com/NimbleMarkets/ntcharts-pdf https://github.com/NimbleMarkets/ntcharts-osm

Right now I'm working on multiple ds4 TUIs using this stack, for example generating SVGs from a prompt and then rendering it in TUI. Another generates CSG object graphs and renders/composites them in terminal. Here's a gist with screenshots:

https://gist.github.com/neomantra/ae47422c8daf7a458212c93992...

The upstream ds4 project is using C for their TUIs. I have done TUIs in C and C++ (and many other languages) and will not go back to that. Really fun engine though and a great place to stick a TUI. I am a Camel furry (https://cameltopia.org) but wouldn't use OCaml to make a TUI either (makes sense for Jane Street of course).


I created a tool that will automatically suck in claude sessions into a separate repo. It sanitizes any sensitive data like API keys. Our team finds this useful to share sessions + context.

https://github.com/gammons/ai-session


I've attempted many times to adopt Hyprland, but I always come back to swaywm. Stability and speed always seem to be an issue. Both hyprland and the plugins (hyprpm, etc) have an alpha-level quality to them.

I have nothing but respect for vaxerski. He's 100% dedicated to the project and is incredibly prolific. But I feel like they need a better release strategy for those who prioritize stability over shiny new thing.


What makes me not want to use Hyprland is that the code has all kind of "YOLO" tells, the kind of ones that make you wonder if something is going to happen some say... for example:

- https://github.com/hyprwm/Hyprland/blob/00da4450db9bab1abfda...

- https://github.com/hyprwm/Hyprland/blob/00da4450db9bab1abfda...

- https://github.com/hyprwm/Hyprland/blob/00da4450db9bab1abfda...


I only need to look at one file[1] (context[2], and it used to be worse[3]) to decide that I don't really want Hyprland, or anything else from that quick-and-dirty culture of software dev, on my system. Encouraging plugins to hook any function or method in a C++ program is insane. I'd be surprised if a Hyprland setup with multiple plugins could ever not be alpha-quality.

[1]: https://github.com/hyprwm/Hyprland/blob/e999ad664da9/src/plu... [2]: https://wiki.hypr.land/Plugins/Development/Advanced/ [3]: https://github.com/hyprwm/Hyprland/blob/a5a648091760/src/plu...


> hook any function

I hoped it wouldn't be what I thought it was... But my god, that [1] in your post. On second thought, it's pretty funny.


We still have to use outdated layout / css techniques because some email clients (cough outlook) only support a limited set of HTML/CSS features, and they seem to have no plans to want to make things easier for those who send html emails.

See https://www.caniemail.com/scoreboard/ and take note of what's at the bottom of that list.


> and they seem to have no plans to want to make things easier for those who send html emails.

We just need so called "Kobold letters" to catch on so that all the inconsistencies become an actual threat. I'm only partially joking.


Interesting to see their test indicating battery life is worse than the Intel 13th gen variant. Notebookcheck's result[1] was vastly different:

> Runtimes are longer than the Intel-based configurations by significant margins due to the lower power consumption levels mentioned above. We're able to browse the web for over 3 hours longer on our AMD model versus the Core i7-1370P model when both are set to Balanced mode and 150 nit brightness.

[1]: https://www.notebookcheck.net/Framework-Laptop-13-5-Ryzen-7-...


There was a note on Reddit that the ports / expansion cards were in the wrong way to maximize power efficiency. USB c in back two, USB a in the front.

Link to official comment https://www.reddit.com/r/framework/comments/16ytxjd/comment/...

Direct to knowledge base https://knowledgebase.frame.work/en_us/expansion-card-functi...


That's an interesting quirk! I thought they were all just USB-C ports internally. Do you know why this matters?


They are all USB-C as far as the physical interface goes, but their protocol capabilities are different: the rear ones are USB4 (actually full TB4 AFAIU, except Intel refuses to certify AMD systems), the front ones are USB3.2+DP and USB3.2. The fundamental reason seems to be that a “mobile CPU” is more of a SoC, including built-in USB capability, and (unlike the Intels) the AMD ones only do two USB4 ports, which on the Framework are routed to the rear.

This, then, is done through USB4-capable retimers, which turned out to draw noticeable power when a USB-A card with a pulldown is connected and idling; but no better retimers could be substituted. The front USB3.2 ports use different retimers and don’t suffer from this. (Why do the Intel motherboards not have this problem? No idea, but if I had to guess, Intel probably makes the retimers for those and is refusing to let them be used with AMD processors.)


That’s pretty cool information.

Also this is the type of stuff where Apple would make sure the end user would not have to worry about it. Charitably, they’d put in the money/effort to make sure all 4 USB ports are the same (notably, all USB ports on a macbook pro can charge at 100W, which is not a trivial task); or uncharitably, they’d just say fuck it and ship a laptop with only 2 USB ports.


> Also this is the type of stuff where Apple would make sure the end user would not have to worry about it

Some of the earlier macbooks with USB-C had overheating problems if the USB-C power cable was connected to any of the ports on the left side.


Not just overheating, but overheating the chips to the level where they put extra performance stress on the kernel for some weird reasons. Basically I was seeing 70% CPU usage plugged in on the left and 20% usage on the right with the same task. MacOS has many issues like that, the "Apple cares more about users/design" idea is a bad meme at this point.


It has been like this for years. Apple does some things well, and there are reasons to like those things, but their following is overzealous to the point of kneeling before what is, fundamentally, still a for-profit corporation.

I feel like business schools have failed this generation of management. They look at Apple and see them do something that customers like, but it has a cost to the company, like giving up the ability to track people. So they conclude that it will be an advantage if they defect and make money from ads.

Then they see Apple do something customers hate and get away with it and the lesson they take is that they can get away with it too. But they can't, because the reason why Apple got away with it was by doing the thing the customers liked. And then they can't understand why they can't achieve Apple's margins.

You idiots, do the opposite. Then you can charge Apple's margins from the first one and take their market share with the second one.


IIRC this is not a reflection on actual CPU use. Those extra CPU usage is more like throttling. I don't remember where I read this though, worth searching about this if you're interested.


I mean, yes, Apple (even before they get to making their own silicon) can slam a wad of cash on the table and say “make us a better retimer or else” or perhaps even “make us a better SoC or else”. Not a lot of other laptop manufacturers can. (Now that I’m looking, it seems that Intel and Kandou are basically it when it comes to USB4 retimers, and the Kandou ones—whose deficiencies we’re discussing here—only recently arrived on the market.)

That said, I believe all Frameworks will accept 100W down any of the four ports, even if the batteries are only designed to charge at 55 or 61W[1] and the rest will have to be consumed by the rest of the system somehow.

[1] https://community.frame.work/t/how-fast-can-the-battery-be-c...


> and the rest will have to be consumed by the rest of the system somehow

The wattage figures on a charger are the maximum it can provide. The connected device only draws what it needs.


Of course. I just wanted to be clear that Framework laptops have 100W-rated power circuitry that works through any of the four ports, yet it would not be entirely correct to say that they “charge at 100W”: the batteries charge at 1C, that is capacity/1h; any power over that only counts towards powering the running system.


Updated parent comment with links. The back 2 are USB 4 while the front are usb 3.2 is one thing.

Last I read, the USB a cards don't fully enter suspend in the os. I have an 11th gen and I pop out my USB a to save battery when I don't need it. The hdmi also used to have that problem but that's since been fixed.


I wonder what magic gets them more than 12 hours out of a 61Wh battery when the average idle power usage is already 6.5w.


DigitalOcean | Site Reliability Engineer | Remote in US, UK, Germany, Netherlands, Canada | Full-time

DigitalOcean is a dynamic, high-growth technology company that serves a robust and passionate community of developers around the world. Our mission is to simplify cloud computing for every developer. We are working on solving some of the most challenging and interesting technology projects around, on a scale unmatched by most.

We are looking for an experienced Site Reliability Engineer to work closely with our product engineering and infrastructure teams. The Site Reliability Engineer will be performing a mix of hands-on development, coaching, and collaborating with other teams and stakeholders to help bring DigitalOcean’s engineering systems and culture up to the next level.

More details, requirements, and application link: https://www.digitalocean.com/careers/position/apply/?gh_jid=...


I was a huge Notion fan. However, the long sync times were driving me nuts. I have since moved to inkdrop (https://www.inkdrop.app/) because it's much better for my use case:

* I can write Markdown notes. I've only wanted to write markdown notes.

* The syncing is incredibly fast because it's using an existing technology purpose-built for syncing (CouchDB)

* I can bring my own CouchDB and not have my data locked in

* Has a mobile app that works well

* There is a "vim mode" and that makes me happy.


The big attractor to Notion for me is the All-in-on workspace idea. It's a table-database, it's a wiki, it's a kanban board, it's a team calendar, it's a project gallery, it's a blog.

Tables can have wiki notes, which can have tables. The recursive nature works very well for organizing your knowledgebase and having an entire org work together.

The things I hate about notion.

1) pressing / anywhere opens the menu. So annoying.

2) It's live collaboration on code is awful. We end up using codesandbox and then copy-pasting back.

3) It looses and new edits every now and then. Their sync needs work.

4) No way to proper version control documents and have a pull-request/suggestion like model for editing authoritative docs.

The other player in the same market is https://coda.io. They go quite a bit further than notion in terms of formulas and reference tables.

With both Coda and Notion, I feel I seldom have to use google docs.


> It's a table-database, it's a wiki, it's a kanban board, it's a team calendar, it's a project gallery, it's a blog.

So what does it do that something like gitlab or phabricator cannot do ?

And if you are willing to consider different products for different things then you have dokuwiki/xwiki/wikijs/bookstack for wiki and multiple popular project management tools like kanboard/focalboard.


> So what does it do that something like gitlab or phabricator cannot do ?

Gitlab is great. Their wiki is absolute shit.

Notion just has a mostly really great user experience for writing notes, adding some tables or screenshots, moving them around, etc.


Does it support teams like Notion?


Related, there is also the Olschool PC font Resource which is a fun site to visit:

https://int10h.org/oldschool-pc-fonts/


I've been using ultralist (https://ultralist.io) and love it. It's open source + command-line based.


Throwing my failed side project into the ring as well - Ultralist[1][2] is very similar to todo.txt but has a bigger focus on Due dates. I use it every day.

The CLI portion is fully baked and works great, but the webapp and syncing part never really gained traction.

[1]: https://ultralist.io/

[2]: https://github.com/ultralist/ultralist


This looks really cool, might have to start using it!


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

Search: