Many of our CI/CD jobs are stuck in this state. Good thing is we can run these locally or from VMs as most have Makefiles with straightforward workflows. Only thing might be explaining few things to our interns :)
I had same feeling. I have been using AI summarizers more and more for these type of articles/posts. Though I haven't checked the summary quality, here is what I got from Kagi Summarizer:
The passage discusses the author's experience with the growing sense of competition and obligation around reading and book consumption. It criticizes the way platforms like Goodreads have turned reading into a quantifiable task, with people feeling pressure to read a certain number of books per year. The author argues that reading should be about the experience and personal enjoyment, not about keeping up with others or hitting reading goals. The passage encourages readers to step away from the social media side of reading and not worry about the "right" way to read. It emphasizes that the value of reading is not quantifiable and that people should read at their own pace without external pressure.
Things like these are why I stopped using digitalocean.
They had issues with DNS PTR records too for years. Same for initial auth tokens being global. I had hopes for them and used them exclusively at 1 time.
My read on this situation is that DO is holding out until they have a comprehensive IAM solution. If you need IAM, don’t use DO. If you can live without IAM, DO is pretty nice.
We used this at an early version of ad-network where Advertisers would write JsonLogic against a set of user properties with all the operators. And this was checked at runtime when ad was to be shown. At the time, I thought this was a neat and quick way to give advertisers some form of targeting. We had ~500 active ad campaigns at any given time(not much growth beyond that) and this worked really great.
But I always thought there should be better way for this kind of application. I see a lot of comments about Lisp. My question is: Is Lisp better for above scenario or there is even better way?
The exact same thing is for India. Individuals can't get non-profit status. So you have to sell something. A software dev friend tried donate button with cta "Get exclusive support" for few months. But international audience didn't quite get it.
I have seen some gamers in India asking for donations and giving direct account details(UPI[1] details), but I am very cautious against this. I am just waiting(selfishly) for Income Tax dept to serve notice to someone and get this clarified via court case.
True donations are not taxable in the UK, because they are not part of a trade.
In other words, they are not given in exchange for something; the something is freely given without the donation.
Of course there is the question of whether something is truly a donation. But charities have to deal with that question, so there are formulaic approaches to it, and advisors. Sometimes the wording that accompanies a donation must be written carefully, to clarify what is and is not expected for it, because donations can be directed to a purpose, which isn't (apparently) the same as paying for something.
"Tax-deductible donation" is a subset of "donations", at least in the US. I can "donate" (syn: "give") money to anyone. I don't have to do anything special for that, and in theory they should report it on their (personal) taxes as income. If I'm giving it to a registered charity (non-profit), I can deduct it as a donation on my taxes. Maybe that's part of why this piece generated so much discussion: for some, just the word "donation" carries certain connotations that others might not ascribe.
Having built a few CDNs, I can tell you geographic proximity isn't a good metric for which POP is "best".
You might be located in Delhi, but maybe your ISP backhauls all your traffic to their head office in Mumbai for example. It wouldn't make sense to then ship your traffic back to Delhi just to serve it from the geographically closest location when Mumbai is your "network closest."
The Delhi POP might also be overloaded, or down for router maintenance, or they can serve your traffic cheaper from Mumbai.
On ethernet always get close to 1Gbps on Fast.com by CF shows consistently around 300-400. Wonder if CF is more accurate or Fast.com? I'm imagining CF but such a difference.
Fast.com specifically measures your speed to a Netflix mirror, vs CloudFlare measuring your speed to a CloudFlare data center. Netflix probably has a box in your ISPs data center/head end that is closer to you (unless you live in a town with a CloudFlare data center, in which case the difference shouldn't be this drastic).
CF's score is probably more relevant since there's a lot more sites that are hosted there than netflix (which is just netflix).
This is so big. I was about to make a build for my nephews with Ryzen 5, but now 3300X with a good GPU it is. Remember these are on-par(or exceeds Intel i7 from 3 years ago)[1].
I just hope they do something similar to their GPU software platforms(CUDA killer).
Will be interesting to see if they can ban Indian govt. app[1] which needs full location access(clarified)[3]. A lot of people like this app(including me) but also know government does not have good track record in securing private data.
Previously Apple were made to bend their rules when India threatened to ban Apple devices if they don't allow TRAI Do Not Disturb app in 2018.[2]
As another commenter pointed out, if the app is not using the contact tracing framework developed by Google and Apple, then the app can basically do whatever it wants (mandate continuous location access etc.).
I don't think apps are allowed to do this on Android any more. You can designate that an app can only have location access while the app is open and in use.
Right, for sure, that’s a choice users have. (On the iphone too, fwiw).
Sadly, outside of tech circles very few people would have the knowledge or even motivation to do this. The attitudes of the populace to online privacy are frighteningly callous.
I've been astonished at the number of apps that are grabbing my location in the background. Espescially since I previously considered myself to be quite on top of the permissions I'd granted my apps.
Android for work can reduce privacy leaks; get Island or another app to set up a work profile on your Android phone, and sign into a secondary account on it so it doesn't have your contacts. Now go to settings and disable location access for work apps. I've stopped paying attention to whether or not apps request location data or contacts access for to this. To prevent the apps from running in the background, just turn off work profile when not using it (or look up Greenify's deep hibernation).
Being on a stock, unrooted phone, the thing I miss most is xprivacy's prompts whenever an app wants to use a permission. I just make sure to check my permissions list every month or so to make sure Google hasn't silently allowed an app update to enable new permissions.
and it may prevent the app from functioning properly but the point is that Apple/Google will not allow you to publish an app on their stores which utilises both of location services and contact tracing APIs
Thanks, just looked it up as well. But to the GP’s point, I do hope Google/Apple start banning apps (especially released by governments) even if they don’t use the contact tracing API.
Not sure about Android, but if you're on iOS you have the choice to disable "full location access". In case it's needed to run certain feature in the app, you can choose the "Allow while using" option.
I do that will all the apps that require location access: local food delivery, cab services, vehicle rental and what not.
We can and for most apps I do this too. But some apps, like this one, require the location or they won't even start. Also at least on android(which also has fine-grained permissions now), this app specifically requires on-going(background?) location access.
Recently this has also been made mandatory for employees, public and private. So organizations have to ensure all employees have this app on their smartphones. We will see how much this is enforced.
My Android device allows for completely disabling location access (regardless of whether the app requires it) or for allowing access while the app is in use, as you mentioned. I'm never sure if these features are OEM additions or features in standard/AOSP Android versions, so I guess if you're using an Android device YMMV.
Well not if once you use the new API specifically made for contact tracing, right? Since the bluetooth scanning will be done by a lower level system run by play services, the app itself doesn't need the permissions.
Mostly because it was released very early. And for a country like India, it may prove advantageous in coming months. We do not have any vaccine for Covid19 and can't be in lock-down forever. We have to learn to live with the virus for few months at least. Apps like these can help in contact tracing while allowing many to live normally.
Also I personally think the permissions(location and bluetooth) are fine for an app like this to really function. I have read someone mentioned on HN that these platforms prove their worth when >60% people are using them(I maybe remembering wrong though).
Please consider an Asia/Pacific data center. I am from India and my company was not able to use B2 due to high response times even from European DC. Even a DC in Singapore will be helpful for us.
Bandwidth in asiapac is very expensive for non-incumbents and India is no exception.
I find it bizarre how in India you can get 100GB of LTE for a few dollars but cdn bandwidth can cost content providers more than that - which is absurd.
Mobile broadband is witnessing intense competition in grabbing customers as millions of rural Indians are coming online. This started with a Petro-chemical billionaire starting Jio Network and giving free unlimited 4G data for a year(his company has 300million subscribers now).
Already 4 networks have exited the market and 3rd & 4th largest networks(Vodafone and Idea) have combined due to cash crunch. Airtel(earlier largest) has been raising outside money in hopes that it can survive the low prices. So there are only 4 networks remaining. Only recently they started increasing prices.
That billionaire is also going into Fibre(purchased his bankrupt bother company's infrastructure), maybe we'll see that competition extend to DC and interconnects.
Awesome collection! One thing I am always curious about, the right click and open in new tab does not work on the list items. I have seen this on many recent JS heavy web applications. Is this normal for PWAs to not support traditional browser interaction points?
I can understand PWA wants to be more than just a web page and have their own UX. I have more experience in Backend software development and right now leading a small web/mobile/devops team, and always stress to not override browser controls unless absolutely necessary. Somewhat similar thing happens with scrolling. I feel most of the JS overridden scrolling is not needed.
They could absolutely fix the URL thing. At least if they are using a routing library at all they can. Even if they arent they could very well manage routing as well.
You often have the dilemma whether something should be a link, or just a button. Links trigger a navigation to another page/URL, although in an "app" it could just render a new view rather then making a new browser request. A button is usually not a navigation, although it can render a new view and also have a unique URL. So the only difference is that you can right click and open in new tab on links, but not on buttons. And then you have to decide if you should style it like a button element or a:href element, where a:href signals to the user that they can right click and open in new tab, while a button does not. But you can also make an a:href look like a button, which can be considered an anti-pattern. Buttons do look nicer then links though. And buttons can also trigger a navigation, like in a form submit, but it's technically difficult to support submitting and open in new tab at the same time, because browsers have a hard separation between tabs, where one tab can't easily access another tab and vice versa. So while it's technically possible UX is often a matter of budget/laziness and stack/architecture.
There's not really much of a delimma. This is a problem that was solved in "single page apps" 10 years ago.
- links are for navigation
- buttons are for action
Styling and appearance are not a factor - you can make buttons look like links, links look like buttons.
Simple rule is "should this view have a url". Should the user be able to navigate directly to this page? Should it exist in the history? Should the user be able to share a URL to that page to someone else? Most times the answer to all of these is.
In your javascript application, it is trivial to do single page app view navigations (without triggering a full browser request) by listening to link clicks and acting on it just as you would if it were a button click. All frameworks and routing libraries will handle this for you out of the box. If you roll your own, its not that difficult to add this functionality.
You're just making blanket assumptions about pretty hard UX problems.
Are tabs a view? Should they be buttons or links? What if the tabs are in the sidebar in some widget?
What about collapsible items? HN uses JavaScript to store your collapsible preferences to your account. Not shareable but consistent on page refresh. Is that good? I don't know.
The fact is, in PWA world, what's a links and what's a button is blurred, and there's nothing wrong with admitting it.
It is an action, but it navigates you to the booking page. That page should have a url and should be able to be shared. But wanting to "book now" is an action and most sites have them as a button.
There is no dilemma. 99 times out of 100 the user is expecting a link (aka a browser history update) and a way to get back to that screen (an idempotent collection of data on that url).
That's actually a heuristic I often use to decide this dilemma: Would I want to open this in a new tab / copy the link? In terms of styling, I like to start both from zero so that a button "look" can easily be a link (like "learn more").
Yeah it's a trade-off and button links what this person would be experiencing.
General best practice IMO is any navigation link/button that is just some permalink like a profile page should be an a tag to support natural browser interactions like open in new tab or bookmark link, it also helps crawlers index your app if the interface in question is some sort of public directory you'd like indexed and has SSR. Only navigation based on ephemeral state (submitting forms etc) to things nobody would typically share a link to (logout URL, submit button going to a thankyou page) should be buttons.
Yeah, another way of putting it is a link is great for GET requests while a button is better for POST requests (form submissions, AJAX, etc.) If you use a link for these, you have to think about what the href points to, you can’t just use JavaScript alone when it’s a link. If it’s a button, JS is more acceptable due to the inability to open new tabs, etc.
They would need to set the href attribute that points to the url on the card. After doing that you need to prevent the browser from actually going to that url when clicking on the card to prevent a full page refresh.
I think this happens a lot nowadays because we create and style div elements from scratch while also hooking onto more fundamental events and preventing any browser behavior.
When building webapps I like to keep a list of nit picks for ux and usability issues (usually things I find myself that aren't directly related to feature stories) and I fight to schedule as many passes as possible for fixing them. It tends to be difficult because no one besides artists and ux engineers will want to prioritize/pay-for them.
I will also sneak in a pass when I finish something that unexpectedly takes less points to finish.
In my personal experience, the real problem is when there's an impedance mismatch in the web platform. Here's an example. Let's say you have some tabulated data. So, being a good developer, you use a <table>. Done. Then, you want to make the rows clickable.
Oops. You can't nest table row <tr>s within anchors <a>, so you have a few options:
1. Each column has a link, and the link extends to the width of the containing cell.
Pros: It's easy to implement. It doesn't break browser behaviors.
Cons: There's unintended holes in the click targets. It's ugly as sin in code. It is quite confusing for screen reader users. It may be hard to get this right if your cells contain more layout than pure text. All in all, it's not an elegant solution.
2. Instead of making it a link, override the behavior of clicking on a row by registering a click event handler.
Pros: It does what you want. It's easy to generalize. It's a little bit of a kludge but certainly less hacky than 1.
Cons: It requires extra work to make it work well with screen readers. It requires extra work to make it work well with ctrl clicking and other behaviors - in fact, many webapps that apply this approach actually emulate the browser behavior, which, imo, is horrifying. Right clicking no longer gives contextual options for links, since there is no real link.
3. Restructure the DOM to not use a <table>. Perhaps use `display: table` with plain divs.
Pros: Now you can use a proper anchor tag link. It's also fairly easy to generalize. It shouldn't require too much work to get working well with screen readers.
Cons: Although it's less of a kludge in the end, it has one annoying flaw: just to get this behavior, you have to completely restructure your document. Which leaves you with choices: Should all tables be structured using other HTML elements instead of <table>?
Ultimately, some applications end up with trouble where anchor links are pretty hard for one reason or another. I don't think PWA or JS developers generally strive to break things or needlessly reimplement them; everything from client-side routing to custom link event handling has a reason to exist, and usually the intent is to make things work as well as possible.
That having been said, I've noticed a great deal of issues even with mature frameworks. For example, if you go to a really heavy PWA that has proper anchor links for fallback, try ctrl+clicking the anchor links and see what happens. You might find that it navigates in the current tab and spawns a new window!
(Note: I'm not suggesting this example is perfect; you could probably argue about whether the tabulated data should ever have clickable rows, or something like that. Still, it is a real thing that I've come across a few times now, and there's some pretty similar siblings to this problem.)
edit: Oh, and on a historical note... some of you who also were early adopters on XHTML will remember that in XHTML, you could actually put an href attribute on more elements, allowing you to get the behavior on list items, spans, etc. Sadly, it was never widely implemented.
In our in-house apps we went for the progressive-enhancement, almost-2 option.
When we're presenting data, one of our columns is nearly always a 'primary identifier' of some kind - a name, an id, etc. We make this column a hyper-link and then we also add a click handler to the row. This means it's still fully accessible to screen readers and tab navigators, but users who expect a more 'app'y experience are happy too.
The click handler has to be a little smart to ensure it's not receiving the mouse-up of a selection event, but it's not bad.