S
Safari Books Online Blog
blog.safaribooksonline.com · Company blog · on HN since 2011
Safari Books Online's company blog publishes developer tutorials on JavaScript frameworks, D3.js, Node.js, Haskell, Rust, and Arduino.
What HN saysHN links it for its technical tutorials, such as the D3.js visualizations, Backbone pub/sub, and Rust serialization posts, and for announcements about the redesigned Safari.
35HN people shared it
8linked it in comments
121stories submitted
442story points
11 years agolast shared
2011people per year2026
Most-shared posts
- 113 Steps to AngularJS Modularization3 people · 6 points · first shared 2014 · discussion on HN
- 2Welcome to the new Safari2 people · 11 points · first shared 2014 · discussion on HN
- 3JavaScript Powered Arduino with Johnny-Five2 people · 5 points · first shared 2013 · 1 comments on HN
- 4Building Responsive Visualizations with D3.js2 people · 3 points · first shared 2014 · discussion on HN
- 5Analyze Data With MongoDB and Go2 people · 2 points · first shared 2013 · discussion on HN
- 6Decoupling Backbone.js Applications with pub/sub2 people · 1 points · first shared 2013 · discussion on HN
- 7High-Performance Log Parsing in Haskell: Part One1 people · 61 points · first shared 2015 · 16 comments on HN
- 8Building Secure Node.js Applications1 people · 61 points · first shared 2014 · 11 comments on HN
- 9File IO in Rust1 people · 59 points · first shared 2014 · 11 comments on HN
- 10Safari in a Nutshell: A Two-Day Anniversary Sale ($0.545/day)1 people · 23 points · first shared 2015 · 5 comments on HN
- 11NaNoGenMo 2014: A procedurally generated mysterious codex1 people · 11 points · first shared 2014 · discussion on HN
- 12Writing Tests and Stomping Bugs in AngularJS1 people · 6 points · first shared 2014 · discussion on HN
- 13Adding iOS 7 AirDrop Support to Your App1 people · 6 points · first shared 2013 · discussion on HN
- 14Traits: How Scala Tames Multiple Inheritance1 people · 6 points · first shared 2014 · discussion on HN
- 15Neo4j 2.0: A Giant Leap For Graphkind1 people · 6 points · first shared 2013 · discussion on HN
What HN people wrote when they linked it
bherbstman · 2014-01-29
Here's a follow-up article by the same author on Network Communication and Serialization in Rust: http://blog.safaribooksonline.com/2014/01/28/network-communication-ser…
Klasiaster · 2015-01-30
For me combing the best parts of bash and ipython is the way to go. Up to now this seems more comfortable to me than using subprocess in python or this haskell aproach which needs to be aware of every programme output to give what it promises. You can easily copy big parts of existing bash scripts and e.g. add error handling in the python way :) Even I think for loops/list comprehensions are betten than the strange bash syntax.
And here a short example::
#!/usr/bin/env ipython3
#
# 1. echo "#!/usr/bin/env ipython3" > scriptname.ipy # creates new ipy-file
#
# 2. chmod +x scriptname.ipy # make it executable
#
# 3. starting with line 2, write normal python or do some of
# the ! magic of ipython, so that you can use shell commands
# within python and even assign their output to a variable via
# var = !cmd1 | cmd2 | cmd3 # enjoy ;)
#
# 4. run via ./scriptname.ipy - if it fails with recognizing % and !
# but parses raw python fine, please check again for the .ipy suffix which must be there!
#
# ugly example, please go and find more in the wild
files = !ls *.* | grep "y"
for file in files:
!echo $file | grep "p"
# sorry for this nonsense example ;)
# it's even possible to access the output of a command by outputvariable.s, .p or .n
# see file:///usr/share/doc/ipython-doc/html/interactive/reference.html#system-shell-access
Better take a look here, it's more…
me_bx · 2015-06-30
This tutorial is not bad at all: Building Responsive Visualizations with D3.js [1]
[1]: https://blog.safaribooksonline.com/2014/02/17/building-responsible-vis…
tyrfing · 2015-02-13
By coincidence, I was reading this article just yesterday: https://blog.safaribooksonline.com/2013/10/02/decoupling-backbone-appl…
arafalov · 2014-07-18
The interface is being redone. I don't know how they are planning to cut-over though: https://www.safaribooksonline.com/
Edited: They just announced how the cutover will work: http://blog.safaribooksonline.com/2014/07/08/new-safari/
taylorbuley · 2013-08-14
I think JavaScript might be most successful on Arduino for the same reason - it's a platform with which most tinkerers are familiar.
http://blog.safaribooksonline.com/2013/07/16/javascript-powered-arduin…
eddieplan9 · 2011-05-08
A counter-example is Safari To Go - Safari Book Online's iPad app, which they withdrew due to bad review: http://blog.safaribooksonline.com/2010/11/24/ipad-app-safari-to-go-upd…
Most people agreed that PhoneGap was the wrong framework. It's not that PhoneGap is intrinsically bad - it is not - but that it is not for every task, and more likely, it is not good for most tasks that are more than a short load-lookup-leave cycle.
matty · 2011-02-11
They used PhoneGap, in fact it was Nitobi that created the app.
http://blog.safaribooksonline.com/2010/10/18/an-update-on-our-ipad-app…