yeah I liked it too, especially for 10x less the price lol
HN user
hexa00
This is crazy and needs to stop indeed it's like you have:
- A degree (In which you've proven you can understand these algos and spent 4 years studying)
I'm not going to redo all that in 1 week before your stupid puzzle!
- Experience (That has to be worth something it's not like everyone is lying about it)- You may have open source contributions
But no, some companies will not even start to look at that or not look at all, before they ask you this stupid puzzle.
Personally I now filter those companies out, I mean 20 years of experience, contributions in major open source projects, if you can't recognize that? why would I interview?
Were I work now we give code assignments, while they take longer to do you can actually see structure which I agree with the author is the top quality I'm looking for. They are also less stressful for the candidate.
These places also tend to have underground parking :(
I work in a ML ecosystem ATM and concurrency is a major problem in python:
- Threads can't be used efficiently because of the GIL
- multiprocesses has to serialize everything in a single thread often killing performance. (Unless you use shared memory space techniques, but that's less than ideal compared to threads)
- You can't use multiprocess while inside a multiprocess executor. This makes building things on top of frameworks/libs that use multiprocess a nightmare... e.g try to use a web server like over something like Keras...
Those are the top reasons I don't like python but if you got appetite for more: - The dependency ecosystem is a pita, between python versions, package versions pinned or unpinned, requirements.txt, pipenv, poetry, conda... pick one and you're still sure to get into issues with other tools needing one system of another, or packages working a bit differently in conda etc... (I use poetry, with conda or pyenv)
- The culture of let's write code easily is good to start with but it becomes a problem as people especially maybe in DS don't go further then that... and you end up with bad practices all over the place, un-testable code (the tests systems are also a pain to navigate), copy & pasted blobs etc... Reading the code of some major libraries doesn't inspire confidence, especially compared to like Java, C++, go...
And last note I've seen way better emacs setup for python and presentations, it's ok as it is but I would not call it a Jimi Hendrix of python like a comment said...I wish ML/DS would switch to Julia
I went one step further.
Use a server! , You can get cheap used, Dual Xeons 12 cores, with like 128G of ram on ebay for about 1000$
And that's not the only thing you get compared to a regular desktop you get:
- IPMI
- Dual Power supply
- Hot swappable drives!
- ECC Ram (nice for zfs)
- A decent Motherboard with PCI extensions
But yes it sounds like a airplane, but the idea is to put that computer away from your desk in a closet or in your basement.Thanks to Fiber Optic based DisplayPort cables, I have my server 30 ft away from me in the basement. My work area is dead silent!
Note I also use a usb extender and a usb DAC, so I got 2 long cables and I get keyb/mouse/audio and 4K 60Hz video.
I think a comparable spec new desktop would have cost about 5-10k..
With the savings I was able to get a PCI card with NVME drives, and 2x16TB drives and that was still cheaper :)
I'm going to approach this as a pure social thing.
To me emacs fits in a way because it fits the kinda misfit/hacker mentality I had back when I started playing with computers/software.
I found emacs and linux as the coolest things in the world while everyone was thinking computers were somehow for unwanted geeks in a basement.
And honestly that did not feel me with a need to be cool, wanted or popular.
Instead I developed a sense that having to learn things the hard way, fail and continue until I got it right without regard to what others thought had a super high value.
And to me that's what emacs symbolizes, it doesn't need to be popular or cool and maybe it will die at some point but even if that would be unfortunate it will have been central to a generation of free thinking, intelligent programmers.
And now it's 2020 it's cool to be a programmer, and we're awash with learn to be a dev the easy way seminars and here's how you can deploy your app in 2 clicks...
And that's good but it doesn't mean emacs has to be that way.
I think it is way way easier instead to create a new editor with the same free software mentality. Maybe that's Theia under the Eclipse Foundation, maybe it's something else. But migrating emacs to a VSCode like popular idea is crazy, you just can't migrate all of that.
Full disclosure I worked on GDB (using emacs) and Theia (a vscode like editor) and used emacs for 15+ years mainly doing c/cpp and org mode.
Isn't it strange all the work we put into securing networks etc... while we're engineers working from home and all it would take is someone figuring out where I live via Linkedin or whatnot.. and all this goes away with my physical security being pretty much non-existent.
I think this is somewhat funny since to think of this question at all really highlights the time people waste in JS/python etc.. Testing things that can be automatically checked by a simple compiler.
I do find that as some of these people migrate to TypeScript they write too much tests, as they are just not used to have some checks already done for them.
But to others that come from compiled/typed languages that's a question you'd never ask :)
Note this is Not a fork, it's a from scratch implementation that is compatible with the extensions of VSCode, not a vscode fork.
I could be wrong but I don't see JavaFX as alive and kicking... Especially compared to web technologies. And it's tied to Oracle pretty much...
Everything is relative, making it a bit harder may be worth it to some people and also maybe more detectable. But it's always possible of course.
It doesn't look like they offer an electron version like Theia does however.
It would be possible I guess however.
Just found out http://www.dest-unreach.org/socat/doc/socat-ttyovertcp.txt
So it seems possible with socat indeed, I'll have to give it a try :)
One problem that I see however is that emacsclient also forwards signals to emacs when the window changes size for example, I don't think that will work with socat
Theia is using monaco. But there's other reasons for Theia too like the governance of the project, vscode is controlled by Microsoft and they may have conflicts when lets say some feature would compete with their visual studio offering.
Theia wants to be free from those problems.
To prevent someone to copy it all on a laptop and sell it for example.
So emacsclient/emacs deamon work with a tty, basically emacsclient opens a tty and sends it to the emacs deamon and it uses it to send output/receive input, so you really need to be local there's no way that I know to forward a tty on the network.
The local socket opened is used only for configuration between emacs and emacsclient see: https://github.com/emacs-mirror/emacs/blob/master/lib-src/em...
That's not entierly true since Electron provides native elements like menus for example. We can hope Electron will get better at a native experience and can contribute to that too. See https://electron.atom.io/docs/tutorial/desktop-environment-i...
The problem with the JVM is that the UI toolkits are dying or died already. Having the web as UI layer brings much benefit and reduces the investement needed in the UI.
IDEA will most likely hit that problem at some point also...
Theia does not only provide remote file access you also have LSP (language server protocol) for code-completion / docs ala eldoc , company) etc..
Almost all of Theia's features are based in the backend.
The emacs equivalent would be like having emacs in daemon mode and a tcp based emacsclient locally. (I wish that existed)
Also the idea is to have something a bit more modern and appealing to the mass of javascript/web devs out there.
Theia is still far from replacing emacs, but as an emacs user myself and a Theia dev I hope I can bring what I love about emacs to Theia :)
That's what you can do with Theia, a backend (headless Theia) running anywhere and you connect via remote web UI or an electron app.
Theia does use some vscode components like the LSP or the json-rpc lib, but it is NOT a repackaged vscode. It is it's own IDE unlike Sourcegraph I think
Also the motivation is to make an opensource IDE that's not managed by one company in particular like vscodeµsoft or atom&github...
The end goal is to have something that has its governance managed by a fondation and that multiple entities can contribute to.
So don't think of it as typefox taking this on their own they're not alone and more contributors will get involved.
From the comments secction in the article from Sven Efftinge : "
The IDE in Eclipse Che can only run in browsers and in the context of a Che workspace server but not standalone as a desktop app. Our customers need a solution that can be hosted from containers, similarly to Che but also run as standard desktop apps, similar to the traditional Eclipse IDE. So Theia aims at both desktop applications as well as cloud applications.
That said, to me the sweet spot of Eclipse Che is not its IDE, but the workspace management. We are in close collaboration with Eclipse Che developers to make sure that Theia can be used within Che. "
It's the latter, the backend process (that exposes the filesytem etc) can be anywhere and the frontend (browser or electron) will connect to it over tcp.
How you setup vms/docker or something is up to you however as long as the theia backend (nodejs) can run in it.
I had this problem too with GDB on the Odroid UX4 big.LITTLE SoC.
Since GDB is patching the instrution with ptrace to insert a breakpoint for example.
See my blog post about it: https://www.kayaksoft.com/blog/2016/05/11/random-sigill-on-a...
Or the post on the GDB mailling list: https://www.sourceware.org/ml/gdb/2015-11/msg00030.html
Too bad however that the kernel patchset mentionned in a previous post only covers arm64..
So it's still a problem from arm32.