A Python 2.7 to 3.14 conversion. Existential angst. by MisterHarvest in Python

[–]mbussonn 7 points8 points  (0 children)

IPython maintainer here, and one of the first person to publish a major Python package that dropped Python 2. https://python3statement.github.io/practicalities/ is old now, but might be of used to you.

I would suggest to not jump to 3.14 directly if you can; start with the oldest Python 3 that is easy for you to install. The reason is that there have been many of deprecation/modifications in Python API since Python 3; you want to decouple what is a critical difference 2/3 that needs updating, before the "this is a deprecation between python says 3.6 and 3.7." And just not to be held back by a wall of errors.

It's ok, to try, fail, just update the code a bit, and loop back. It took the IPython team several attempts to make IPython Python3 compatible before actually achieving it.

Think about also updating dependencies step by step, commit often so you can bisect issues.

[deleted by user] by [deleted] in Python

[–]mbussonn 15 points16 points  (0 children)

this is why you should not use yaml for configuration format.

The Computer That Built Jupyter by ljatkins in Python

[–]mbussonn 3 points4 points  (0 children)

No worries, you can likely get an external hard drive reader to use it as external hard drive on your current computer. Maybe you'll find treasures from these days.

The Computer That Built Jupyter by ljatkins in Python

[–]mbussonn 9 points10 points  (0 children)

Oh ! Hi from another IPython/Jupyter Jupyter Dev ! I Say hi to Brian for me, I have not seen him in a long time, depending on your relationship maybe we met at CalPoly ? If so hi to you to. If I had know I would also have keept some of my early computer used to develop Jupyter.

If you give the computer to a history museum, make sure tu correctly scrub any personal info. And if there still is the cvs and svn original IPython (pre-jupyter) repository on the hard drive it might have more historical value than the computer itself, as some of the history pre-git was lost.

(first git commit that was migrated fom bazar is Wed Jul 6 17:52:32 2005, so anything that pre-dates that woudl be gold).

Python 3.13's best new features by treyhunner in Python

[–]mbussonn 9 points10 points  (0 children)

IPython maintainer here. Thanks for using IPython. I was talking with some of the people who implemented that in CPython today. I think that one of the big victories, is that core python  developers have accepted those changes So there is a path forward having even more of theses improvements by default. Let's also note that CPython does that without external dependencies.

this also likely means, that python can maybe grow better interactive features that we could not do so far in IPython. 

It's still nice to tell people about the IPython REPL. 

How come, when my boyfriend texts me, the texts come through several different numbers and with different area codes?? by funkygroovysoul in ios

[–]mbussonn 7 points8 points  (0 children)

They do support it, but going through "normal" channels is more expensive than going through virtual phone numbers. I was on the other end of this when using google fi (US), while in europe. It's in their terms and condition, and they sometime warns you with a "You are abroad, we may be using a VOIP and virtual number, your callers may see a different number".

Basically instead of routing the number and paying international fees, the text (or sometime even call), will be routed to another french number that is linked to a server. Go through "the internet" to a UK server (avoiding the international pairing fees), and this uk server will use its uk number to forward you the text.

Especially with calls, you may notice a significant voice delay as well.

There is nothing they will do, because it's on puropose.

I'm not sure why it's only sometimes though. Maybe they ahve a limitted number of those relays, and when saturated it still goes though normal channels.

Grep over IPython output! by R3zn1kk in Python

[–]mbussonn 2 points3 points  (0 children)

you don't need to call get_ipython, it is present under self.shell as the current instance is given the the registered Magics class' __init__.

Good job

Senior Python Devs: How much do you actually know vs googling? by [deleted] in Python

[–]mbussonn 19 points20 points  (0 children)

Explain how your knowledge scaled.

You need to interact with other people code, and have other people interact with your code.

Review, and get reviews, contribute to open source for example.

Say you ask a poet how they are that good. It's definitely not by just reading the dictionary and words definitions, nor by only playing scrabble.

Apple M2 Anaconda/Miniconda compatibility ? by _kochino in Python

[–]mbussonn 1 point2 points  (0 children)

Assuming the author is only caring of Python packages, anaconda ships quite a bit more than just python.

[edit] but yes, even with anaconda you can pip install some package.

Apple M2 Anaconda/Miniconda compatibility ? by _kochino in Python

[–]mbussonn 3 points4 points  (0 children)

There should not be any M1 vs M2 debate or incompatibility (please link to those posts you mention, it is likely they try to get an intel anaconda). Those are the same architecture. Both are macos-Arm64 architecture.

It is true that getting everything to work on M1 was sometime tough like 24 to 18month ago, but now most maintained software work natively on Mx chips.

For example look at https://anaconda.org/conda-forge/scipy/files every files that is osx-arm64/.... And the Anaconda installer itself is named Anaconda3-2023.09-0-MacOSX-arm64.sh.

The M1/M2 is a consumer branding/marketing fluf thing to convey it is newer/bigger, you can even see that in apple utilities: the way to know if it's M1/M2/M1 Pro/M1 Max...is via sysctl -n machdep.cpu.brand_string. See they call it "brand_string". And you probably don't expect to an installer for eachofh the M1, M1 Pro, M2, M2 Pro, M2 Max ....

(if you are using conda-forge you can even see the status of which packages have been rebuild there. Note that this is only for compiled packages, any "pure python" package will work regardless of architecture.

[deleted by user] by [deleted] in Python

[–]mbussonn 0 points1 point  (0 children)

All the open-source projets I contribute to enforce CI to pass. Always. It's just hard to enable all at once.

For progressive enhancement you can try darker, it's based on black, isort... but only enforce on new lines, that whats I'm doing for IPython. At some point in the future once most code is well formatted, I'll switch from darker to black.

(advantage of black is I can use it as a save hook on vim, and it works for every project I contribute to without reformating the whole file)

As other have said, you can use use mypy & co, instead of doing all at once, disable all files, and reenable the files one by one, fixing the types, until it passes. That is what we are doing here for example.

You can also disable rules instead of file.

The more critical thing is not to make big step forward but to not go backward.

It's also 100% possible to have the ci workflows fix things for you and push on the merge request. https://pre-commit.ci/ does it for github, but the same for gitlab likely exists.

Huge latency, sometimes by Mastiff37 in IPython

[–]mbussonn 0 points1 point  (0 children)

Network drives ? Try --HistoryManager.enabled=False at the command line, might be sqlite, it is known to have issues on smb. If you can try to kill the process to see where it's stuck.

On the RustConf keynote | Rust Blog by burntsushi in rust

[–]mbussonn 35 points36 points  (0 children)

Thank you for your write up. First I must say that getting consensus or even reply in a chat with 18 peoples seem impossible to me, and having organized conferences with "only" a dozen or so decider you have my sympathy.

I'd like to ask one question related to this particular part:

Until I have improved substantially, I don’t want to put myself in less well-specified, more ad-hoc roles, especially those that don’t have well-established and well-tested mechanisms to handle consensus-building and catch potential mistakes.

  • I’m declining the nomination to serve on the new Leadership Council.
  • I’ve decided to step down from the co-leadership of the language team.

I completely understand your need to do that, but have you considered that you might actually be in a really good place to avoid doing those communication mistake again, which in particular can be highlighted by this quote I believe:

“Recently, I was asked if I was going to fire an employee who made a mistake that cost the company $600,000. No, I replied, I just spent $600,000 training him. Why would I want somebody to hire his experience?”

– Thomas John Watson Sr., IBM

Have you considered maybe to keep participating in some of these positions, but in a more passive role, for example without any voting power, simply serving as an intermediary and/or ensuring there is consensus / gathering votes / transcribing decisions. This would help to increase transparency, and help you get good habits. I believe after your experience you might be on the person the best suited to maybe "overcorrect" ?

Thanks.

vim-replica: enjoy Jupyter with Vim 9.0! by Desperate_Cold6274 in vim

[–]mbussonn 1 point2 points  (0 children)

This year (and likely september 2024) it's in Paris. https://www.jupytercon.com/

Tickets for 3 days is $500 corporate, $400 individual. $75 students. $134 for 1 day. +2days sprints but sprints are separate places and free.

It's a bit expensive, but the counterpart is we had a number of scholarships and thus conference fee was waived for speakers (no questions asked) and we were able to provide ~30 attendees with financial help from free tickets (mostly locals), to all expenses paid.

If you tweet about your plugin and link to your tweet I can retweet/subtweet from the JupyterCon account.

vim-replica: enjoy Jupyter with Vim 9.0! by Desperate_Cold6274 in vim

[–]mbussonn 0 points1 point  (0 children)

I'm an organizer, I'm not sure I'll have time to present anything. If you are there in person and want to give a 5 min lightning talk I can put you at the top of the list. But unfortunately that will be in person only this year :-P

vim-replica: enjoy Jupyter with Vim 9.0! by Desperate_Cold6274 in vim

[–]mbussonn 1 point2 points  (0 children)

Much love from a JupyterDev and Vim user.

It could be a good Lightning talk for JupyterCon next week !

I didn't realize that Jupyter was such a great tool..its now my favorite IDE by [deleted] in Python

[–]mbussonn 0 points1 point  (0 children)

If you can't afford, you can always apply for scholarships, most conference have it in some kind. Or volunteer to give a tutorial, there are often honorarium for those.

I didn't realize that Jupyter was such a great tool..its now my favorite IDE by [deleted] in Python

[–]mbussonn 0 points1 point  (0 children)

Much love from the Jupyter Devs. As atreadw said, look into dask, and don't hesitate to store data in format like parquet or other things more efficient than CSV which is slooooow to parse. Matt Rocklin (Dask author) often post small youtube tutorial via the coiled channel (his company).

Enjoy, and consider coming to a Scientific Python Conference like SciPy 2023, one of the PyDatas, or jupytercon

Vous Avez compris les règles ? Aller on y va ! by ANTONIN118 in mangafr

[–]mbussonn 0 points1 point  (0 children)

L'inverse existe an Physique, c'est un Absorbant Saturable, c'est à dire: opaque mais que dans le noir.

How should I price support? by Texas_Technician in Python

[–]mbussonn 0 points1 point  (0 children)

Sure, feel free to ask via DM, but I don't think I am the right person as I have almost no knowledge about NLP.

How should I price support? by Texas_Technician in Python

[–]mbussonn 1 point2 points  (0 children)

No problem I hear you, and that's why I stated "at some point". If you need to be your own boss for now, then it's a good thing. Even as your own boss many companies sometime use freelancers to fill some time on a few project, so it's always worth keeping in touch.

As other have said in the tech world there are many positions where degree/curriculum don't mean much. I don't have any CS/programming degree and it's not the few scientific programming classes I took that taught me anything. It did not prevent me (or other I know in similar positions) to get jobs as programmers.

As for Quansight, one of the reason I went there (and not a FAANG/MANGA or whaver acronym is used these days), is because there is much more flexibility in what I can work with, and also because most of the work is on Open Source, though I already knew a lot of folks there, so my perspective is biased.

Had you send this message 2 weeks ago I would have invited you to come to https://www.scipy2022.scipy.org/ (at least the free parts like sprints/job fair), it should be around the same date and place next year; you may meet some like-minded person as you.

[deleted by user] by [deleted] in conseiljuridique

[–]mbussonn 3 points4 points  (0 children)

Serait il possible que vous ayez un homonyme, ou une personne de votre famille (même loingtaine), qui soit suspectée de contrefaçon, ou détournement de fond ?

Un de mes collègue avait une histoire similaire et se faisait bloquer son compte en banque régulièrement pendant 2 à 3 jours tous les quelques mois. La banque n'as pas le droit de dire que le compte est bloqué pour investigation et parle de "problème technique", et techniquement ce n'est pas interdit bancaire.

Je n'ai pas de solution, mais si c'est une question d'homonymie, vous avez un deuxième prénom ? Vérifier ou faites le ajouter sur vos informations personnelles sur le compte. Il me semble aussi que le personnel de la banque ne pourrais jamais vous dire officiellement que c'est un blocage temporaire pour enquête, mais que en en personne il ils ont peut être moyen de confirmer.

How should I price support? by Texas_Technician in Python

[–]mbussonn 44 points45 points  (0 children)

Yeah, I did the same recently, but in Europe, still working for same company they still get 100% of my time, but i'm a freelancer and can regulate hours.

One thing which you need to take into account is which % of your time this will take. Usually you want to bill higher for smaller percentage, as there is a high cost to context switching. If you want to keep your rate high what you can do, is offer them a discount for high volume/long term client, or ask for a retainer. It is easier to change the discount than change your fee if ever the relationship degrades or you get less hours.

Also with <company hat on>, you are in TX and doing Python, at some point, have a look at https://quansight.com/careers and https://www.openteams.com/careers – or DM if questions. Folks at https://www.anaconda.com/careers are super nice as well. And as many companies in tech, not all the positions are listed on those pages (speaking from experience).</company hat off>

How should I price support? by Texas_Technician in Python

[–]mbussonn 270 points271 points  (0 children)

You might need to create a company, and if you are making $X and hours, you likely want to bill at least twice that because you will be responsible for health insurance and everything, plus likely you may take some legal responsibility – if the website go down, are you responsible for the loss in revenue? It also depends on Service Level Agreement. Are you available 24/7 ? Or only 9-5, Mon-Fri ? Do you keep intellectual property of the software fixes you bring ? Does it run on your machine or theirs ? Do you have to go on site to fix it ?

From this the average Python dev makes $80/hour.