Hacker News new | past | comments | ask | show | jobs | submit | ablekh's comments login

I much appreciate you taking time to share your thoughtful comments on the topic.


Here is another post describing an alternative approach to instrumenting Python GIL: https://www.maartenbreddels.com/perf/jupyter/python/tracing/....


I would say that ATL is a domain-specific language (DSL). To be more accurate, I would refer to it as a horizontal DSL (as opposed to typical DSLs, which are usually focused on some vertical subject domain or industry). Another thought is that, if I were writing HPC-focused software today (and, especially, tomorrow), I would definitely much prefer Julia to ATL or similar niche solutions. Thanks to (likely) not much of, if any, loss of performance, but an incomparably wider spectrum of potential applications and covered domains. Plus, an additional benefit of lack of the two-language problem.


You can't measure that without stopping all Beta testers' interventions, which implies allowing the system to actually kill people.


The core argument in the post makes no sense to me at all. Projects and milestones are orthogonal concepts.


Can you explain more? I don't see it that way, but it might be we're defining things differently. Milestones are defined in a specific way within the article, and in that way they don't seem orthogonal to me.


Well, firstly, milestones is a standard term and even in this article the author points to the expected definition (reference to Wikipedia article). His "special version of milestones" does not imply another definition, but rather just some specific attributes / requirements / expectations for milestones to be used. Secondly, the author presents project and milestones as a dichotomy ("Most engineering organizations focus on delivering projects. They should focus on milestones instead." - emphasis mine), whereas, in fact, you cannot define milestones outside of the context of a project. Thus, it is not an either/or situation, but rather one where both concepts simply exist. One more note: while both concepts are orthogonal, they are not fully independent; meaning that milestones must belong to a project and a project can have milestones.


If you would decide or have to use Vue for a complex project today, would you use Tailwind with Vue? If yes, why? If no, why not? Would your answer and rationale change in cases, when you decide or have to use a Web application framework like Nuxt or a UI component library like Vuetify and PrimeVue?


Happy Thanksgiving! I appreciate this community and wish everyone all the best this holiday season and beyond.


I think that "mental models" is not what you imply and others in this thread talk about. A more appropriate term would be [life | work | other] "principles".


Strong agreement here.

A mental model is a model you hold in your mind of how something works, and informs you of its usage, how it can fail, and how to fix it when it does. Mental models are about specific systems and are built over time as you interact with the system; it may not be a perfect representation of the internals but as a model it's good enough to use the thing.

A simple example might be turning the wheel of a car in order to turn the vehicle. How far can you turn it? How fast do you need to turn it to make a given turn? How fast can you be going / how much do you have to slow down to make the turn safely? How about keeping going straight on the road, is holding the wheel still sufficient? When making a turn, do the wheels in the back of the vehicle follow the same tracks as the front wheels?


I'm happy that we agree on this. Having said that, I would note that your example, while certainly valid, is IMHO of a too small scale (literally and figuratively - the latter with regard to complexity) to comprehensively illustrate the "mental models" concept. When I think about mental models, I'm thinking more about analysis frameworks typically applied to much larger and usually much more complex systems than technical ones, mostly sociotechnical and socioeconomic systems (e.g., open source ecosystem, startup ecosystem, innovation, science, corporations, stock market, finance, economy, policies, politics, society, history).


Yeah, it was the only thing that came to mind that I could be reasonably sure everyone would have experience with, and that I could just dump examples of the learned/built-by-use aspect.


(handshake)


Congratulations on your launch and good luck! The following are my initial impressions and thoughts upon a brief review of your product. Hope this helps.

1. It seems that pretty much all of the functionality that your platform offers could be quite easily re-implemented (assuming relevant in-house B2B sales knowledge and experience) by using one of comprehensive general team collaboration & task management platforms (e.g., Asana). It would be much cheaper on a per-seat basis in the long term as well as incomparably less limiting in terms of external application integrations.

2. It appears that your unique selling proposition is bundling B2B sales functionality with relevant playbooks (in the form of templates) and on-demand help by B2B sales experts.

3. Apparently, your platform belongs to the "sales enablement" category of SaaS platforms (with the focus on B2B sales). If I'm right on the classification, how do you position your product among relevant competing platforms (e.g., Outreach, Salesloft, Reply, Dock, Gong)?

4. Application integration limits are not attractive. So is the platform fee (apparently, it's not refundable if, for whatever reason, your customer decides to bail out in several months after onboarding). Pricing seems to be on the high side (see my point #1). Moreover, considering that this is a B2B-focused platform, I would make the solo tier free. That would not decrease your revenue much, since B2B sales is mostly a team sport, but might enable you to use the strength of now very popular Product-Led Growth (PLG) strategy to grow revenue in a more organic fashion (yes, I know that you offer a free trial, however, AFAIK it doesn't have as large of a positive effect as a free tier).

5. Last point is more of a curiosity question: why does a 13-person startup need a 24-person(!) Product Advisory Board?


> underneath it runs a crusty old 2017 kernel full of holes of different sizes

> LineageOS and other projects can’t fix things in kernels they can’t compile

I think that you're wrong on this, that is unless you decided to use term "kernel" above too liberally, referring to all software running on a device. AFAIK, alternative Android images, such as LineageOS, include relevant - and quite up-to-date! - AOSP common kernels (aka Android common kernels or ACKs; https://source.android.com/devices/architecture/kernel/andro...), which are open source, plus some manufacturer-specific proprietary binary drivers and firmware (though there exist a related, but slowly-moving, project Replicant focused on creating and maintaining a fully open, i.e., kernel + drivers + firmware, Android distribution: https://replicant.us).


No, I’m talking about the Linux kernel. You can check this for yourself. Take a look at the roms distributed on LineageOS as the example project and see if they include kernels that are up to date in any way. For older phones outside of vendor support, those kernels will always be out of date.

Some diligent LineageOS projects are known to incorporate some open source kernel fixes sometimes, or grab newer blobs from other phones from other devices. But there’s only so much to they can do. In general, it’s true to say that older devices with community Android support are not completely up to date - the kernels are old, and vendor drivers are not getting updated. Outside of making big usability concessions in projects like Replicant, the community can’t do much here.


Good points. Though I'm a bit confused by your reply. Are you saying that LineageOS folks do not always or, at least, mostly use the latest AOSP common kernels for their relevant ROMs (as opposed to "some open source kernel fixes")?


I don’t know. I’m saying that custom rom use kernels that make your phone work. In the best case that involves shipping 1) the driver and firmware blobs the vendor provided while supporting the phone and 2) a kernel that is binary compatible with those blobs. Because of how Linux works, in the best case (2) is an old kernel of the same major version as the vendor shipped with the phone, with maybe some security fixes that made it into the mainline kernel or in the Android kernel. But if your stock rom has security bugs in e.g. the wifi driver, graphics driver of baseband firmware, your custom rom has those exact same bugs. Even if the custom rom is years newer than the latest vendor update.


Understood, thank you for clarifying.


Just ran across this relevant nice little article, which I found quite interesting: https://arstechnica.com/gadgets/2021/09/android-to-take-an-u.... I hope that people who interacted with me in this sub-thread (and other folks here) will enjoy reading it as well.


So would you please help me to find an ROM with an up-to-date Android Common Kernel for my i9300 Samsung Galaxy S3?

AFAIK, the only way to run it with working drivers for all hardware components, are ROMs which use the rusty 3.0.101 Linux kernel from back in the day and I think that is what DCKing is referring to. If you want to create a new ROM, you either have to use the old kernel and have an upper Limit of Android 7.x (in this case) or you have to accept, that not all components are supported (e.g. no GPS).

I would be glad if the situation would be different. Maybe it is different for phones you buy today?


Obviously, not all devices have up-to-date kernels. It depends on whether they are supported by relevant Android distributions. That's why I used the phrase "quite up-to-date" instead of just "up-to-date". Unfortunately for you, LineageOS has stopped supporting i9300 Samsung Galaxy S3 with the latest official release being 14.1, which is based on Nougat (Android 7.1.2).

Having said that, I ran across the following post that describes successful installation of LineageOS 18.1 (Android 11) ROM on Samsung Galaxy S3 i9300: https://devsjournal.com/install-lineage-os-in-galaxy-s3-i930.... This is just FYI. So, if you understand relevant risks and feel adventurous, you can try to install it on your device. Disclaimer: I'm neither affiliated with the author of the post, nor responsible for any damage that might be associated with following the advice contained in the above-linked post.


Thank you for looking up that ROM, as I might want to try it out. However, you are also proving my point, even that ROM with Android 11 is still running the old 3.0.101 Linux kernel. You can see it in the video at the last row:

https://youtu.be/K_i29pczfRA?t=10

So congratulations to the guy who made it possible to run Android 11 with that ancient Linux kernel, even when Android officially doesn't support it. And to illustrate what I mean by ancient: Linux 3.0 was released in 2011 and got support updates until 2013 [1]. So even when CyanogenMod/LineageOS supported the Samsung Galaxy S3 the included Linux kernels were old as crap. You can't blame them for it, as they had little choice given that a few crucial drivers are not open source and included in the upstream Linux kernel.

I just wonder if anything has changed for modern devices?

[1]: https://en.wikipedia.org/wiki/Linux_kernel_version_history


You're welcome and good luck!


https://forum.xda-developers.com/t/kernel-7-x-i9300-hybrid.3...

backported 4.2, which includes some of the 4.3 changes as well. supports lineage. 4.1 is a version google supports till 2024, so I'm assuming 4.2/4.3 is going to be even later. So, you got a phone from 2011 that's going to run a modern kernel and latest android till after 2024.

> And to illustrate what I mean by ancient

yes. I would love to see an iphone from 2011 that's going to be running the latest ios and apple kernel after 2024.


Given that the kernel still identifies as 3.0.101, my guess is that they just backported some features from 4.x and applied them to the ancient kernel ;-) I am not so sure that qualifies as a 4.1 in terms of Android support.

I think the discussion about which devices live longer is simple to answer: Apple (iPhone) and Google (Nexus/Pixel) do probably the best job of supporting their devices for a while from a manufacturers point of view (in comparison to Samsung, Xiaomi, LG, Huawei, Sony, etc.). However, if you want to spend some time and flash alternative ROMs yourself you are better off with Android due to the large modder community, but it also depends a bit on the device you bought.

My biggest issue on the other hand, is that if the manufacturers would also open source the drivers, they could be included in the Linux kernel and we would not have this discussions, because one could simply use an up-to-date kernel as you can with every PC.


And how does the kernel affect you in any way. Most of the internet runs on old kernels because servers user long term stable kernels anyway. If they ux is good the kernel shouldn't be a problem to you


There are three dimensions:

1. UX: most of the time kernel updates don't affect the user experience. However, from time to time there are scheduler updates which can have positive effects.

2. Security: Being able to run the kernel with the latest security updates is evidently very important to have a system that is not vulnerable to newly discovered exploits.

3. Dependencies: As discussed already, some software components like the Android itself requires certain kernel features and therefore certain versions to let you run the latest versions of the software.

Btw. even LTS kernels are just supported for six years or so.

My biggest problem with the situation is, that 99% of the software is open source (Android incl. the Linux kernel) and just a few vendor-specific drivers make it very hard to upgrade the kernel and therefore the system.


Interesting information, good to know.


It is different for phones made by the people who also make Android. Google. Which is why I was specifically talking about the pixel and the nexus phones sold by google. For example, kernel version 4.9.3 - the latest one (yes, originally released in november of 2017) supports up to the latest Android. In fact, since 4.1 supports the latest Android, and will till June 2024 according to google. I'm going to go on a limb here, and given the current timeline, project 4.9.3 is going to be supported for probably whatever android is released in 2026.

So, Nexus6 released in 2014 will be able to run the latest android, fully security patched including kernel (which is not that important), till about 2026.

Now let's keep in mind that I replied to a guy who said how great it is that ios has more longevity.


> So, Nexus6 released in 2014 will be able to run the latest android, fully security patched including kernel (which is not that important), till about 2026.

This is getting to borderline misinformation here. Sorry to have made you dig in to this position, but please don’t call this fully patched. Qualcomm abandoned the Snapdragon 805 in the Nexus 6 in 2017 (maybe even 2016), and no updates to that platform's kernel drivers or other proprietary components exist. You can patch up open source pieces - those are important too - but that doesn’t count as “fully security patched”. Kernel drivers are a very important vector on any system, on Android especially so.

This is why e.g. CalyxOS has these EoL notices for Google devices much newer than the Nexus 6 here: https://calyxos.org/install/ They’re honest not everything can be updated!

If you choose to run your devices this way, more power to you. It's a legit way of extending a phone's life with some tradeoffs. But please inform others about the actual limitations.

> For example, kernel version 4.9.3 - the latest one (yes, originally released in november of 2017) supports up to the latest Android.

I couldn't find anything online about Nexus 6 kernels that are not some version of Linux 3.10, which despite being an LTS release was EoLed by the Linux kernel developers end of 2017. Would be curious to get any sources on the information that the Nexus 6 has modern-ish kernels available.

It's a rare feat that Android devices get a new major kernel version, _even with_ vendor support.


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

Search: