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

Think someone got the bill and worked out their burn rate and pushed the big stop button.

Remember when you are renting other peoples computers they can and will change the terms for their benefit. They own it. You dont. You rent it.


IoT was an absolutely terrible fit for the home space. My parents have light switches in their house installed in the 1940s. They still work just as good. Getting something from the IoT of home automation to last like that is very difficult. Yet it seems to be the first model everyone reaches for when talking about it. If they had to replace the switches it would not cost too much to do either.

IoT really comes into its own space though when you pair it up with something that is a real pain to get to. Think somewhere you have to have a crainlift and a 4 hour drive just to touch the 20 year old computer something is hooked up to. Or basically anywhere that takes hours to get to. The space my company typically targeted was high rise air con companies. Or companies where the customer would service out any sort of PLC work to a 3rd party. At that point the savings of having to roll a guy out there vs looking on a computer has the thing pay for itself in 1-2 trips. Also the ability to show up on site with the correct parts. That alone was a huge savings.

IoT's big issues is you have to beat many things that are already dead simple to do.


Had one project where for some reason one of the devs wanted to access the messages before it got translated. The reasons are lost to time. You technically could create other types of application that is not CLI or 'windows'. But then you are own your own making the queues or console items. Think they were typically used for device drivers or background service manager tasks.

https://learn.microsoft.com/en-us/cpp/build/reference/subsys...

Pretty sure it just changes out what the default function that is called before winmain. So you probably could just switch out the first function called (dont remember the cli option for that).

Most of the time you just picked the right type at project creation so it would feed correctly into the project solution which would set the right flags on build. But technically you could pick the most basic one and do it all yourself.


Presumably you're talking about /SUBSYSTEM:NATIVE, and while you're correct that it changes the default entry point (to NtProcessStartup in this case), it also sets the Subsystem field in the PE optional header to IMAGE_SUBSYSTEM_NATIVE, which causes CreateProcess to fail to start the executable with ERROR_CHILD_NOT_COMPLETE ("The %1 application cannot be run in Win32 mode.").

To see this, try press Windows+R and try running C:\Windows\System32\autochk.exe.

There are workarounds, but AFAIK there's no officially supported way to launch a native executable.

But that doesn't matter unless you want to avoid creating Win32 process structures, loading default Win32 DLLs, etc., as no windows are created and no messages are dispatched by code other than your own unless peculiar startup code is injected into your process at load time.

In particular, you have access to untranslated messages by default, and if you don't want translated messages to be posted, just don't call TranslateMessage in your message loop.


Microsoft Windows technologies like COM do create windows and run message loops on your behalf.

When you drag on a title bar it runs a modal message loop in kernel mode. Took me a while to figure that one out...


It was more of you had to know where to grab control. It was not always clear.

With some of them it was dead easy and you can do it on window creation.

Others you had to hook it out by playing with the window params (SetWindowLong) and getting the underlying control and then changing it.

Some controls had their own bespoke way where you would send messages to the control then it would take care of it.

Some you would have to iterate over the control list that window controlled and change it.

In some cases it was just such a pain you were better off making your own custom control window that was just a mashup of other controls that you could control.

It was one part experimentation and one part reading the docs (if the control had it). Now if it was a built in windows control you were playing with. You had to take on the risk on windows version update the customization you did would break if you did non documented things.


The biggest problem was when there was an established protocol, but it wasn't always followed. I remember scroll bars being the worst. Usually you could respond to the messages and everything would work the way you want, but there were some edge cases where Windows would update those scroll bars without even telling you it was doing so. And of course it would paint those updates in the default colors.

> This isn't actually true though. You can delegate to the default window proc, and only customise what you want.

Yeah that was my memory of doing this stuff. You basically just added what you wanted to the case statement (or other hooks depending on your framework). Then dump the rest onto the default proc. The default 'wizards' usually made the standard petzold structure for you and you didnt even really have to think much about it. Now if you were doing everything by yourself just make sure you read the docs and make sure you call the default in the right cases.


The docs are great too.

Of course absolutely ancient, but once you learn how to read them, they're very comprehensive.

And the 3rd party content written about win32 is pretty evergreen. I regularly find articles written in the '90s that are helpful today. The beauty of an incredibly stable API, and documentation written before everyone had the internet.

Just like the frontend dev ecosystem. Wait...


I saw a few years ago one group buying spools of fiber just to 'slow down' the trades. As they were submitting them to different datacenters across the country. They wanted everything to show up at the exact same time so no one would front run their trades on different datacenters. They are willing spend millions on HW if it gives them an edge in the market. They would buy bespoke boards that could hold 16x the RAM if it gave them a 50ns edge.


Yes, this is IEX. Some guy wrote a book about them called "Flash Boys'.


I can not think of any reason they would not want to do it.

However, I do seem at least 2 downsides to this method.

Number one it is at least 2x the memory. That has for a decently long time been a large cost of a computer. But I could see some people saying 'whatever buy 8x'.

The second is data coherency. In a read only env this would work very nicely. In a write env this would be 2x the writes and you are going to have to wait for them to all work or somehow mark them as not ready on the next read group. Now it would be OK if the read of that page was some period of time after the write. But a different place where things could stall out.

Really liked her vid. She explained it very nicely. She exudes that sense of joy I used to have about this field.


dobbs and msdn were my reading while I was waiting on a 2 hour compile many times. then msdn went terrible, and dobbs out of business :(


Honest question do you really use all of those tabs? As a small handful of tabs user I use the bookmark feature to hold things I want to keep for later. ctrl-d and it is in the list. Even then 99% of the time I open it again and go 'why did I keep this'. I get it that it is your workflow. Just sort of curious why you would consider that a 'power user' thing? Would not saving them to the bookmark list be more of 'power user' sort of thing to do?


I don't know why, but equating how many tabs a person has open to how much of a power user they are sounds like something right out of a south park episode.


Apparently bookmarks and self-hosting a read it later web app on my home server but only having 5 tabs open at a time makes me a filthy casual.


I think you failed to correctly apply DeMorgan's laws to the statement you're reacting to.


The whole bookmark/tab system really needs to be completely revised. I have a new system I'm thinking about for my Chromium fork which will be radically different. More like a full-page "new tab" screen where everything can be visualized and sorted into different projects etc.

Just look at how most people do a search, for instance. These days for me it often involves 20-30 tabs, or even more, due to the horrific state of internet search. Many results have to be explored, many links from those results also explored, more searches done to narrow in on the precise keyword needed to bring up some hopefully good results, etc. And I can't close all that until the answer is found, as I may need to backtrack, so they just pile up. It's really quite ridiculous how much work it takes to find a good answer these days.

Compare with the typical person who just does one search with some suboptimal keywords then clicks on the first link, or starts dutifully absorbing the AI-generated garbage. Orders of magnitude difference.

I have dozens of projects I'm actively working on just for my Linux distro. Dozens of tabs open for things like X11 window management, for instance, or some info on C++ modules for another project. Lots of tabs open for a hardware project. All kinds of balls are up in the air here. Why put any of this stuff in bookmarks which is a waste of time and energy to manage, when I can just leave it in the tab list, organized in multiple windows spread across different desktops? (I have 64 desktops on my 55" plasma display.)

(lol @ the other guy's reply. That didn't age well.)


hey, light power user here - for a while I was using tabXpert browser extension for this, but they have recently changed to paid-only and I havent had a chance to check out their competition but might end up just buying it anyway

it groups sessions, not just tabs, so i can (for example) have all my banking websites together as a session that i can open and close as a window of tabs. the convenience is it organizes the sessions as named things that i can manage in a UI. transfer tabs from one session to another, close tabs, check tabs that have been closed in that session, etc.

if you know of any tools like this or an easy way to manage it independently without a 3rd party browser extension, I would be interested. Sounds like maybe you are doing something similar but at the desktop level, creating a new desktop to pick up and put down? are they savable and transferable between devices? I like to close everything down at night to run some games with friends, and am going to be building a new comp soon and for various reasons starting fresh with software and importing things as i need them rather than flashing my current setup forward to the new hardware


I agree with this a lot tbh. I think we need to have better support for tiling or something iframe-like in web interfaces. Probably for deep research or focused work, we need something more tree-shaped than the flat tabs-with-back-button structure web browsers expose.


Interesting. I personally aggressively prune open pages. If I have too much open I get off task and wander into whatever random thing pops up. Anything that needs long term storage I bookmark it in a folder.

Using the session manager that is one I used to use. But backed away from. I use a lot of tools to keep me on task and not wander off into random things.

For me it is about attention and focus. You seem to have a very different pattern than what I use. ctrl-w and alt-left arrow are my buddies.


I've never explored 20-30 search results. Not since Google anyway. If I don't find what I want in the first few I rephrase the search or try a different search engine. The world beyond the first page of results basically doesn't exist.


totally.

MS ended up where it was at because there was basically NO upgrade path between the few different GUI frameworks they had. They broke the whole thing in 2002 when they decided .NET was the way.

You had to basically retool your whole GUI for whatever they were pushing at the time. Then they basically abandoned win32 GUI items and put them in mothballs. Then change their minds every other year.

No sane person is going to pick that model of building an application. So the applications kinda stagnated at whatever GUI level they came into being with. No one wanted to touch it. If I am doing that why am I sticking with windows? I can get the same terrible effect on the web/mobile and have a better reach.

Even their flagship application windows is all over the place. If you click on the right thing you can get GUI's that date back to windows95. Or maybe you might get a whitespaced out latest design. It is all over the place. It has been 10 years at this point. They should have that dialed in years ago.

I do not think Google will be able to pay attention long enough to have a stable GUI. Apple maybe. As for MS you can see it from the outside there are several different competing groups all failing at it.

MS needs another 'service pack 2' moment. Where they focus on cleaning up the mess they have. Clean up the GUI. Fix the speed items. Fixup the out of the box experience (should not take 4gig of used memory just to start up). Clean up the mountain of weird bug quirks.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: