Hacker News new | past | comments | ask | show | jobs | submit | egamirorrim's comments login

I feel like I need a power users walkthrough of Kagi to shows it's value, I just can't get it up for it at the moment. I barely even use Google these days and just ask GPT :-D

I mostly like that you can do your own rankings instead of a prediction system doing it for you.

I can uprank stuff like Github and Stackoverflow, and downrank stuff like eHow or W3Schools, which is quite nice.


It's mind blowing to me that people still ship software by copying a file to a machine and restarting a service.

I'm very unfamiliar with IIS hosting though, does it support any kind of containerisation/deployment immutability at all?


Author here - isn't it just. I believe there's a lot of organizations whose IT infrastructure has been set up a couple of decades ago and then barely maintained due to non-existing resources.

So while this is absolutely ancient tech and process by most means, it has been a huge step up from copying files over to machines by hand through RDP connections.

And also, our apps have no problems having even a few minutes' downtime, so cold restarts are absolutely fine for us.

While I would absolutely like to get into containerized zero downtime deployments, from where we're actually standing now, those don't seem to be offer much in the way of ROI.

And please, if anyone has a more suitable process in mind, please let me know!


Probably the only improvements I can think is running the runner as a gMSA and applying the relevant ACL's to that, so you can avoid needing to supply creds.

Otherwise, on our fleet of hundreds of IIS, we've had success just pointing IIS to a hardlink, deploying the new version to a new folder and updating the hardlink - from memory this does trigger an app pool restart but its super fast, lets you go back and forth very easily.


What do you think kubernetes does? A container is literally just a tar.gz containing an executable file (among a great number of other files) that is executed with some kernel configuration and then later killed to make room for a new one.


Isn't this basically just push-based deployments? If your build agent opens a connection to the server this is essentially what happens


To be honest it’s quite refreshing if your company is full-on Microsoft anyway. It has some limitations and drawbacks you will miss compared to a modern container environment. For the usual in-house/b2b business app in dotnet it’s totally fine. With powershell DSC you can do declarative setup of Windows Server and IIS to limit the „click ops“.


Arguably, IIS is more advanced than typical Linux hosting services, where the standard for decades has been "stop and restart the service" for configuration changes, causing a temporary outage. I'm sure that's improved over time (has it?), but IIS had continuous operation modes since at least the year 2000. Historically my experience with Linux web deployment has also been "copy in a bunch of files", so I don't see how it's any better or worse! (Docker support is available for both as well.)

Some random IIS capabilities include:

- You can edit any part of the IIS configuration live, and this won't require a service restart. You can even edit .NET application code and configuration files live, and changes can take effect non-disruptively even if a process restart is required for the virtual app. IIS will buffer requests and overlap the new process with the old one. https://learn.microsoft.com/en-us/previous-versions/iis/6.0-...

- Web Deploy is basically just a zip file of a web application that can be produced by Visual Studio, vaguely similar to packaging up a site and its config with Docker: https://www.iis.net/downloads/microsoft/web-deploy

- Visual Studio integrates directly with IIS using "publish" settings that can target an IIS server and be used to deploy a complete web app with a button-press from the IDE: https://learn.microsoft.com/en-us/visualstudio/deployment/tu...

- The volume shadow service can be utilised by IIS to create backups of its entire configuration including all files on a schedule: https://usavps.com/blog/13597/

- Shared configuration allows scale-out web farms to be created. The key IIS config files and web content are moved to a UNC file share and then the workers just "point" at this. With an external load balancer that supports traffic draining this allows for seamless OS reboots, upgrades, etc... There's even a trick where SMB Caching is used to automatically and transparently create a local disk cache of the shared content, allowing IOPS to scale with web farm server instances without any manual deploy or sync operations. https://learn.microsoft.com/en-us/iis/web-hosting/configurin...

- The above goes hand-in-hand with Centralized SSL Certificate Support: https://learn.microsoft.com/en-us/iis/get-started/whats-new-...

If you want to use container technology on Windows for web apps, you can do that too. Windows Server supports Windows Containers, and ASP.NET Core has excellent support with a whole bunch of pre-prepared base container images for both Windows and Linux hosts.

If you have many such sites on a Windows web host, you would use the IIS Application Request Routing reverse proxy to add HTTPS to back-end containers running on HTTP. That, or just use Azure App Service, or YARP, or...

Personally, if I had to run a large-scale IIS web farm again, I would keep things simple and just use the Azure DevOps agent with the IISWebAppDeploymentOnMachineGroup task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tas...


All major Linux web servers have had zero downtime config reloading for as long as I can remember, at least 15 years.


That just goes to show how dated my Linux experience is!

The last time I hosted a web app on it was... sucks breath.. wow... before NGINX existed!


Also, with all this power came a ton of interfaces, poorly defined and very hard to automate at times. Not to mention, they didn't always play nice with each other.

In any case, it doesn't matter now, Windows Server is on maintenance mode and Microsoft is clearly done except for cashing licensing checks. Linux is the (web) server future.

Unix got it right, text config, sighup the processes to pick up any config changes and away you go. Requires more work from Admins, much cleaner in the long run.


There is Windows Containers, we run a few at work. They are nightmare and large but if want, they exist. Windows 2022 container is 5.56GB for .Net app, Linux equivalent is 336MB.


OTOH, a child could do it,


Yet another authenticator that I can't run on desktop


Can't wait to jump on Ghostty on Linux, once they introduce a feature to save my tab/splits layout or put it in a conf file to load, like a terminator profile.


Self hosting email sounds like it comes with a lot of dragons, what do you use for it?


Dragons to the point of being impossible. Self hosting your outgoing mail means it will almost surely never reach the recipient due to reputation issues. You can, however, set up a respected email provider with your own domain (meaning that, in particular, you can switch providers easily). I have done this myself, using ForwardEmail as the provider.


Having said that, you can self host only calendars and contact, this is nowhere as complicated and maintenance intensive as emails. Or use one of the many nextcloud providers available, the free tier is usually enough for that.


I used to self-host email. I'm not a devops specialist, I'm not an email specialist, and I had to solve issues on a weekly basis.

I ended up moving to Fastmail, too. And if I'm moving email to FM, might as well move calendars.


I can recommend z-push as active sync frontend. It can combine different data source (IMAP, caldav, carddav).


I use Gmail and just download a Google takeout every 3 months


This looks like a good set of improvements but goddamn F# is an ugly looking language


To each their own, I guess. I find the various modern ML-influenced languages to be among the best looking.


I agree with you. The best looking ones are Gleam, ReScript and F#


I always miss pipeline operators in languages without them after F# exposed me to them.


Really? It's a classic ML language. What about it specifically do you find ugly?


Enpass is pretty good, store your vault in your own <cloud storage>


Wow. Remarkably responsible, and compassionate, disclosure.


Have they included real profiles in the screenshots of the "Discover profiles" menu and the list of likes? If so that's pretty irresponsible even with the faces obscured.


Actions don't match words.


What? They did hold off. Their actions matched their words.


I've got an open ai API key, and I pay for chatgpt. I'd imagine switching to this and using openai would end up costing quite a lot? How are people running it relatively cheaply?


One way people keep costs down when using OpenAI with an offline RAG system is by limiting the number of text snippets sent to the API. Instead of sending the whole database, they'll typically retrieve only the top 10 (or so) most relevant snippets from the vector database and just send those to OpenAI for processing. This significantly reduces the amount of data being processed and billed by OpenAI.


Openrouter... you get all the models and its not as expensive as you would think. I spent $3 with aider the other day in like the blink of an eye with Anthropic. I am working on a FASTHTML thingy and loaded all the docs, plus a few huge replicate api files into the vector database. Most of my back and forth usage averaged about $0.02 for each turn with Claude 3.5 Sonnet. To give you an idea: My context + prompt were around 18000 tokens with completions around 1500 tokens.


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: