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

because method chaining in Polars is much more composable and ergonomic than SQL once the pipeline gets complex which makes it superior in an exploratory "data wrangling" environment.


Duckdb does support pipe operators as an extension, which is a welcome addition to sql engines for me.

But I do agree with you.


"revolutionary"? It just copied and pasted the decades-old R (previous "S") dataframe into Python, including all the paradigms (with worse ergonomics since it's not baked into the language).


No other modern language will compete with R on ergonomics because of how it allows functions to read the context they’re called in, and S expressions are incredibly flexibly. The R manual is great.

To say pandas just copied it but worse is overly dismissive. The core of pandas has always been indexing/reindexing, split-apply-combine, and slicing views.

It’s a different approach than R’s data tables or frames.


> allows functions to read the context they’re called in

Can you show an example? Seems interesting considering that code knowing about external context is not generally a good pattern when it comes to maintainability (security, readability).

I’ve lived through some horrific 10M line coldfusion codebases that embraced this paradigm to death - they were a whole other extreme where you could _write_ variables in the scope of where you were called from!


Say I have a dataframe called 'penguins'

I can write code like: penguin_sizes <- select(penguins, weight, height)

Here, weight and height are columns inside the dataframe. But I can refer to them as if they were objects in the environment (I., e without quotes) because the select function looks for them inside the penguins dataframe (it's first argument)

This is a very simple example but it's used extensively in some R paradigms


Yes, this exactly.

And its why you can do plot(x, sin) and get properly labelled graphs. It also powers the formula API that made caret and glm modules so easy to use.


This is an interesting question.

Dataframes first appeared in S-PLUS in 1991-1992. Then R copied S, and from 1995-1996-1997 onwards R started to grow in popularity in statistics. As free and open source software, R started to take over the market among statisticians and other people who were using other statistical software, mainly SAS, SPSS and Stata.

Given that S and R existed, why were they mostly not picked up by data analysts and programmers in 1995-2008, and only Python and Pandas made dataframes popular from 2008 onwards?


Exactly. I was programming in R in 2004 and Pandas didnt exist. I remember trying Pandas once and it felt unergonomic for fata analysis and it lacked the vast library of statistical analysis library.


It was revolutionary to Python. Without NumPy and Pandas, ML in Python would never have been a thing.

(Yes, yes - I know some people wish that were the case!)


cool, but doesn't sound that great when you close your eyes and just listen. Other synths beat this hands down especially at > $1000, and can easily bring in the physical world already, including live workflows. The issue is when we get into the physical analogue world, craftsmanship, materials, shape, often age, and of course the varied kinetic interactions with the sound solicitor, bring depth and richness which no little electrically-excited xylophone will ever get anywhere close to.


It's become what happens when others learn your simple card trick.


basically it's a cliché


Ultimately what's happening here is AI is undermining trust in remote contributions, and in new code. If you don't know somebody personally, and know how they work, the trust barrier is getting higher. I personally am already ultra vigilant for any github repo that is not already well established, and am even concerned about existing projects' code quality into the future. Not against AI per se (which I use), but it's just going to get harder to fight the slop.


there's also a Forth-meets-APL project called uiua [https://www.uiua.org/]


That may require a little more mental bandwidth than I can summon right now. It looks incredibly cool, though.


I don't understand why Apple doesn't offer a headless MacOS or at least a path to a minimal install. Those mac minis make a great little server box but losing 8GB to hundreds of processes, before you've done anything, just feels wasteful and inelegant.


There are no sales in it.

Apple leadership makes decisions based on money.

That is also why there is no iPhone mini even though there is a small number of people that really prefer a small phone.


Worse, there's sales in NOT doing it. When I buy a Mac, I get extra memory "just in case." I would've been fine with 24 gigs on my MacBook Pro, but I got 48.


mr money bags over here


Oh yeah. I should've gone for a M4 Max w/128 gigs.


They did provide OS X Server at one time, but the market just wasn't there.

https://en.wikipedia.org/wiki/Mac_OS_X_Server


It wasn't an absence of a market. Those of us that had to manage OSX Server soon found out the software was marked by several high-profile bugs, technical debt, and a perceived decline in reliability. I migrated a large number of Macs to Ubuntu Server software. The hardware was great.

I fear the quality of macOS is deteriorating today in the same manner than befell OSX Server.

https://www.darkreading.com/cyber-risk/apple-blasts-mac-os-x...

https://en.wikipedia.org/wiki/Year_2038_problem

https://www.letemsvetemapplem.eu/en/2024/10/19/chyby-v-macos...


Mac OS X Server was..

.. macOS but with a utility to install apache/ldap/smtp/carddav and caldav.

very useful for a home server.

absolutely no benefit over Linux for the majority of the workloads it was designed to simplify.

It wouldn't really give you much unfortunately, certainly didn't run noticeably leaner.

(I think at some point "server" just became an .app that was available via the app store).


> very useful for a home server.

That sounds like a giant customer base, if paired with the right software for personal / small organization web publishing, blogging, and e-mail.

It's a shame that things turned out differently.


Right, but I could see an alternate timeline where OS X Server took off, and within a decade took a path similar to Windows Server (pared down services, headless flavor, etc)


Not very useful context considering that was before iOS development took off


I am not sure iOS popularity would justify macOS as a server. What would be the use case? It's not app development; that is done just fine on the standard desktop macOS. It's not backend; that is done just fine on Linux servers, even in Swift if that's your thing.


Builds


You don't need any feature from the old server OS for this, though. You just need your workstation to be on a network.


My workstation is ill-suited to be a CI runner, even if it is networked


Right. A way to rephrase this would be: what feature from the old Mac Os X Server is missing from the current macOS desktop to make it possible?


A network connected to what


Which Apple gladly sells their own Xcode Cloud infrastructure instead.


Yes. Somehow it’s actually even worse


> that was before iOS development took off

It was offered through the 2010s, iOS development had taken off by then, and the last release was in 2021.


In fact the number of unique apps available on IOS has declined since the 2010s


Those Mac minis are a pain in the ass of a server box that auto-enable FileVault after annual releases, and getting LaunchDaemons just right compared to a Linux OS feels like perpetual iterations. trying to figure out why my apache didn't start after the last reboot. Oh, must have been the Mac log rotator messing with the file permissions again

It's a shame, because I love how efficiently MacOS runs and the form factor/design language of a Mac mini is not something I feel the need to hide in a dark corner

You'll have to leave virtual desktop enabled, and will definitely be using it semi-regularly aside SSH


I use LingonX to setup which apps and scripts run when. Never had a problem.


> Those mac minis make a great little server box but losing 8GB to hundreds of processes

It doesn't matter because all the extra stuff just goes to swap. And you can't disable virtual memory anyways. So in the end you're not really losing anything. Those hundreds of processes are ultimately basically mostly just using up a little bit of your SSD, not your RAM, so it's not a concern.


They’re not in swap if those processes wake up to do things


Yeah but they mostly barely do, and only the memory they actually access gets used, as opposed to everything they've allocated. You can observe the actual aggregate usage in Activity Monitor. This is why it's no problem at all to run something actively using 10-12 GB of memory on a 16 GB Mac.


They make that, but they don't offer it to anyone to my knowledge. https://www.tomshardware.com/desktops/servers/apples-houston...


I thought a minimal darwin distro exists, giving you headless macos?


What sort of applications would benefit from MacOS instead of Linux as a headless server OS?


What would you use it for? To run Docker containers that rely on a Linux VM anyway?


Can speak for someone who managed a racked [1] Mac Mini racked as a server in 2015~2018:

* Profile Manager / MDM * Caching server for OS updates * Thunderbolt connection to a PCIe RAID HBA for a JBOD for NAS file sharing

All these things/use cases now are depreciated, MDM via JAMF in the cloud, internet is fast enough that caching OS updates isn't necessary, and NAS's are much better suited.

[1] https://www.sonnettech.com/product/legacyproducts/xmacminise...


Willing to bet most columnar stores are used for time series.


I suspect most use of columnar databases is OLAP, which is different from what people usually mean when they say time series data.


I’d take that bet


>> "The adversary has a limited ability to persuade users to trust the adversary’s agents - thus the number of social connections between the adversary’s agents and the rest of the network is limited." [1]

This assumption seems risky.

[1] https://briarproject.org/how-it-works/


This seems like a fairly reasonable assumption for the Briar case. An adversary would have to get a user accept a Briar link in error. Contrast with things like Signal[1] that base their trust on phone numbers.

Note that Briar groups are controlled by one moderator. Other participants of the group can not add members. Note also that Briar has the concept of introductions. So it is easy to avoid making the sort of identity errors commonly made by other schemes.

[1] https://articles.59.ca/doku.php?id=em:sg


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

Search: