lwouis
When you go from HTML page to HTML page without JS, the browser starts from scratch on every page. The user gets a big flash, then the browser has to redraw the page from scratch. It's actually a lot of work often.
If the browser expected pages to be similar, and added optimizations to reuse existing content, essentially doing internal SPA work, that would be a different story. To my knowledge, the browser does no such optimization, and brute-forces renders every URL from scratch.
You can actually try for yourself on the website I linked. Chrome devtools > disable Javascript. It's a pretty good experience still since I optimized everything. However, you see all sorts of things flicker and move around. It's not the smoothest experience. And If you have worse Internet, it gets worse and worse as you see more of the tear-down > built-up on every click. With the SPA experience, if you have bad internet, you can still scroll around and use the page, as you wait for the update to arrive.
Of course, you're totally right that static HTML works pretty good when the website is already simple and fast. My point was that with 4KB-uncompressed / 140LoC, I can get the smoothest experience. And I unlock options later on like having loading spinners for example.
My general point was that you can do simple client-side rendering in 140 LoC. You keep a simple backend-served website, and add a little polish this way to have a smooth experience.
I find it very cool to have polished app-like experience, while having a simple backend to serve. I like the low-tech, few moving pieces, yet I get options for great UX if I want.
I got charmed by this path with LiveView and Hotwire back in the day. I'm thankful that people continue to push this approach. It's wonderful
Recently i've redone my app website (https://alt-tab.app), and I implemented a minimal spa.js that has a similar approach. I find the end result blazing fast, simple to maintain / reason about, few moving pieces. I used Early Hints, compressed every single thing, inlined CSS, etc. I don't know how i could even make it faster.
I recommend this approach for websites that are not very complex. Of course if i made a browser-based music player with a super dynamic UI, that would have been a different story~
Apple has bundled everything together in a big mess.
- Only certain macOS versions can run certain XCode versions
- Only certain XCode versions contain certain SDK versions
- XCode embeds "Command line tools" which contains things like gcc, ruby, python, installed as a package, and conflicting with other versions on the machine
- Interface Builder is built into XCode and has its own compatibility story
It's a big messy blob and you can't pick-and-choose parts. You have to update your whole machine to move to the latest OS so they will let you run the latest XCode, so your app can compile on the latest platform for your users. It's not the best experience for sure. Many ecosystems have SDKs that you can download as you wish. I don't need to update my OS to download a version of the JDK for example.
That being all said, if you require users to download XCode, regardless of which part of it is necessary, i don't think you should mention "XCode free experience" or "XCode replacement".
I'm already developing a macOS app without launching the XCode GUI. I use the xcodebuild CLI that ships with XCode. My IDE is AppCode. I also use xcodebuild on CI to build the app headless. I would never call that a XCode free experience though, as i suffer from all the issues i mentionned above with version upgrades and XCode issues
I dug more and of course they don't: "Though we don’t rely on the Xcode build system, you still need to install Xcode for the iOS SDK and toolchain"
I think they should clarify their messaging. This is not a replacement or an alternative. It's a layer on top designed for what they think is a better experience.
We have domesticated cows and wheat. Now their population has reached tremendous size. So has our population. We both need the other species to survive. We need them, and they need us.
You could definitely take the perspective that we have been domesticated. For example, plants have domesticated us by feeding us.
The app is very mature, yet it could still be improved in interesting ways.
I'm the author of AltTab (https://alt-tab-macos.netlify.app/), a popular window switcher for macOS, imitating Windows famous alt+tab shortcut. I know for a fact how hard it is to implement what you did. It looks very nice, well done!
I see you ran into the issue of not being able to detect windows from other Spaces. Apple introduced it in macOS 12.2. If you're curious, you can see the vast efforts we've deployed trying to find a workaround: https://github.com/lwouis/alt-tab-macos/issues/1324. I wish some retro-engineering genius would solve this. We haven't been lucky so far. Of course Apple could fix this all in an instant with a new API, but that's very unlikely to happen.
Thank you
For example, your crops are getting attacked by insects. It's exogenous yet if you wake up in the night to come out and kill them, you'll save more crops.
Thank you for sharing this.
I'm genuinely wondering how our nose is not a good enough sensor. Are there common cases that affect large areas like the one you live in, where the pollution is not smellable?
Thank you
Yes, there are exceptions. What you call "accident of birth". Statistically, they are uncommon.
The mall of the future is probably something close to a farmer's market where people will come to sell goods with bikes/animals.
If you think the current lifestyle of developped nations will continue its trends, you're in for a surprise, as early as the next decades.
Look around you at society. People buy brand cloth like $300 white tshirt because of the brand logo on it. I think it's pretty established how humans behave on that regard. Now if you're not convinced (it seems), i suggest you google some sociology studies and look into something more scientific than my example. Feel free to share if my observations are proven untrue.
If we had influencers who would take a stand, it would be very beneficial at global scale actually. Let's say the top football/soccer players would decline to attend the world cup because having A/C'd stadiums in Qatar, and flying both the athletes and the fans there is generating large emissions. If they took that stand and shared it to their 50M followers-each mimetic fanbase, the benefits for society would be wonderful.
It's worth pursuing exemplarity of our elites because it sets the flagpost for everyone else. Redefining success from rolex, sport car, big house, to let's say skilled handcraft, raising horses, and living in a small rural community; that would really be beneficial to us all.
However for the rich, options are plentiful. Taylor swift has really every options available to her. She could stop working all together. She's set for life already. She could work only on local concerts. She could do a "slow" world tour and take the boat to do it, as a symbol. She doesn't have to fly to LA for a fun diner with a celebrity friend. Etc etc.
Millionaires and billionaires definitely can decide what they want to do. They don't answer for anyone for food and shelter. They make their own rules. In that sense, i think it's fair for the rest of us to judge them hard for a lavish lifestyle that inspires the masses, and really goes against humanity's survival.
If you are implying that the market has reduced emissions in developped countries, i believe you're reading the situation wrong: China has become the world's factory, and its emissions have exploded, but the products manufactures are exported and consumed in the most developped countries. So effectively, developped countries emissions have grown. It's trivial to understand this when you observe the explosion of goods and services available in these countries, at the press of a button. There was never in history that many objects around us, in developped countries. Our footprint on the global world is growing rapidly and has never decreased.
The market is failing to deal with climate change because the environment costs (sometimes called externalities) are not part of the market dynamics. The market uses money, but has a blind eye to anything physical. Business is just money and human labor. No mines, no pollution. It's all dollars. Polluting a lake is a X million dollars fee, not an irreversible loss in a one-time resource.
I wouldn't call the industrial revolution "the greatest moment of human progres". I would call it "the moment that sealed our fate". Climate change, un-renewable resources scarcity, biodiversity collapse, etc. We are headed at a breath-taking rate towards a planet that will be hardly inhabitable for us. We may only subsist as nomadic tribes only a few centuries from now.
This is built-in some of the top software translating platforms to "seed" the initial translation. A bulk kickstart that can optionally later be refined by human translators.
Similarly, global warning is rising temperature, and we are trying hard to model the effects, but it's really all it is: models and guesses. We would much prefer if we could go back to the climate we were familiar with for the past 20,000 years. That one we were starting to understand to some extent. Now all bets are off
I'm dealing with some pretty involved ETL at work these days, and it's really hard and ugly to do it in SQL to "stay in the DB" and keep things fast. It's tempting to read, transform in a high-level language (think pandas) then write back to the DB, but then you give up so much perf.
I would love another API than SQL like what Sparq is doing. You can keep a query optimizer, an engine to execute queries efficiently physically, etc, but it could be controlled with a nice general language API.
Another way to put it is that SQL became the standard and alternative haven't been developed much in comparison. Imagine like the ML world being stuck with Prolog or some DSL. It would be annoying to say the least. Instead people have a variety of APIs and the popular and most developed ones are actually using high-level languages to drive optimized ML engines. These convert function calls and chaining into efficient transformation that use memory, computing units (CPU, GPU, etc) efficiently. The same for DB would be wonderful.
Maccy has pretty poor visuals when copy pasting images, rich text, etc. I find it important to visualize the actual look of some media when looking for it in the history. CopyQ is amazing at that.