Asahi Net | Kyoto, Japan | Full-time software developers | ONSITE VISA
Asahi Net, a Japanese ISP based in Tokyo, has started a new R&D lab in
Kyoto. We are developing our first product, which would likely be
exciting to those interested in distributed systems, functional
programming, embedded systems, network programming, Linux kernel hacking,
or web development. We are currently hiring for the following roles:
Haskell developer - We are seeking developers who are proficient in
Haskell and want to create secure, reliable, and scalable software.
Embedded systems engineer - We are seeking an engineer who enjoys
developing Linux-based embedded systems. Desired skills include C, Git,
Make, GDB, and POSIX shell.
Web developer - We are seeking a "full-stack" web developer. Desired
skills include Haskell, Python 3, or Go for the server side and
JavaScript for the client side.
Linux kernel/driver developer - We are seeking a Linux kernel hacker
who is network savvy. Desired skills include experience with ODP or
DPDK.
I really like the multi-line editing and IPython-style prompts. The syntax highlighting feature is nice as well, and it can be turned off with a flag. I am not a fan of auto-completion, however, so I wish there were a flag to turn it off as well (perhaps --autocompletion=off).
I use gitit [1], which is open-source [2]. As a programmer, I really like being able to browse (less), search (grep), and edit (vi) via the command line. For my personal wiki, I do not even run the web server, saving RAM, though I can easily start the server if/when desired. Since it is backed by git, it is also easy to clone the wiki for offline usage and sync when going back online.
If you stay with your current job and do not go to university, here are some concrete ideas for things that you might want to try, which I would recommend based on what you wrote:
* Learn C. I have heard good things about _Learn C The Hard Way_, which is free, though I have never used it myself. Since you want to know more "CS," work through _Introduction to Algorithms_, a pretty standard (second-semester) university text, in C (NOT a language than manages memory for you!).
* Work through _The Elements of Computing Systems_ (aka "From NAND to Tetris"). The book is fun, and it introduces many topics that are more advanced than CRUD.
Thanks. I love C and I love assembly tutorials. I got through about half of K&R. I should see it all the way through. I also have the algorithm book but it's unopened. :o I have the desire it just feels like quite the mountain. Maybe I'm making it feel bigger by just not walking it? Or walking it alone. Thanks for your advice it reinforces my thinking.
I would highly recommend Harvard CS50. Everything is available on the course website, https://cs50.harvard.edu/ . There is a linux appliance with a console utility that allows you to submit problem set solutions for automated testing/grading.
The moment I knew it was a good choice for me was after I completed a problem set that required us to write sorting algorithms.
My prior experience was with Ruby and JS, so .sort() => done, no idea how this mysterious .sort() was returning my ordered set. After the lecture and writing the algorithms, I didn't just have the code as you would following a tutorial. I had a better understanding behind "the magic". I understood how to evaluate the performance of these algorithms using Big O notation and why my Google killing search engine won't do much Google killing if I use bubble-sort.
Give it a try. You'll get a good introduction to CS and write some cool programs, including a program that can recover "deleted" images from a memory card.
Good idea, I'd like to add that after you get some know the basics of C to pick up K&R and do the examples. Also go to the local city/uni library and pick up an old book on UNIX utilities (AWK,SED,GREP etc)
I would like to second "learn something new each *" (for anybody, university degree or not!). It is great if you can do so on your own. If you have a hard time, you can change your situation (pay money to take courses, work through free courses online, get a mentor, study with others, work on open source projects, etc., etc.) in order to get yourself to do the necessary work to learn [relevant] new things regularly. Note that the key is yourself, not external factors: you simply have to do the work.
You make good points in this post. We are working on addressing some of them already. I would love to discuss this directly, you can ping me anytime, shykes on #docker / freenode.
Indeed, but it would make more sense (in my opinion) to have the web server natively 'de-elevate' it's permissions than to expect the sysadmin to be competent enough to set up authbind manually. Particularly when setuid/setgid is so easy in Go and that every other webserver out there natively drops down to a designated webuser after the daemons been launched and ports binded.
Something that I wish I would have learned at 13 is basic accounting (accrual method). Since your daughter is running a vending business, she has a great opportunity to practice accounting! Perhaps this book would be a good one for her:
Asahi Net, a Japanese ISP based in Tokyo, has started a new R&D lab in Kyoto. We are developing our first product, which would likely be exciting to those interested in distributed systems, functional programming, embedded systems, network programming, Linux kernel hacking, or web development. We are currently hiring for the following roles:
Haskell developer - We are seeking developers who are proficient in Haskell and want to create secure, reliable, and scalable software.
Embedded systems engineer - We are seeking an engineer who enjoys developing Linux-based embedded systems. Desired skills include C, Git, Make, GDB, and POSIX shell.
Web developer - We are seeking a "full-stack" web developer. Desired skills include Haskell, Python 3, or Go for the server side and JavaScript for the client side.
Linux kernel/driver developer - We are seeking a Linux kernel hacker who is network savvy. Desired skills include experience with ODP or DPDK.
日本語でも相談・面接可能ですので、興味がある方はご連絡ください。
If you are interested, please email me: