I wish I did something valuable. Instead I spent most of my time writing kick scripts for #warfactory pretending I was some l33t coder... I still have some of those scripts saved somewhere!
HN user
nogridbag
I have a feeling you're in the minority. I've been using computers for 35+ years and I feel like I still don't understand OK/Apply/Cancel buttons. I still click Apply before clicking OK even if I know it's unnecessary.
Plus, I don't believe Cancel reverts changes the user made if they clicked Apply already. So your suggestion would go against how the UX of OK/Apply/Cancel has historically worked.
Back in the early dial-up era, when teachers were not tech-savvy, I went online and found a paper exactly matching what I was tasked to write about for a homework assignment. And I regrettably submitted it as-is with no changes. I guess I knew it was cheating, but I likely also thought I was being incredibly clever as I had not heard of anyone ever doing that before. However, another student in the class submitted the same exact paper. I received an A and he received a C.
The teacher likely didn't know that he used to be my best friend growing up, and at some point was more knowledgable with computers than me. He introduced me to things like IRC. But he became one of the most popular kids at school and started distancing himself from me.
After getting our papers back, he came over to brag about how he found his paper online and that's how we discovered we submitted the same exact essay. At that point in time, I thought the teacher must have assumed he copied from me. But I think your explanation is likely more plausible. I guess the teacher just skimmed the papers and graded based on our expected grade.
We have a medium sized Quarkus app (~200kLOC) and Quarkus has been fantastic. Startup in JVM mode for our app is around 10 secs. Not blazing fast - but likely much faster than a typical Java enterprise app. I'm sure a few of those secs are spent doing things like pulling authz policies from github or due to having several thousand hibernate entities.
I wish we had a dedicated InstallShield engineer! I had to design and burn my own discs for the desktop apps I built. And for some reason, the LightScribe drive was installed on the receptionist's computer. I have no idea why, but I was a new hire and I didn't question much.
I believe every UI developer that has used frameworks like Swing has reached a point where specific user interfaces, even those that look trivial, become too complex primarily due to things like event handlers. Trying to figure out a simple thing like why a radio box is enabled and is marked dirty may require long debugging sessions where one event handler for component A triggers another event handler for component B, which triggers another event handler, etc. And before you know it, 50 events were triggered just during the initial mounting of the UI. Making sense of it all is maddening.
And then said developer does what they think feels right: "I have my state and I simply want all the fields to reflect my state". So they try and rewrite the component into some sort of mini immediate-mode style component. All of the event handlers get wired up a single "layoutComponent" method that tries to call all the UI component setters based on the current state with all the problems you alluded to. I know I've done this type of things numerous times before going back all the way to my first internship, well before React was even a thing.
I think modern frameworks solve the reactivity issue this well enough, that it really doesn't matter if the underlying framework is not natively reactive. I will say though that I've primarily used Vue.js where most state is relatively local and we don't try to re-render the world on every input. I think part of the problem with modern dev is likely that React has become the default instead of a simpler framework like Vue.
The tire is the black rubber that's mounted to the wheel. Tire shops don't give you a new wheel when you get a flat tire.
This is a timely post. Just last night my 8 y/o asked if she could create a presentation on my laptop like they do at school. I have no idea what software they use at the elementary school.
I've let her play around with Google Docs before. But what I really wanted was something like Creative Writer that is more kid friendly. I used Gemini (sorry) to suggest some software and it suggested "Book Creator" which is intended for schools/teachers. I signed up as a fake teacher and added my kids as students and they did create some really creative books, importing images, and adding their own drawings. But it's still missing that kid-friendly vibe like Creative Writer.
lmao, I was just thinking about this yesterday. My parents would do the same thing and I would try to correct them and explain how they can get better results just typing keywords and not sentences. And here I am in 2026 typing full sentences in Google search so that AI can present me the exact answer directly in the search results.
These letters matter a lot to kids. I sent my video game idea to Nintendo as a little kid and I had the same reaction seeing that envelope from Nintendo in the mailbox addressed to me. I think it was also a bit more special pre-internet as these companies felt a bit more magical and mysterious. You can only read about them through video game magazines and see their names in the credit scenes at the end of the games. Unless you were one of those weird kids that called Nintendo Power helpline of course!
I remember also receiving that weird VHS tape from Nintendo in the mail: https://www.youtube.com/watch?v=rJzIc_c1PvE
I have no idea how I received that, but it was so cool!
I had this same question recently. There's mesh networks like meshcore. But you would be limited to just sending text messages to other users. I would imagine the government would be able to easily identify and destroy such a network as well.
Programming a VCR was pretty trivial for me as a kid, but a bit annoying.
But then VideoGuide [1] was released (available from RadioShack). I begged my parents for that and honestly it was the most amazing product and worked flawlessly. I felt like I was living in the future.
I believe that's always been a thing. A long time ago I read this teardown article [1] of real vs counterfeit Beats headphones. And even the counterfeit versions had metal weight added to make it feel like the real Beats headphones!
I consider myself above average with UI design, but I still got confused with that dang "i" icon in the Preview app just yesterday.
I had to add my signature and write in the date so it looks like it was handwritten. So the plan was to just draw the date with a pencil tool and if that failed use the text tool to write the date.
First I instinctively clicked the pencil icon which turned out to be a highlighter. That's a great example where if they had added color for the tip and line it would have clearly looked like a highlighter. After that failed, I clicked that "i" icon because it looks like it's for inserting text. Honestly I was in such a rush I didn't even see the info pane popping up and was dang confused when nothing was happening.
I'm very familiar with info icons and have used them in my own apps, yet I had never seen one without the circle around it.
Those mini screenshots do not look like anything like what's in the "Screenshots" section:
Are there any plans for supporting other databases? Our company primarily uses and has experience managing MySQL deployments. I evaluated Temporal some time ago as it seemed like a good fit for what we're building so I'm watching this closely. Thanks!
The OP is real time ray tracing which is running between 30-60FPS on my macbook air while moving the camera and objects around.
Your link appears to be a basic ray tracer which anyone who has taken an intro to computer graphics course in college is likely required to implement and would only need a javascript canvas. To be honest I have no idea how much OPs real-time ray tracing differs in complexity from traditional ray tracing.
The update loop occurs as a result of step 3 in which the UI updates itself from the model which then, due to a combination of developer inexperience, UI framework design/complexity, or application complexity, the UI then automatically triggers updates to the model. In my experience, this was a common defect in all applications I've seen that used various MVC style frameworks or home grown MVC architectures.
In a declarative framework, while it is still technically possible, it is very rare. The current app I'm working on is one of the largest front-end apps I've worked on (multiple years of dev). We've had a single infinite loop issue reported that was trivial to fix. We have very junior UI devs compared to teams I've worked on in the past, yet our UI defect rate is incredibly low.
I've used several MVC UI frameworks in the past both on the desktop and web, and they all had the same problems. When the view becomes out of sync with the model, it becomes a nightmare to figure out why that's happening.
You have your model (data), and conceptually, you just want to bind that model to the view. But you have to write all this imperative code to do that. It's very simple with an imperative UI to have infinite loops even with very simple UIs. "When this field changes, I want to update this other field". But that other field has it's own event listeners that trigger other effects. The event listeners work fine in their own silo, but the interactions between fields cause unintended effects that are not obvious reading the code.
When the component is mounted, the behavior is very hard to reason about and you spend lots of time in a debugger tracing through all the event listeners just to reach the initial state of the UI. Additionally, in these frameworks the developer is typically responsible for cleaning up all the event listeners. It's very easy to forget to clean these up properly.
Once a UI reaches a certain complexity, you try to rewrite the imperative code so that it almost reads declarative and you wish you could simply use a declarative UI framework. I can't speak for React as I have not used that in a long time, but in Vue.js I never write the UI to use global state. All state is local to the views that it pertains to and with defineModel introduced back in late 2023, you can write small UI components without all the plumbing required in earlier versions. I've never experienced such a simple and reliable UI framework previously.
I went through the Crafting Interpreters book with modern Java. I posted this on reddit, but I basically used records and sealed interfaces. With modern Java there's no need for visitor pattern.
private void execute(Stmt statement) {
switch (statement) {
case Stmt.Expression expression -> evaluate(expression.expr());
case Stmt.Block block -> executeBlock(block.statements(),
new Environment(environment));
...
public sealed interface Expr permits
Expr.Assign,
Expr.Binary,
Expr.Call,
Expr.Function,
.... more exprs hereHow does Magit handle complex merges? The website shows simple diffs. In my experience, merging is something where a great UI can vastly simplify the process. I personally use SmartGit which I find is fantastic for diffs and resolving conflicts.
accelerate slightly, deactivate cruise, drive as normal.
That was also what I tried doing to try and remedy the problem. The problem is normally when you want to deactivate cruise, it's because there's a slower car in front. And it's a bit unnerving to accelerate towards the slower vehicle (even if ever so subtle) when the goal is to deactivate cruise. I've attempted this about 3 times on the highway and it just didn't feel comfortable so I stopped doing that. I wish there was simply some setting so that after deactivating cruise there was some smoother ramp up to the current regen setting. For example, after deactivating cruise it's max-regen should be similar to ICE vehicle deceleration, then after N milliseconds ramp up to last used regen. That would solve the problem for me.
Not the OP and driving my EV isn't a terrible experience, but I do find I struggle to drive it smoothly.
I have a really hard time using cruise control in my Genesis EV. I usually use one of the regen breaking modes, and when you disable cruise control, the car will automatically start regen braking unless you have you have the throttle at the perfect position which is near impossible. And that's much more noticeable if you use one of the more heavy regen modes.
So I have to follow this pattern: Disable regen, engage cruise, use cruise, disable cruise, enable regen just to use it for a few minutes. And with the Genesis, every time you change between regen modes the car kind of jerks a bit. I've heard this is not really a problem in Teslas. Of course I could simply not use regenerative braking (a major feature of the car) or I can attempt to change my driving habits and not use cruise control as often. For long drives I much prefer my ICE vehicle specifically because of this.
The other thing may be related more to my driving position. The car is heavy and rides harshly over bumps which causes my foot to accidentally push harder on the throttle for < 1 sec. And because it's an EV which has quick acceleration the car occasionally will accelerate fast after I hit a bump. I've driven a ton of ICE sports cars with hard suspensions and never had this problem. Perhaps I'm just getting old and now have bad reflexes!
I see. I think part of the reason why I don't see this (or don't remember it?) is I treat my work computer differently than my home computer. For my work computer, I honestly only restart my Mac maybe once every few months and never install updates. By the time I'm 1-2 OS releases out (usually when the battery starts to fail), my company gives me the latest macbook.
For the people in the office who use Windows they start dropping off randomly during the day as their computer decides to start installing updates during critical times.
I haven't experienced this but I see you're the second comment pointing that out. I've been using macbooks for work for a long time and never once used iCloud nor do I remember seeing a confusing prompt. But I also rarely upgrade my machine.
With Windows, a regular seemingly normal update appeared almost as if I was upgrading from Windows 10 to Windows 11 and it prompted me to do the backup to OneDrive. I accepted it because I was worried the update to Windows 11 would get screwed up. After the update completed it was just a normal update after all and there was no need for me to accept that onedrive backup!
If anyone else was confused, they're referring to the Audio Readers' Briefs. I didn't immediately recognize it as AI. To be honest the voice sounds exactly like my coworker responsible for doing our product video demonstrations.
I skipped through it and heard it pronounce nginx as en-gee-onix and only then did I realize it was fake.
Thanks for sharing Toshi. I've been very interested in Cosmic DE recently and have been playing with it with a Virtual machine. Will definitely try Toshi tonight!
I used to use Windows and using control key for everything was leading me to have severe wrist pain. That ended ~14 years ago when I was forced to use Macbooks for work. The position of the command key and using my stronger thumb for all shortcuts is so vastly superior to stretching my pinky to reach control. It's bizarre the rest of the industry is still stuck with this design. I wish system76 and pop os would be strongly opinionated about this and design their laptops and keyboards to be more mac-like and use something like Toshi as the default. I had a mini rant about this on reddit recently. I still find it bizarre that System76 made the launch keyboard with a different layout for the super key than their laptops.
this happens (using the speedup JS from another post): https://imgur.com/a/uGm4xH2
But I just switched back to that tab and they've become unstuck.
the CEO's husband is a democrat
Perhaps my Google-fu is dying, but isn't this the CEO's husband?
https://ballotpedia.org/Chad_Sweet
Chad Sweet is a Republican political consultant based in Washington, D.C., and co-founder of the Chertoff Group, a business and security consulting firm.
Sweet was the campaign chairman for Ted Cruz's 2016 presidential campaign and worked for the Central Intelligence Agency, several financial institutions, Department of Homeland Security, and the Texas Lyceum. In 2012, Sweet served as finance chairman for Cruz's Senate campaign.
Thanks for your effort. I still have one of those early ARM based Windows machines: HP Envy X2.
While I rarely use it, when I do the instant-on still works pretty flawlessly. That is after running a few hours of Windows updates!
I'm in the same boat as the article. I actually use a Macbook Air these days for coding instead of the usual MBP and the battery life still surprises me.