I'm really happy to see `hnswlib` as a Python dependency since I'm the one who implemented PyPI support: https://github.com/nmslib/hnswlib/pull/140
1,195 karma · joined December 13, 2015
Founder & CTO of reduck.ai
I'm really happy to see `hnswlib` as a Python dependency since I'm the one who implemented PyPI support: https://github.com/nmslib/hnswlib/pull/140
Image models work well at least: https://huggingface.co/docs/diffusers/optimization/mps
It is even possible to run them in the browser: https://stablediffusionweb.com/
The only different aspect is that the goal of Pynecone seems to be web apps over the network and not web interfaces to local programs.
Offering tax benefits to companies that move out of Tokyo might be effective but only in the long term.
And it runs linearly in the number of edges!
I expect Prolog to be slower for large and hard inputs. But Makefiles solve exactly that!
Big corps only invest in blockchain because of the buzz words that are used as marketing by the consulting firms to sell their "expertise" and by VCs to sell their companies.
Sure they hope to gain some money, like luxury brands wanting to sell to crypto-billionaires. But crypto was a useful toy, then Ponzi scheme and now it's a closed loop. How long will the bubble last?
This created a lot of bubbles. NFTs are already down by a lot, now yield farming (https://www.bloomberg.com/news/articles/2022-04-25/sam-bankm...) just took a big hit from the FTX case. I see way too many "revolutionnary" projects from fresh graduates. There is no way that tens of thousands of inexperienced people with barely enough CS education to pass programming interviews would magically create innovation just because VCs put a ton of money on them.
Also, can you tell me more about where decentralized tech is today? BitTorrent was a revolution as a way of information sharing, Onion was a revolution for privacy and Bitcoin was a revolution for decentralized ledgers.
Starting from that, IPFS is the continuation of BitTorrent with more features and Ethereum is a more efficient (especially since The Merge) and customizable (smart contracts are advanced checkers for write operations) ledger.
But what are the real world applications of those technologies? What are concrete use cases of Ethereum and IPFS besides payments, records and file sharing?
Surely there are exciting progresses to be made on the technical side like zk-SNARKS but how useful will they be to society?
I think we already have all the technical blocks we need. If there is no real-world adoption maybe we should just wait another 10 years before pumping crazy amounts of money.
Distributed File Sharing or computation without the whole tokenomics that, while interesting, creates too much attention from scammers.
I think ChatGPT is a different model from GPT-3, which you are using.
From https://openai.com/blog/chatgpt/:
> ChatGPT is fine-tuned from a model in the GPT-3.5 series
For example, I modified my IPython config to always activate https://ipython.org/ipython-doc/3/config/extensions/autorelo...
It works well for modules with redefined functions. So if you do
from module import f1, f2
ans1 = f1()
ans2 = f2(ans1)
and f2 fails, then you can just modify the code of module and relaunch `ans2 = f2(ans1)`.What is not available is reloading classes, for example if it looks like:
from module import Class
c = Class()
c.f1()
c.f2()
and there is a bug in f2, then the class won't be redefined.I guess there is no perfect way to do it (for example what if f2 needs some variables defined in Class.__init__), but the situation is the same for Lisp with its dynamic typing.
So maybe the situation would be to have some command like `%reload Class`.
The other obstacle is restarting from a frame, and I understand that Python's standard exception handling doesn't allow that. But pdb exists so there should be a solution.
The assignment was quite computation intensive and advised to use C++ or Java.
I had a tradeoff to make on each source between computing a full Dijkstra's (distance to all other nodes) or multiple "lazy" Dijkstra's (stopping upon reaching the target node).
Instead, I had a nice idea: what if I could continue computations at the last known Dijkstra's state?
To implement it, I could either: - create an object, list all variables of my Dijkstra's and put them in a dict state - use an iterator that looks very much like the textbook Dijkstras's and use the `next()` Python method to pass queries, while the state variables AND the instruction pointer are stored in the closure
This is a really good illustration that `next` makes closures "mutable" and "callable" as the link states.
The resulting code of an "AWESOME ONLINE MEMOISED DIJKSTRA" as I wrote in the docstring back then is stupidly small and simple to read [^2]. It is also easy to call: `dijkstra_with_target(graph, source).send(target)`.
In the end, my Python code (executed with Pypy) outperformed all C++ and Java implementations by an order of magnitude.
I should write a blog post about this (and almost did here)!
[^1]: https://www.irif.fr/~kosowski/INF421-2016/problem.html
[^2]: https://github.com/louisabraham/INF421-project/blob/master/s...
1e9 * 10 / 1e5 = 1e5 transactions per second
Maybe the author needs to apply their advice and start to "think in numbers" \o/
Jokes aside and apart from the really dangerous idea of sleeping less, I really liked the article!
To be honest, no keyboard matches the comfort of my macbook with the keyboard being under the level of the palms.
I also more recently got the keychron K3 (low profile) and realized that the thing I don't like in the KA2 is my wrists being locked.
I think it's not enough to consider a keyboard without a complete setup, including where the hands / arms will rest and where the mouse is positioned.
For example even the distance of my laptop stand makes a huge difference because it affects how far my keyboard can be from my torso, hence whether where my arms rest on the table.
- take a break, go to vacation for 2 weeks
- get a regular sleep schedule with 8 hours.
- have a healthy diet without sugar (dopamine)
- do some exercise and cleaning instead of videos and games
- try L-theanine (possibly with caffeine). It helped me a ton in similar situations.
Regarding more classical algorithms, I never bothered reading the other fascicles. I think there are much more practical references but none is as complete and detailed as Knuth's treatment. He goes to the bottom of any algorithm, not just proving it has the right complexity but also asking what inputs are the most difficult, what other problems it can solve, etc. In the end you understand the field much better and have a good idea of what the boundary of knowledge (ie research) looks like.
But, and I say that as an ICPC world finalist, if you just want to solve practical problems you probably won't need TAOCP.
Plus there is a very overlooked category of corporate software selling data, like payrolls. This can be used to target you better (eg can you afford that product). Another example is Salesforce selling consumer data to marketing departments: https://www.salesforce.com/products/marketing-cloud/data-sha...
I have a lot of worker processes writing new data.
With SQLite, I was getting a lot of "Database locked" errors and ended up having to use pg.