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

Spam musubi is so good, the author should try making some :)


I loved having spam with kimchi stew too. Growing up, I didn't even realize spam was a brand.


Pilot Juice's have gotten me through my later highschool years and my entire undergrad. Highly recommend those. The uniball signo's listed in the article are also quite nice!

https://www.jetpens.com/Pilot-Juice-Gel-Pen-0.38-mm-Black/pd...


Happy New Years! I have visiting here regularly since August and it has been great :)


I had tried getting into a vim about a year and a half ago, I used chris@machines LunarVim and I think that about after about a month I quit. I struggled with learning vim motions and how to configure it. Granted, I may like it more now that I know more. But, this video got me to try neovim again and I have not switched off for a few months now. I daily drive now and it is thanks to this video. The configuration is simple to understand and a lot easier to come to grips with. The video is a little outdated in that some parts don't match with how the configuration is set up now, but it was easy to figure out how to work with it (sorry my memory isn't great on what issues I ran into, skimming through the video it seems like Packer->Lazy is one).


> The video is a little outdated in that some parts don't match with how the configuration is set up now

This is exactly my problem any time I try and get in to Vim/Emacs/NeoVim, even when trying some pre built config like Doom Emacs, LunarVim etc. Everybody has some bespoke setup so following along from a tutorial is a fucking nightmare because inevitably something will be out of date, or they'll be using a different package for say the file browser that makes it incompatible with the one you're using that you picked up from the previous tutorial. Or they'll be using a different package manager entirely, of which a new one seems to come out every year. Or you're fucking around trying to get LSP to work again because something has broke it. Or you'll try installing some kind of manager to let you switch between the different premade versions such as Doom Emacs and SpaceMacs and that won't work properly because Doom has been updated since it was written etc. It's just a never ending torrent of pain. It's the editor equivalent of the JavaScript ecosystem where there's some new shiny half baked bullshit every week. It's so much easier to just use VSCode or Jetbrains and have a consistent and reliable experience every time.


I think that's why kickstart is good to start out with, despite the video being a little outdated it was still easy to reason with. I haven't run into those issues describe but it's probably because I'm still newer to the ecosystem.


I've been an avid Vim/Neovim user for several years now, but I've never been able to really get into some of those pre-made configurations like LunarVim. I personally only like to add plugins for things I have identified as lacking, but I can see why a pre-made solution would be nice. However, last I looked I found the documentation rather lacking. Even getting a list of what plugins they add, or a general sense of the keybindings they've changed was difficult, not to mention the difficulty if someone was learning Vim for the first time on top of that.


I didn't enjoy lunarvim at all and actually quit nvim several times and was beginning to like doomemacs until I gave Astro a try. Instantly got hooked.


That and the consistency of the rice cooker. I try not to buy one use kitchen utilities as a frequent home cook. But I’d be hard pressed to ever give up my rice cooker


A rice cooker may be needed for cooking large quantities of rice, but perfect consistency and no effort is achieved by cooking the rice in a microwave oven, which needs only 10 to 15 minutes, depending on the oven and on the amount of rice.


I think these types of rice cookers are so expensive as they use induction. Honestly I don’t know how much better it is but supposingly it allows for more accurate heating, allowing for more accurate cooking


I would imagine the reliability would be higher. A resistive heating element could degrade and eventually develop a fault, but an inductive circuit decouples the electrical circuit from the heating element. A fault or an impurity in the heating material wouldn’t prevent the inductive field from exciting the surrounding conductor particles.


I was thinking about applying but after some research it seemed a bit shady. Former cofounder stole 3.6 billion in BTC https://news.ycombinator.com/item?id=30261118


I assure you that he has had nothing to do with the company in a long time, since before any of those newsworthy events took place. I'm the only person at the company that's ever spoken with him, and if you got to know me you'd understand that I'm at 0 risk of being involved in anything shady like that. I don't blame you for bringing it up, that news is still so shocking to me that I can't believe it's real.


I am not very familiar with this kind of stuff either but I have read through "Beej's Guide to Network Programming" https://beej.us/guide/bgnet/html/split/. Which seems like enough to implement something like OP posted.

As for db's/other interesting things, I haven't read them myself but this site seems solid https://build-your-own.org/. If anyone has any real experience with this site, I would love to hear it!


How do you guys get ideas for “useless” software? I’d like to do some more personal projects but I always get stuck at what I want to even do


Concurrency can be done on a singular thread


My understanding is that single-thread concurrency is essentially what Javascript does. It basically flickers between tasks very rapidly to simulate concurrency. Does that match your understanding or am I incorrect?


I don't think that "flickers between tasks very rapidly to simulate concurrency" is a good mental model for event loops. It's more like "runs one task at a time until it hits a suspension point," where a suspension point is something like an I/O operation. If you had an event loop that switched tasks between suspension points, then you'd still need locks for shared data.


It doesn’t simulate, and the “flicker” is named “event loop”, but otherwise you’ve got it right. The concurrency model is essentially cooperative, ie pending tasks wait for the current task on the event loop to unblock, and then they are each executed in turn (with several different scheduling priorities based on how they became pending, eg synchronous event callbacks, Promises, various timers).


> It basically flickers between tasks very rapidly to simulate concurrency.

That’s usually used a description of preemptive multitasking, like what you get running a modern OS on a single core (on multiple cores it’s also this but on each core). Every once in a small while, the current task is made to inhale chloroform, another task is chosen to wake and takes its place. Pro: you can’t hang any given task from a single thread; con: shared memory is very difficult to impossible, as you never know when you’ll be interrupted.

Browser JavaScript and UI interactions instead use cooperative multitasking, which you’ll also find in classic Mac OS, 16-bit Windows, basically every embedded system ever, and languages like Python and Lua. A task has to explicitly call out to the scheduler to hand off execution resources to the next one. Pro: as task switching only happens at clearly visible points, many of the horrors of shared memory are diminished; con: you can and will hang the UI (or other outside-world interactions) if you accidentally write an infinite loop or just do too much CPU-bound work without yielding (as any developer using one of the aforementioned systems knows).

For how this works in the browser environment specifically, see Jake Archbald’s superb talk[1].

[1] https://youtu.be/cCOL7MC4Pl0


You're mixing up concurrency with parallelism.



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

Search: