2,508 karma · joined January 22, 2008
That might be true if there was one single definition of OOP that everybody agreed on. Like with most other religions, this isn't the case.
I am looking for part-time work, preferably 20 hours a week or less. If you are looking to get a small project done, or you have an existing project where some maintenance work needs to be done (perhaps on a regular basis), then I would love to hear from you.
I am a very experienced Python developer, having used the language in all kinds of areas and situations, including web development (Django, Flask, Pylons, Google App Engine, etc), desktop GUI development, database access (MS SQL Server, MySQL, and Postgres), ORMs, REST APIs, scripting, backend development, automated testing, web crawling/scraping, data extraction and parsing/ETL, parsing, language implementation, games, etc.
I have a lot of experience with relational databases and SQL as well, especially MS SQL Server and Postgres. In fact, in all of my previous jobs I have used SQL, including designed database schemas, writing queries, measuring performance and optimizing queries, writing views and stored procedures, etc.
I am also available for technical writing (I kept a programming blog for many years, mostly about Python), and for front-end development using React.
(For the record: Although Python is my main programming language, I am also interested in, and have worked with, many other programming languages, including C, D, Delphi, Go, C#/Mono, Ruby, OCaml, Prolog, Lisp, Scheme, etc, on Windows, Mac OS X and Linux systems. I am also available to work on projects in these languages.)
Website: http://aquila.blue
Resume: http://aquila.blue/misc/resume.html
Open source/personal projects: https://github.com/zephyrfalcon ; https://bitbucket.org/zephyrfalcon ; https://gitlab.com/zephyrfalcon
Email: zephyrfalcon at gmail.com
Remote: yes
Willing to relocate: no
Recently use technologies: Python, Django, Postgres, React, Redux, Node, HTML, CSS
Resume/CV: http://aquila.blue/misc/resume.html
LinkedIn: https://www.linkedin.com/in/hans-nowak-16a9b316a/
Github: http://github.com/zephyrfalcon
also: http://bitbucket.org/zephyrfalcon
and: http://gitlab.com/zephyrfalcon
Email: zephyrfalcon at gmail.com
Note: At this time I am looking for part-time work, preferably 20 hours a week or less. A small, short project, or some maintenance work, would be ideal.
""" Elegance is not optional.
There is no tension between writing a beautiful program and writing an efficient program. If your code is ugly, the chances are that you either don’t understand your problem or you don’t understand your programming language, and in neither case does your code stand much chance of being efficient. In order to ensure that your program is efficient, you need to know what it is doing, and if your code is ugly, you will find it hard to analyse. """
https://programmingisterrible.com/post/39499310419/elegance-...
Remote: yes
Willing to relocate: no
Technologies: Python, relational databases (MS SQL Server, Postgres, MySQL), web crawling, GUI development, scripting, automated testing, SQLAlchemy, web development (esp. Flask, Django, Pyramid), ETL, REST APIs, parsing. Web development: mostly React. Languages: Python of course, Scheme, Prolog, Lisp. I have some familiarity with many other languages, like C, C#, Ruby, OCaml, Elixir, Clojure, Haskell, etc, and in most cases I can probably quickly become productive in them, if you have an existing projects in one of these languages. (I am always eager to pick up new programming languages or technologies.)
Resume/CV: http://aquila.blue/misc/resume.html
LinkedIn: https://www.linkedin.com/in/hans-nowak-16a9b316a/
Github: http://github.com/zephyrfalcon
also: http://bitbucket.org/zephyrfalcon
and: http://gitlab.com/zephyrfalcon
Email: zephyrfalcon at gmail.com
Note: At this time I am looking for part-time work, preferably 20 hours a week or less.
I am looking for part-time work, preferably 20 hours a week or less. If you are looking to get a small project done, or you have an existing project where some maintenance work needs to be done (perhaps on a regular basis), then I would love to hear from you.
I am a very experienced Python developer, having used the language in all kinds of areas and situations, including web development (Django, Flask, Pylons, Google App Engine, etc), desktop GUI development, database access (MS SQL Server, MySQL, and Postgres), ORMs, REST APIs, scripting, backend development, automated testing, web crawling/scraping, data extraction and parsing/ETL, parsing, language implementation, games, etc.
I have a lot of experience with relational databases and SQL as well, especially MS SQL Server and Postgres. In fact, in all of my previous jobs I have used SQL, including designed database schemas, writing queries, measuring performance and optimizing queries, writing views and stored procedures, etc.
I am also available for technical writing (I kept a programming blog for many years, mostly about Python), and for front-end development using React.
(For the record: Although Python is my main programming language, I am also interested in, and have worked with, many other programming languages, including C, D, Delphi, Go, C#/Mono, Ruby, OCaml, Prolog, Lisp, Scheme, etc, on Windows, Mac OS X and Linux systems. I am also available to work on projects in these languages.)
Website: http://aquila.blue
Resume: http://aquila.blue/misc/resume.html
Open source/personal projects: https://github.com/zephyrfalcon ; https://bitbucket.org/zephyrfalcon ; https://gitlab.com/zephyrfalcon
Email: zephyrfalcon at gmail.com
Remote: yes
Willing to relocate: no
Technologies: Python, relational databases (MS SQL Server, Postgres, MySQL), web crawling, GUI development, scripting, automated testing, SQLAlchemy, web development (esp. Flask, Django, Pyramid), ETL, REST APIs, parsing. Web development: mostly React. Languages: Python of course, Scheme, Prolog, Lisp. I have some familiarity with many other languages, like C, C#, Ruby, OCaml, Elixir, Clojure, Haskell, etc, and in most cases I can probably quickly become productive in them, if you have an existing projects in one of these languages. (I am always eager to pick up new programming languages or technologies.)
Resume/CV: http://aquila.blue/misc/resume.html
LinkedIn: https://www.linkedin.com/in/hans-nowak-16a9b316a/
Github: http://github.com/zephyrfalcon
also: http://bitbucket.org/zephyrfalcon
and: http://gitlab.com/zephyrfalcon
Email: zephyrfalcon at gmail.com
Note: At this time I am looking for part-time work, preferably 20 hours a week or less.
I am looking for part-time work, preferably 20 hours a week or less. If you are looking to get a small project done, or you have an existing project where some maintenance work needs to be done (perhaps on a regular basis), then I would love to hear from you.
I am a very experienced Python developer, having used the language in all kinds of areas and situations, including web development (Flask, Django, Pylons, Google App Engine, etc), desktop GUI development, database access (MS SQL Server, MySQL, and Postgres), ORMs, REST APIs, scripting, backend development, automated testing, web crawling/scraping, data extraction and parsing/ETL, parsing, language implementation, games, etc.
I have a lot of experience with relational databases and SQL as well, especially MS SQL Server and Postgres. In fact, in all of my previous jobs I have used SQL, including designed database schemas, writing queries, measuring performance and optimizing queries, writing views and stored procedures, etc.
I am also available for technical writing (I kept a programming blog for many years, mostly about Python), and for front-end development using React.
(For the record: Although Python is my main programming language, I am also interested in, and have worked with, many other programming languages, including C, D, Delphi, Go, C#/Mono, Ruby, OCaml, Prolog, Lisp, Scheme, etc, on Windows, Mac OS X and Linux systems. I am also available to work on projects in these languages.)
Website: http://aquila.blue
Resume: http://aquila.blue/misc/resume.html
Open source/personal projects: https://github.com/zephyrfalcon ; https://bitbucket.org/zephyrfalcon ; https://gitlab.com/zephyrfalcon
Email: zephyrfalcon at gmail.com
That said, it is nice that I can take a Prolog text from the 1980s or 1990s and find that almost all of the code still works, with minor or no modifications...
def bar():
x += [3] # UnboundLocalError
This is an especially funky one. x.extend([3]) would be allowed. Presumably x += [3] is not because it expands to x = x + [3]... However, the += operator on lists works the same as extend(), i.e. it changes the list in-place.Python as it is now, is a very different language than it was in those days. Even ignoring the whole ecosystem with libraries and package management etc, and standard library changes, it's just a much bigger language.
I have been thinking that there might be room nowadays for a new language that is unabashedly a "scripting language"... something you can easily write scripts with, but which doesn't necessarily aspire to scale real far beyond that, so people will not immediately reach for it to write, say, 250K-line web applications. :3 (Then again, if a language is good/useful/flexible enough, people will use it for everything.)
Anyway, I would like to see such a language. The old stalwarts will probably still work just fine for this purpose, but I am curious to see if there's any innovation left/possible in this particular space.
Python 3.7.3 (default, Mar 27 2019, 09:23:32)
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> len("ẅ")
2
I wonder why this is? Is the Clang version relevant here?EDIT: Your "ẅ" doesn't seem to be the same as the OP's "ẅ", although they look the same at first glance.
>>> "ẅ".encode('utf-8')
b'w\xcc\x88'
>>> "ẅ".encode('utf-8')
b'\xe1\xba\x85'
EDIT 2. More info: >>> import unicodedata
>>> w1 = "ẅ"
>>> w2 = "ẅ"
>>> unicodedata.name(w1)
'LATIN SMALL LETTER W WITH DIAERESIS'
>>> unicodedata.name(w2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: name() argument 1 must be a unicode character, not str
>>> unicodedata.name(w2[0])
'LATIN SMALL LETTER W'
>>> unicodedata.name(w2[1])
'COMBINING DIAERESIS'
So the second version (w2) does seem to consist of two separate "characters", LATIN SMALL LETTER W and COMBINING DIAERESIS, which is apparently not the same as the single-character LATIN SMALL LETTER W WITH DIAERESIS. I guess these are actually Unicode code points and not so much "characters" to a human reader, but as another poster pointed out, what the number of characters should be in a string isn't always clear-cut.Possibly "The Python Paradox" [1] and/or "Beating the Averages" [2]. (The first one, from 2004, is a bit of an odd read nowadays, since it no longer applies to Python.)
[1] http://www.paulgraham.com/pypar.html [2] http://www.paulgraham.com/avg.html
> * You can't nest, like it was mentioned
((x1, y1), (x2, y2)) = makeLine ...
This works fine in Python: ((x1,y1), (x2,y2)) = ((1,2),(3,4))
I don't know what "makeLine ..." returns, but if it doesn't exactly match the tuples on the left hand side, it won't fly in Haskell either.> * You can't use aliases
line@(point1@(x1, y1), point2@(x2, y2)) = makeLine ...
No, but this works: line = p1, p2 = ((x1,y1), (x2,y2)) = ((1,2), (3,4))
and is more readable IMHO.Point 3, 4 and 5 don't make sense in Python. This is pattern matching, not tuple/list unpacking. (One could argue that tuple unpacking is a form of pattern matching, but that is a different story...)
(As an aside, in my experience, people who believe that "programming == math" seems to be mostly attracted to languages like Haskell and OCaml, not so much to Prolog.)
> For example, given a specific length, we can ask whether there are lists of that length:
?- list_length(Ls, 3).
Ls = [_G1007, _G1087, _G1167] ;
false.
In the current situation, if you ask for `list_length(Ls, -1)`, this will fail, obviously because there are no lists with length -1. But if you remove the `N #> 0` clause, the code will happily try to find such a list, by checking for lists with length -2, -3, ... ad infinitum.Another way to look at this is that if you have a list `[_|Ls]` with length N, its length must be an integer greater than 0.
Then again, many things that supposedly would "never" make it into the language, have been added over time anyway, including the ternary if. So who knows...