Thanks for the kind words! The likes come from social networks, most of the likes you see there are coming from Bluesky. I posted a link to the post there and people liked the post. I collect these likes using Bridgy which then sends WebMentions to my website.
This happens when the article author chooses to paywall it in Medium because it gives them a payout. They are basically using Lobsters as a free traffic source.
I’ve been having some decision paralysis about what framework to build a web project in next. I’ve also learned some clojure recently and been happy with the dev experience. Maybe this article is a sign. :) Thanks for sharing.
I’ve had a similar issue. The approach most Clojure devs take, i.e stringing together certain components like a routing library, an HTML DSL like Hiccup, etc., seems pretty transparent and nice, but it would be a pain for a Clojure newbie to setup x(
Is there a plain English explanation of this algorithm? I can’t figure it out from looking at the code, since there’s a lot of helper functions and caching logic
Therapy. I’m getting old and the combination of Adderall, fidget toys, and youthful energy aren’t getting me through the day anymore. So I need to learn new behaviors to stay productive.
seeing that doto operator reminded me of the Javascript with block, which I fondly remember as the thing people told me I should never ever use. But it always fascinated me as a concept, and honestly it doesn’t feel that much worse than languages with implicit this/self in methods.
Of course the clojure thing is way more principled
The danger of JavaScript’s with is that it applies to all variable lookups within the block, allowing confusing code:
let obj = [];
obj.x = 123;
let x = 'push-me';
with (obj) {
push(x); // calls obj.push with 123, not with 'push-me'
}
Clojure’s doto doesn’t have this problem: it only inserts the passed scope value at the top level of the arguments, similar to if JavaScript only modified the beginning of each line within a with.
I wonder if this is more or less the end of the road for the librem 5?
This offers similar openness, same software capability and slightly better specs (I think…). And hardware privacy switches too. For half the price, assuming Chinese assembly meets your requirements. (If you need a US-manufactured device, Librem offers that for $2000-ish, and Pine does not.)
And given the respective companies’ track records, it seems likely the ’Pro will ship in quantity well before the listed 52-week lead time on the non-US-manufactured Librem 5.
I was on the fence between replacing my iPhone’s battery or just replacing the whole phone. I think this announcement has pushed me toward replacing the battery and revisiting in 8 - 12 months to see if this has developed into something that could be a daily driver for me.
Purism is targeting a different market; they’re trying to make an ecosystem, a readymade device, that someone can use out of the box and be satisfied with. I don’t think they’re doing all too well with it, but it’s the intent that counts. What Pine does is make tinker toys for engineers. They save money on the device by punting software engineering to the users. (The battery management part made me queasy.)
I agree with your characterizations of the two intents. What I meant to do in my comment is question whether, given that the software works as well on the pinephone as it does on the Librem, has Pine backdoored their way into (soon) hitting that “someone can use out of the box and be satisfied with” goal for technical users better than Purism has even though they were aiming for something else entirely.
A big difference for me is that the L5 has privacy switches that are usable. That is, I want the camera and microphone off until I’m receiving a call, then I can flip the switch and answer. With the pinephone (and it looks like the pinephone pro) the switches are buried inside the back which make them interesting but not very usable in day-to-day life.
Another point as mentioned in other comments is that Purism is funding the software development to make the ecosystem. Pinephone gets the benefit of that without much of the cost. I hope both succeed so that there is a gradient of capability from the low end to the high end, and a real move off of the duopoly we have now.
I think Pine has done better than Purism working to get drivers for their components supported by the upstream kernel. I think they’ve also done better getting help out to the various distributions when it comes to supporting the platform. By not having their own distro but getting hardware into developers’ hands, there is a whole ecosystem now. I think if it had been left to purism, you’d have one distro (PureOS) whose development is mostly done behind closed doors plus a couple nice contributions to mobile GNOME.
In particular, they seemed to have zero interest in upstreaming the PureOS kernel patchset before Pine came along.
I also hope both succeed, but I’m glad to see a wide-open development model making more of a play.
The development of PureOS appears to be done in the open; the contribution of libhandy for GNOME was essential to making most of the apps work well in that form factor, and Purism have been supportive of KDE and UbuntuTouch as well. Not sure where the impression of “zero interest in upstreaming the PureOS kernel patchset” comes from or that the pinephone had an influence on that… my impression was the opposite. It’s never fun to maintain forks of the kernel when it’s not necessary, and resources are already tight and heavily invested in the rest of the software stack.
Purism has made a lot of missteps around communication especially with respect to shipping devices to backers. I haven’t observed any missteps around their commitment to using completely free software with no binary blobs required and getting RYF certification.
I can’t find any source control repos, only a bunch of source packages. Which is fine, and still free, but not IMO open development. (That’s not some kind of moral failing, it’s just less interesting to me.)
My impression about their interest in mainline kernels came from unresponsiveness to inquiries about just that. There didn’t seem to be much movement that direction until just after Pine started booting mainline kernels :). Lack of resources could masquerade as disinterest, for sure, though and maybe it was just that.
They certainly do seem 100% committed to complete freedom and blob free operation, and that’s excellent. It’s important to have more hardware in the world that works that way, and I think the level of interest in their operation will only convince more people to try building that.
I can relate to the hesitance about making one of these devices your daily driver. What in particular is stopping you? Personally, I’d really want to be sure I can get ample battery life and that all my favorite apps can run, like Discord and Gmail. Obvjously, it also shouldn’t drop calls, fail to receive texts, or anything like that, either
Last time I checked in, the call, text and MMS functionality was just not ready for prime time. I know that’s been improving quickly, but I haven’t squinted too hard to see where it is. For me to make it a daily driver, I’d need:
Rock solid phone calls
Extremely reliable SMS/MMS receipt
Good headset support
Mostly reliable SMS/MMS sending
Very good 4G data support
Ability for another device to reliably tether/use the phone as a hotspot
A battery that goes an entire workday without needing a charge when being used for voice calls, SMS/MMS and some light data usage
I’ve heard 1,2,3 were not quite there. 4 is supposedly there for SMS but not MMS, which last time I looked would keep me from using it on some group threads. I believe 5 is there and suspect 6 is just fine. 7 is probably good enough given the swappable, easy-to-find battery.
When it comes to apps on the phone itself, GPS would be nice to have, but as long as there’s a browser that is somewhat usable, I could stand to tether an iPad or Android tablet until app coverage was robust. I prefer to work from a laptop or tablet anyway. I’d also like to have a decent camera on my phone, but that’s not a hard requirement for me to daily drive one.
As someone who has not used the sms, MMS, or voice features of any of my devices in a decade, it’s good to be reminded that some people still use these features.
Can it run Employer mandated apps? Whether you’re delivering food or an engineer, they’re a thing now. Plus whatever app your local government mandates you put on your phone to check COVID-related restrictions.
To be honest, I think that for most people, the possibility of not owning a phone running one of the two major platforms is long gone.
A couple of points are that many employers are supportive of variations of GNU/Linux. If yours isn’t, then really consider finding one that better aligns with your values.
When governments mandate apps there must really be a push to say loudly and clearly that proprietary applications are not acceptable. Quietly accepting and using a Google or Apple device means that the line will keep shifting in the wrong direction. For many (most? really all?) there is still the possibility of not owning a phone from Google or Apple and participating fully in society. It won’t stay that way unless people demand it.
Of course employers are supportive of GNU/Linux - when it powers their servers. When it starts to interfere with their employees’ ability to log in to the network, review their schedule or attend meetings, you will see their support dry up quickly.
Not owning a Googapple phone is equivalent to not owning a phone as far as policy makers are concerned. Yes, your accessibility is considered, along with that of the elderly, homeless and poor. The notion of an employable person not owning one is increasingly alien to them.
This comment should be boosted, especially for the fact that we are getting closer to the world where only Google or Apple is accepted. This is why I want to support Pine, even if their stuff is not ready.
I would strongly recommend refusing to allow any company stuff on your private property. Not only is it likely to be spyware, but like, it is also not your problem to do their IT provisioning for them.
It’s not your problem to provision motor vehicles for your employer either, but for many people, using their private car for work isn’t just normal, it’s the cornerstone of their employability.
At least with cars (except for commute to/from the workplace) you can generally get reimbursed for the mileage and it isn’t as likely to be the spyware.
But even then, I’d say take advantage of the labor market and start fighting back against them pushing the costs on you.
I’ve never had an employer or government mandate any mobile app. They can’t even usually mandate that you have a mobile device, unless they are providing one.
I know lots of people who run various apps that make their employer or government interactions more convenient, but never were they mandatory.
I’ve had an employer mandate that I either, at my option, accept their app on my device or carry their device and use it. I chose to carry two devices, but I understand why my colleagues chose to install the “mandated” apps instead.
Yeah, if they offer me a device I’m always going to take it. No work shit on personal devices ever, but also why would I not take an extra device to have around?
I don’t really have any mandated apps other than OTP authenticators, but there’s a lot I’d miss (i.e quickly sending a message on Slack, or whatever services I use for pleasure; plus stuff like decent clients for whatever service). I could go without, but it certainly wouldn’t be a daily driver.
What I might miss more is the stuff other than third-party apps/ecosystem: the quality of the phone and the OS itself, and if they meet my needs. I doubt Pine will make something sized like my 12 mini, or if Plasma Active/phosh will hit the same quality of mouthfeel as iOS (which as a Windows Phone 7/8 refugee, has good mouthfeel since they copied live tiles)
I strongly suspect this “Pro” will have enough oomph to run anbox rather nicely. It runs on the current pinephones, but I don’t think it runs particularly well.
I don’t know how much of the sensors and other bits (that, say, a ridesharing driver’s app might need) are exposed via Anbox on a pinephone. I also don’t know how much of the google play services stack works in that environment.
The decision to maintain the original PinePhone’s screen resolution of 1440×720 was made early on; higher resolution panels consume more power and increase SoC’s load, resulting in shorter battery life and higher average thermals. A few extra pixels aren’t worth it.
Immediately turned me off. High resolution displays are what make these phones satisfactory entertainment devices as well as just communications devices.
Impressive write-up!
For some reason, I saw that other readers liked your post, but I didn’t see a “like” button anywhere
Thanks for the kind words! The likes come from social networks, most of the likes you see there are coming from Bluesky. I posted a link to the post there and people liked the post. I collect these likes using Bridgy which then sends WebMentions to my website.
I’ve removed the paywall completely :)
@cosmic-boi, is it in your power to enable the full article?
Everyone else, do we need a “paywall” tag? I’d rather avoid following links to them.
When this happens I flag it as “broken-link”. I cannot access the content so I think that is the correct flag.
This happens when the article author chooses to paywall it in Medium because it gives them a payout. They are basically using Lobsters as a free traffic source.
https://freedium.cfd/https://medium.com/shaffan-mustafas-blog/why-i-still-use-ruby-on-rails-7581464b86be
Does lobste.rs even allow posting links that require accounts?
Try this Friend Link: https://medium.com/shaffan-mustafas-blog/why-i-still-use-ruby-on-rails-7581464b86be?sk=02dbbd69852ab586a44064ccb3d8a2eb
That worked for me, at least this once, thank you. In future please consider an unencumbered link for submissions.
For sure. I’m working on building out my own blog (in Rails!) that won’t have a paywall :)
I’ve been having some decision paralysis about what framework to build a web project in next. I’ve also learned some clojure recently and been happy with the dev experience. Maybe this article is a sign. :) Thanks for sharing.
Anytime! :D
I’ve had a similar issue. The approach most Clojure devs take, i.e stringing together certain components like a routing library, an HTML DSL like Hiccup, etc., seems pretty transparent and nice, but it would be a pain for a Clojure newbie to setup x(
Isn’t this basically the point of luminus?
Is there a plain English explanation of this algorithm? I can’t figure it out from looking at the code, since there’s a lot of helper functions and caching logic
The original post is pretty weak, but I’m glad to see so much lively discussion in the comments. Reminds me why I keep coming back to lobste.rs!
Same here! I hadn’t seen this article posted on this site yet, so I figured I would take the liberty and see what other people’s thoughts on it are
Therapy. I’m getting old and the combination of Adderall, fidget toys, and youthful energy aren’t getting me through the day anymore. So I need to learn new behaviors to stay productive.
I’m in my mid 20’s, and the last two years have really taken the wind out of my sails
I’ve always had a problem of resolving to do too much and then getting stuck thrashing, not making progress on any of them.
So, in 2022:
Congrats on the new job! Hope you like it :)
seeing that doto operator reminded me of the Javascript
withblock, which I fondly remember as the thing people told me I should never ever use. But it always fascinated me as a concept, and honestly it doesn’t feel that much worse than languages with implicitthis/selfin methods.Of course the clojure thing is way more principled
The danger of JavaScript’s
withis that it applies to all variable lookups within the block, allowing confusing code:Clojure’s
dotodoesn’t have this problem: it only inserts the passed scope value at the top level of the arguments, similar to if JavaScript only modified the beginning of each line within awith.It’s possible that the advice to not use
withis outdated, though I don’t know for sure, just speculating.The reasons to not use
within JavaScript are still relevant. See my sibling comment and the additional examples of ambiguous code on MDN.I wonder if this is more or less the end of the road for the librem 5?
This offers similar openness, same software capability and slightly better specs (I think…). And hardware privacy switches too. For half the price, assuming Chinese assembly meets your requirements. (If you need a US-manufactured device, Librem offers that for $2000-ish, and Pine does not.)
And given the respective companies’ track records, it seems likely the ’Pro will ship in quantity well before the listed 52-week lead time on the non-US-manufactured Librem 5.
I was on the fence between replacing my iPhone’s battery or just replacing the whole phone. I think this announcement has pushed me toward replacing the battery and revisiting in 8 - 12 months to see if this has developed into something that could be a daily driver for me.
Purism is targeting a different market; they’re trying to make an ecosystem, a readymade device, that someone can use out of the box and be satisfied with. I don’t think they’re doing all too well with it, but it’s the intent that counts. What Pine does is make tinker toys for engineers. They save money on the device by punting software engineering to the users. (The battery management part made me queasy.)
I agree with your characterizations of the two intents. What I meant to do in my comment is question whether, given that the software works as well on the pinephone as it does on the Librem, has Pine backdoored their way into (soon) hitting that “someone can use out of the box and be satisfied with” goal for technical users better than Purism has even though they were aiming for something else entirely.
A big difference for me is that the L5 has privacy switches that are usable. That is, I want the camera and microphone off until I’m receiving a call, then I can flip the switch and answer. With the pinephone (and it looks like the pinephone pro) the switches are buried inside the back which make them interesting but not very usable in day-to-day life.
Another point as mentioned in other comments is that Purism is funding the software development to make the ecosystem. Pinephone gets the benefit of that without much of the cost. I hope both succeed so that there is a gradient of capability from the low end to the high end, and a real move off of the duopoly we have now.
Interesting point about the switches.
I think Pine has done better than Purism working to get drivers for their components supported by the upstream kernel. I think they’ve also done better getting help out to the various distributions when it comes to supporting the platform. By not having their own distro but getting hardware into developers’ hands, there is a whole ecosystem now. I think if it had been left to purism, you’d have one distro (PureOS) whose development is mostly done behind closed doors plus a couple nice contributions to mobile GNOME.
In particular, they seemed to have zero interest in upstreaming the PureOS kernel patchset before Pine came along.
I also hope both succeed, but I’m glad to see a wide-open development model making more of a play.
The development of PureOS appears to be done in the open; the contribution of libhandy for GNOME was essential to making most of the apps work well in that form factor, and Purism have been supportive of KDE and UbuntuTouch as well. Not sure where the impression of “zero interest in upstreaming the PureOS kernel patchset” comes from or that the pinephone had an influence on that… my impression was the opposite. It’s never fun to maintain forks of the kernel when it’s not necessary, and resources are already tight and heavily invested in the rest of the software stack.
Purism has made a lot of missteps around communication especially with respect to shipping devices to backers. I haven’t observed any missteps around their commitment to using completely free software with no binary blobs required and getting RYF certification.
What I meant when I said that development was behind closed doors was that when I visit
https://pureos.net/
I can’t find any source control repos, only a bunch of source packages. Which is fine, and still free, but not IMO open development. (That’s not some kind of moral failing, it’s just less interesting to me.)
My impression about their interest in mainline kernels came from unresponsiveness to inquiries about just that. There didn’t seem to be much movement that direction until just after Pine started booting mainline kernels :). Lack of resources could masquerade as disinterest, for sure, though and maybe it was just that.
They certainly do seem 100% committed to complete freedom and blob free operation, and that’s excellent. It’s important to have more hardware in the world that works that way, and I think the level of interest in their operation will only convince more people to try building that.
Check out https://source.puri.sm/public
That is dramatically better than the source link on the front of the PureOS site. Thanks.
I can relate to the hesitance about making one of these devices your daily driver. What in particular is stopping you? Personally, I’d really want to be sure I can get ample battery life and that all my favorite apps can run, like Discord and Gmail. Obvjously, it also shouldn’t drop calls, fail to receive texts, or anything like that, either
Last time I checked in, the call, text and MMS functionality was just not ready for prime time. I know that’s been improving quickly, but I haven’t squinted too hard to see where it is. For me to make it a daily driver, I’d need:
I’ve heard 1,2,3 were not quite there. 4 is supposedly there for SMS but not MMS, which last time I looked would keep me from using it on some group threads. I believe 5 is there and suspect 6 is just fine. 7 is probably good enough given the swappable, easy-to-find battery.
When it comes to apps on the phone itself, GPS would be nice to have, but as long as there’s a browser that is somewhat usable, I could stand to tether an iPad or Android tablet until app coverage was robust. I prefer to work from a laptop or tablet anyway. I’d also like to have a decent camera on my phone, but that’s not a hard requirement for me to daily drive one.
As someone who has not used the sms, MMS, or voice features of any of my devices in a decade, it’s good to be reminded that some people still use these features.
Can it run Employer mandated apps? Whether you’re delivering food or an engineer, they’re a thing now. Plus whatever app your local government mandates you put on your phone to check COVID-related restrictions.
To be honest, I think that for most people, the possibility of not owning a phone running one of the two major platforms is long gone.
A couple of points are that many employers are supportive of variations of GNU/Linux. If yours isn’t, then really consider finding one that better aligns with your values.
When governments mandate apps there must really be a push to say loudly and clearly that proprietary applications are not acceptable. Quietly accepting and using a Google or Apple device means that the line will keep shifting in the wrong direction. For many (most? really all?) there is still the possibility of not owning a phone from Google or Apple and participating fully in society. It won’t stay that way unless people demand it.
Of course employers are supportive of GNU/Linux - when it powers their servers. When it starts to interfere with their employees’ ability to log in to the network, review their schedule or attend meetings, you will see their support dry up quickly.
Not owning a Googapple phone is equivalent to not owning a phone as far as policy makers are concerned. Yes, your accessibility is considered, along with that of the elderly, homeless and poor. The notion of an employable person not owning one is increasingly alien to them.
This comment should be boosted, especially for the fact that we are getting closer to the world where only Google or Apple is accepted. This is why I want to support Pine, even if their stuff is not ready.
I would strongly recommend refusing to allow any company stuff on your private property. Not only is it likely to be spyware, but like, it is also not your problem to do their IT provisioning for them.
It’s not your problem to provision motor vehicles for your employer either, but for many people, using their private car for work isn’t just normal, it’s the cornerstone of their employability.
At least with cars (except for commute to/from the workplace) you can generally get reimbursed for the mileage and it isn’t as likely to be the spyware.
But even then, I’d say take advantage of the labor market and start fighting back against them pushing the costs on you.
I’ve never had an employer or government mandate any mobile app. They can’t even usually mandate that you have a mobile device, unless they are providing one.
I know lots of people who run various apps that make their employer or government interactions more convenient, but never were they mandatory.
I’ve had an employer mandate that I either, at my option, accept their app on my device or carry their device and use it. I chose to carry two devices, but I understand why my colleagues chose to install the “mandated” apps instead.
Yeah, if they offer me a device I’m always going to take it. No work shit on personal devices ever, but also why would I not take an extra device to have around?
I don’t really have any mandated apps other than OTP authenticators, but there’s a lot I’d miss (i.e quickly sending a message on Slack, or whatever services I use for pleasure; plus stuff like decent clients for whatever service). I could go without, but it certainly wouldn’t be a daily driver.
What I might miss more is the stuff other than third-party apps/ecosystem: the quality of the phone and the OS itself, and if they meet my needs. I doubt Pine will make something sized like my 12 mini, or if Plasma Active/phosh will hit the same quality of mouthfeel as iOS (which as a Windows Phone 7/8 refugee, has good mouthfeel since they copied live tiles)
I’m not sure. I remember hearing one of the Linux phones supported Android apps now
I strongly suspect this “Pro” will have enough oomph to run anbox rather nicely. It runs on the current pinephones, but I don’t think it runs particularly well.
I don’t know how much of the sensors and other bits (that, say, a ridesharing driver’s app might need) are exposed via Anbox on a pinephone. I also don’t know how much of the google play services stack works in that environment.
Immediately turned me off. High resolution displays are what make these phones satisfactory entertainment devices as well as just communications devices.
Beautiful, soulful article! Hope the author is doing better now 🥰
Thank you! Due to Janet, I guess I am.