$ whoami pi
Scientific Python developer (2007-) Matplotlib core developer (2010-) IPython + Jupyter core developer (2011-) Jupyter steering council member Software Engineer at Bloomberg lightning talk host at SciPy Conference. |
Paul Ivanov pi @ berkeley . edu https://pirsquared.org @ivanov on github and twitter
Room R0 Humanities and Social Science Building Academia Sinica No. 128, Sec. 2, Academia Rd Nankang, Taipei, Taiwan
this is my first time in Taipei!
"Planet Earth"
"The United States"
"California"
"San Francisco" or "The Bay Area"
"The East Bay"
down to naming the city ("Oakland" or "Berkeley")
and again "which part?"
"Computers"
"Programming"
"Python programing"
"Scientific Python"
"matplotlib" or "jupyter" or "numpy"
and again, within those "which part?"
it's great, enjoy it! ...but do take programming vacations
IndendationError: unindent does not match any outer indentation level
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 314: ordinal not in range(128))
result = [y := f(x), y**2, y**3]
while chunk := file.read(8192):
process(chunk)
def f(a, b, /, c, d, *, e, f):
print(a, b, c, d, e, f)
>>> user = 'eric_idle'
>>> member_since = date(1975, 7, 31)
>>> f"{user=} {member_since=}"
"user='eric_idle' member_since=datetime.date(1975, 7, 31)"
"I was born in Basic" not long after the story about my frozen ear, we had a computer in the house
The first programs I wrote ...
1998 - Quake binary is 276k (!!!) "this must be the best operating system EVER!"
C++ I learned in the summer of 1999 through 2000 is quite different from C++11 and C++17
The original full-stack development |
here's a confession - I read and write Go without syntax highlighting (I actually do this for Elm, Haskell, and Idris, too) (started with my foray into Plan9 where the acme editor doesn't even use a fixed-width font!) I find it quieter... I have never owned a smartphone. Tooling is important - not enough to have good climate... GOOS= and GOARCH=... go fmt; go fix; optimized for teams... nothing too clever... errors return pattern, dealt with by user elegant and robust concurrency model: Goroutines and channels (typed pipes) interfaces provide safer duck-typing
clean architecture: - a model - an update function (takes a model and a command, returns model) - a rendering of a model (including command triggers) eliminate runtime errors compile time error interop with Javascript (via "Ports") Semantic versioning ENFORCED by language tools
hardest to explain, most Academic build airtight programs... dependent types proofs, guarantees autogeneration of code - dialog with the compiler & runtime types that utilize functions.... functions can return types
Stéfan van der Walt scikit-image, NumPy, NumFocus Board |
Hi Paul, I love the premise of your PyCon TW talk. Where can I see it! Stéfan |
Stéfan van der Walt scikit-image NumPy NumFocus Board |
I love how functional thinking can make you use Python in an entirely different way (and, thus, I think it is important to use languages from various origins). Just consider `functools.partial`, list iteration, generators, etc. These things would not be in Python if the authors did not peek over at functional languages. Reminds me a bit of https://github.com/dabeaz/generators Without having worked in C, you'll have a hard time understanding NumPy array layout. From somewhere (JavaScript?) we gleaned the idea of Futures (Promises), which gave us Dask. But maybe sometimes we are misled?—I haven't followed through - Also, I think typing turns out to be important, and we missed the boat on Python. We're trying hard to get it back so that Numba, Cython, etc. can optimize our code. Adding types after the fact is really hard—how do you describe, e.g., the type changes that happened in np.sum(..., axis=) where axis can be a scalar, or a list of axes. I look at elisp, and think of beautiful concepts that other communities have developed, such as rx-Macro—a way of building regexps, while we still live in primitive specify-by-string landfeatures: https://francismurillo.github.io/2017-03-30-Exploring-Emacs-rx-Macro/ Anyway, all this incoherent rambling just to say that your idea appeals to me, and that I look forward to many future travels! |
Paul Ivanov pi @ berkeley . edu https://pirsquared.org /talks /blog /poetry @ivanov on twitter and github
/