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

So it's because they want to be more like ChatGPT instead of being more Claude Code. I guess that makes sense - bigger market


Is it?

Isn't there much more money in automating business processes than in answering consumer questions (sans ads)?

Automating software development has to be a multi-trillion dollar market. And that doesn't account for future growth.


maybe. Software is big, but it is only a tiny percentage of the ecconomy. they need to help a lot more than software to justify their datacenter investments. even if we add all engineering that isn't a large percentage. How can they help insurance agents (or eliminate - I don't care either way), plumbers, zoo keepers, and every other job in my city? Some might be they can't - but if they can is a question worth asking.


It came up recently in local news. I wonder how they force that for earphones...


I am not sure if thst is really a problem. Batteries of hearing aids have been replaceable for a while now.

There appears to be a few reason to become excempt from the rules, e.g. medical reasons (if it is in your body safety is more crucial than removability of the battery). So who knows what Apples lawyers will do with this.


I never looked into hearing aids - would the interchangeability affect weight ?


I have a pair of fairbuds that have user replaceable batteries.


The regulation is mostly meant for light electric vehicles for now


Where do you get this from? From what I could see it applied to everything from cars to laptops.


From the press release itself:

"To that end, starting from 2025, the Regulation will gradually introduce declaration requirements, performance classes and maximum limits on the carbon footprint of electric vehicles, light means of transport (such as e-bikes and scooters) and rechargeable industrial batteries."


That's another aspect of the regulation but as far as I can tell (from skimming the actual mandate, or the other summaries I found of it) it's doing both. The release itself says

> Starting in 2027, consumers will be able to remove and replace the portable batteries in their electronic products at any time of the life cycle.

Interesting that it's also introducing limits on EV carbon footprints, but that's not to the exclusion of mandating replaceable phone batteries.


Nice, I can see the appeal having familiar UI on Mac.

Even though I am not your target audience (linux i3 user myself), I would be interested in knowing how much "hacking" the macOS system is required to do this. Is it hard to get a list of running apps for your Task Bar? Is it hard to list the apps for the menu? How about keeping it all "on top" while other windows e.g. get maximized/minimized/full-screen, etc?


I could talk for days on all the peculiar bugs resolved. Once the alpha stabilizes I have drafts to publish on several topics.

You actually nailed the major pain points. Particularly window focus and state management. I've spent months solving this problem alone.

-

1. Applications data list: Getting the list is easy! Finding out which apps in that list are "real" apps isn't. Getting icons isn't. Reliably getting information on app state isn't. Finding out why something doesn't work right is as painful as can be. Doing all this in a performant way is a nightmare.

2. Applications menu renderer: Rendering the list for the menu is easy enough: the macOS app sends this data via socket. The frontend is just web sockets and web components under the hood (https://lit.dev). The difficult part was converting app icons to PNG, which is awfully slow. So a cache-warmup stage on startup finds all apps, converts their icons to png, and caches them to the app directory for read.

3. Window state: again, by far the worst and it isn't even close. Bugs galore. The biggest issue was overriding macOS core behavior on what a window is, when it's focused, and how to communicate its events reliably to the app. Although I did include a couple private APIs to achieve this, you can get pretty far by overriding Window class types in ways that I don't think were intended (lol). There is trickery required for the app to behave correctly: and the app is deceptively simple at a glance.

-

One bug, and realization, that still makes me chuckle today.. anything can be a window in macOS.

I'm writing this on Firefox now, and if I hover over a tab and a tooltip pops up - that's a window. So a fair amount of time has gone into determining _what_ these apps are doing and why. Then coming up with rules on determining when a window is likely to be a "real" window or not.

The Accessibility Inspector app comes standard on macOS and was helpful for debugging this, but it was a pain regardless.


Better photos available e.g. at https://www.ceskenoviny.cz/zpravy/2688552


How is that done ?


VLC has the option to “Take Snapshot” and it can play online media. This is unless I'm missing something very obvious!


In the description it says app is for mobile devices



It’s nowhere near as powerful though, and I don’t think it can do this particular task.


It is a full port of VLC so it should be able to handle this task. You're probably referring to the frontend which differs from the ones used on desktop but that does not mean the functionality is not available. It is, you just access it differently. Either enable the 'Take a screenshot' option (Controls Settings -> Take a screenshot) and use that or send an intent to do so. The former works while watching videos, the latter makes it possible to automate this task from within termux, Tasker or Automagic.

You can also just install vlc in termux and use the command line interface:

   ~ $ apt search vlc
   Sorting... Done
   Full Text Search... Done
   vlc/stable 3.0.18-7 aarch64
     A popular libre and open source media player and multimedia engine

   vlc-qt/x11 3.0.18-7 aarch64
     A popular libre and open source media player and multimedia engine

   vlc-qt-static/x11 3.0.18-7 aarch64
     Static libraries for vlc-qt

   vlc-static/stable 3.0.18-7 aarch64
     Static libraries for vlc


My bad; I'm sorry for jumping into conclusions.


What's the logic behind returning anything but -1 (not found) ?

Given "asdf".indexOf("a") is 0

Then "asdf"[0] is "a"

--

Given "".indexOf("") is 0

Then ""[0] is "" (which it's not in any language I know of)


"asdf".indexOf("as") is 0

but

"asdf"[0] is NOT "as".

so there can be no expectation that ""[0] is "".

Those two operations are not related to each other. It's more intuitive if you treat .indexOf() as .startOf(). Then "asdf"[0..x] is "as" for x=2, and ""[0..x] is "" for x=0.


If I were designing this, I'd want to treat this as an unsupported usage of "find".

If you're okay with using the same error code for (a) string not found and (b) erroneous usage, then returning -1 makes sense.

Since (b) is something that probably indicates a bug in the application code, I'd probably prefer that (b) triggers a different program flow. E.g., raising a C++ exception, failing an `assert`, etc.


But "asdf".indexOf("sd") is 1, so indexOf("") finds the index of the first matching subsequence "", thus 0.

In reverse, the function would be 'return the subsequence starting at index, for some length', which for "" and 0 would indeed be "" for length = 0.

Array indexing [] is unrelated


"asdf"[0] is 'a'

"asdf"[0:1] is "a"

and

""[0:0] is ""


"January 2023: Chrome Web Store stops accepting updates to existing Manifest V2 extensions"

https://developer.chrome.com/docs/extensions/mv3/mv2-sunset/


It's now updated to January 2024


They also disallow updates to MV2 extensions in January, which effectively kills them off: "Chrome Web Store stops accepting updates to existing Manifest V2 extensions"


That date has now been changed to 2024: https://developer.chrome.com/docs/extensions/mv3/mv2-sunset/


Awesome! Thanks for the update


More importantly deadline is still January 2023: "Chrome Web Store stops accepting updates to existing Manifest V2 extensions"


I think this has to change and may just be an outdated part of the timeline that hasn't been updated yet. After all, this item is still on the timeline too: "Enterprise policy can let Manifest V2 extensions run on Chrome deployments within an organization." But that doesn't make any sense anymore, because V2 will no longer be disabled on the stable channel in January, so there's not even a need for an enterprise policy to keep V2 extensions running.

It wouldn't make any sense to let V2 extensions keep running until June but disallow updates. What about security issues? They have to allow security updates.


Yep, they just updated when Chrome Web Store stops accepting MV2 updates to January 2024: https://github.com/GoogleChrome/developer.chrome.com/pull/38...


Nice find!

The timeline has now been updated too: https://developer.chrome.com/docs/extensions/mv3/mv2-sunset/


That was always the plan no? They would stop allowing updates before they officially removed the extensions from the store...


No, see the announcement from a year ago. https://developer.chrome.com/blog/mv2-transition/

> There are two key dates for the phase-out:

> January 17, 2022: New Manifest V2 extensions will no longer be accepted by the Chrome Web Store. Developers may still push updates to existing Manifest V2 extensions, but no new Manifest V2 items may be submitted.

> January 2023: The Chrome browser will no longer run Manifest V2 extensions. Developers may no longer push updates to existing Manifest V2 extensions.

So V2 would be disabled in the stable channel simultaneously with the end of updates, in January 2023.

Only a special enterprise policy could keep V2 extensions running for a while after that time.


This was a mistake and has been corrected.


This study was done in China. It is important to know the locals behaviour with regards to natural Vitamin D source (the Sun). Locals do not like to have "too dark skin" and as such are using sun screen with factor 50 and try avoid sunshine altogether.

This study might have different results in other parts of the world.


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

Search: