HNHacker News
TopNewBestAskShowJobs

1331

158 karma · joined October 20, 2009

submissionscomments
1331··on Ask HN: Who is hiring? (January 2017)
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.

日本語でも相談・面接可能ですので、興味がある方はご連絡ください。

If you are interested, please email me:

    intercalate "@" . fmap (intercalate ".") $
      [["travis", "cardwell"], ["asahinet", "com"]]
1331··on Python REPL with syntax highlighting, autocomplete and multiline editing
Great job!

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).

1331··on Mathbreakers does state machines with trains
This reminds me of Manufactoria (an old Flash game):

http://pleasingfungus.com/Manufactoria/

1331··on Ask HN: Open-source knowledge base or wiki software?
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.

[1] http://gitit.net/

[2] https://github.com/jgm/gitit

1331··on Ask HN: I don't have CS and feel flustered
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!).

http://c.learncodethehardway.org/

http://mitpress.mit.edu/books/introduction-algorithms

* 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.

http://www.nand2tetris.org/

I have many other ideas, but I decided to stop here in order to emphasize those above. :)

1331··on Ask HN: I don't have CS and feel flustered
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.
1331··on Testing with Jenkins, Ansible and Docker
In my humble opinion, each layer should have a clear purpose: http://www.extellisys.com/articles/docker-layer-overload
1331··on Show HN: Easy-to-configure Web Server in Go
A program run as a non-privileged user can access privileged ports using authbind:

http://en.wikipedia.org/wiki/Authbind

1331··on What are some Japanese Payment Gateways?
The most popular payment gateway is GMO: http://www.gmo-pg.com/

I am often told that PayPal is the only sensible option for small businesses, however. I wish Stripe would come to Japan!

1331··on Ask HN: Best Business Book For a 13-year-old Girl?
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:

The Accounting Game: Basic Accounting Fresh from the Lemonade Stand http://www.amazon.com/dp/1402211864/

1331··on Looking for UI Elements for illustrator
Indeed, polished UI elements tend to be done in Photoshop, while those for AI tend to be for wireframing. Here are a few links:

http://developer.yahoo.com/ypatterns/about/stencils/

http://www.webalys.com/design-interface-application-framewor...

Note that not all Photoshop is raster, however; shape layers can be used to create vector elements. For example, the following is vector despite being PSD:

http://designmodo.com/polaris-free/

1331··on Show HN: RepoMap - track your local git repositories

  find . -type d -name '*.git'
1331··on Fizz Buzz codegolf challenge in 15 languages
Haskell - 112 bytes / 88 score

  a="Fizz"
  b="Buzz"
  i%j=mod i j==0
  f i
   |i%15=a++b
   |i%5=b
   |i%3=a
   |True=show i
  main=mapM_ (putStrLn.f) [1..100]
1331··on Ask HN: Looking for a Static wiki generator
It seems that the terminology is causing some confusion. The definition of a wiki is "a website which allows its users to add, modify, or delete its content via a web browser" [1], which is pretty much the opposite of "static." I assume that what you want is a static site generator that has organisational features that are common in wiki software...

My favourite wiki software is Gitit [2]. It uses Pandoc [3] to convert from an input format (such as Markdown) to HTML. Perhaps you could write a simple script that iterates through all source files and renders the HTML to a destination directory using Pandoc, creating any subdirectories as required. That minimal solution should be very easy to implement; adding organisational markup within the HTML would require some programming.

[1] http://en.wikipedia.org/wiki/Wiki

[2] http://gitit.net/

[3] http://johnmacfarlane.net/pandoc/

1331··on 24-bit color sucks
> Academics have told us that human eyes can't distinguish between the 16,777,216 colors provided by 24-bit depth, so we believe that even though it can't be true.

This is a fallacy. That the human eye cannot distinguish N different colours does not imply that a given colour space of >N colours contains every colour that the human eye can distinguish.

To give an equivalent example that is easier to understand, consider a colour space with 16.7 million shades of red. 16.7 million colours is more than the human eye can distinguish, but there are clearly many colours that the human eye can distinguish that are not in that colour space (notably shades of green, shades of blue, and combinations of red, green, and blue).

1331··on Picking Colors Optimally: An Optimization Problem in Python
There are many programs that algorithmically generate palettes based on the HSV color space. Note that since complementary colors are calculated by hue alone (a single dimension), there is no need for optimization.

Here is a web-app that I use often:

http://colorschemedesigner.com/

1331··on Analysis of bank PIN numbers
The number read in Korean ("one thousand and four") has the same pronunciation as the word for angel: both are 천사 ("cheonsa").

http://translate.google.co.kr/?tab=wT#en/ko/one%20thousand%2...

1331··on Ask HN: What git based wikis are out there?
Gitit is really nice:

http://gitit.net/

1331··on Ask HN: Learn Math the Hard Way
_Concrete Mathematics_ [1] is a good book that is fun to work through. The book can be considered an introduction/prerequisite to Knuth's _The Art of Computer Programming_ series [2], which contains much mathematics. If you would like a book that is not so difficult, _Introduction to Algorithms_ [3] (aka "CLRS") is also highly recommended.

[1] http://www.amazon.com/dp/0201558025/

[2] http://www.amazon.com/dp/0321751043/

[3] http://www.amazon.com/dp/0262033844/

1331··on Open Source Kids Learning software
Verbose links for you:

Khan Academy: http://www.khanacademy.org/

Arithmetic videos: http://www.khanacademy.org/#arithmetic

Easiest addition video: http://www.khanacademy.org/math/arithmetic/addition-subtract...

Exercises: http://www.khanacademy.org/exercisedashboard

Addition exercises: http://www.khanacademy.org/math/arithmetic/addition-subtract...

1331··on Open Source Kids Learning software
You may want to try out Edubuntu [1], which contains many open source educational applications. You can try it online, and download it if you like it. I recommend installing it in a VM. If you are already running Linux, you can simply install the packages that you want [2].

[1] http://www.edubuntu.org/

[2] https://wiki.ubuntu.com/Edubuntu/AppGuide

1331··on Ask HN: Ramping up math skills?
As for studying proofs, _How To Prove It_ [1] is indeed a good book. You may also be interested in _Book of Proof_ [2], which is available under a Creative Commons license. (You can download the PDF for free, and you can order it from Amazon [3] if you want a hard copy.)

[1] http://www.amazon.com/dp/0521675995/

[2] http://www.people.vcu.edu/~rhammack/BookOfProof/index.html

[3] http://www.amazon.com/dp/0982406207/

1331··on Ask HN: Ramping up math skills?
_How To Solve It_ [1] is indeed a good book, but I think fjellfras is referring to _How To Prove It_ [2], which prepares students "to make the transition from solving problems to proving theorems."

[1] http://www.amazon.com/dp/4871878309/ [2] http://www.amazon.com/dp/0521675995/

1331··on Ask HN: Ramping up math skills?
You may want to try working through Spivak's _Calculus_ [1] textbook. It is a bit more involved than most calculus textbooks used in universities today, so it will likely not feel like you are simply repeating something that you have already done. I would recommend this book to anybody who wants to brush up on calculus after studying it before.

[1] http://www.amazon.com/dp/0914098918/

1331··on Ask HN: Does your team use an internal wiki?
We use gitit [1]. It supports a number of syntax formats, including Markdown. It supports a number of revision control systems to use as the file store, such as git. I very rarely use the web interface, as I prefer to use the wiki from the command line, using vim for editing. Use of git also allows team members to easily clone the repository and use it even without access to the server.

Note that you can also edit text in Firefox textboxes with the editor of your choice using the "It's All Text!" add-on [2]. I have my browser configured to use gvim, so I can use vim to edit everything from emails and wiki content to this HN comment. :)

[1] http://gitit.net/ [2] https://addons.mozilla.org/en-US/firefox/addon/its-all-text/

1331··on An educational tower of programming language features
The Racket (http://racket-lang.org/) dialect of Scheme also provides different levels of a programming language with features of increasing complexity, for educational purposes. In the current version, there are five levels to be used while working through _How To Design Programs_ (http://www.htdp.org/). This book is geared toward adults, but Scheme/Racket is also a great language for teaching children (http://www.bootstrapworld.org/). Perhaps this can provide some inspiration for your project.
1331··on Ask HN: Suggested OS for teaching programming
I recommend Debian for many reasons, but the primary reason to choose Debian over OS X is package management. Installing the development platform, a database server, an HTTP server (if required), a decent text editor, and any other necessary tools is very easy in Debian. Doing so in OS X, on the other hand, is often problematic.

I taught a Haskell course last year, where participants brought their own laptops running Linux, OS X, and Windows. Linux was the least problematic. If I do a similar course in the future, I am thinking about providing a Debian virtual machine image for anybody who runs OS X or Windows.

1331··on Shortest Quicksort Ever?
I got it down to 47 characters and improved the performance by moving the less common case to the bottom. (Not that is matters since this implementation sacrifices performance for elegance, but playing code golf with Haskell destroys the elegance anyway...)

  f=filter
  q(h:t)=q(f(<=h)t)++h:q(f(>h)t)
  q _=[]
1331··on Dr. Michio Kaku: Leave Tokyo
I hesitate to comment on a post that I do not think belongs on HN, but I am doing so to point out that the title is incorrect and sensational. I watched the video because I live near Tokyo and respect Dr. Kaku. He did not recommend leaving Tokyo in this video. He said that some of his family are wondering about evacuation while others have already left. He said that a lot of people have voluntary left because they do not trust the government.
1331··on Thoughts on the future of programming languages
Human language tends to be arbitrary, and I believe that the opposite (specificity) is desirable in programming languages. Many people argue that the future of programming will involve dumbing things down as more and more people become programmers, and one way of dumbing things down is to use natural language. (I shudder at involuntary thoughts of COBOL.) Instead of dumbing languages down, I think it would be much more beneficial to raise the intelligence of the programmers. I hope that the future of programming languages tends toward mathematics, not human language.

Currently, I am often very happy with Haskell syntax for solving problems, when it is possible to define an implementation that is precise, concise, and easy to understand. For solving problems that do not easily map to Haskell syntax, using DSLs (Domain Specific Languages) to map from a representation designed for the problem in question to a Haskell representation still allows Haskell to be a good choice of language.

Page 1 of 3Next →