HNHacker News
TopNewBestAskShowJobs

drothlis

720 karma · joined February 15, 2009

https://stb-tester.com/ | https://david.rothlis.net/ | david@rothlis.net
submissionscomments
drothlis··on Keyboard innovation is making them worse
I use KeyRemap4MacBook[1] to map the enter/return key to control, but only if held down. If you tap it, it's still return. Sounds weird but it works really well, it's a large target, and it roughly mirrors caps lock as control on the left hand.

[1] http://pqrs.org/macosx/keyremap4macbook/index.html

drothlis··on Explain Shell
Do you have any thoughts, or writings that you could point me to, regarding shell's parseability? For example, is it possible to parse a shell script without running it? Would it be possible to extract Bash's lexer+parser into a stand-alone library to be used by IDEs?
drothlis··on Winning at Candy Crush
Or if it's a similar game on a set-top box / console, use http://stb-tester.com (aka Sikuli for set-top boxes). :-)
drothlis··on Big Programming, Small Programming – Glow, the language

    In the big picture, visual programming is very natural. It is, in fact,
    so natural that we often make flowcharts of how systems work. It would
    be better if these flowcharts would actually be the system, rather than
    an incomplete, possibly outdated description.

    In the details, visual programming is just an inconvenient gimmick.
    IMHO. It may change one day.
Not exactly the same, but it reminds me of Smalltalk environments, which give you a "browser" to view classes, inheritance relationships, etc etc. while giving you a code editor for the actual method implementations (example: https://vimeo.com/27850933 ).

    We use two types of files to program Glow. The detail files, which can
    contain anything, and the overview files, which may only contain
    constants and how components are connected to each other. An overview
    file may not use macros.
    
    Both are editable with any text editor, but the overview file can also
    be edited visually as a vectorized flowchart (vectorized to zoom in on
    details)
"Both are editable with any text editor" sounds much better (to me with my admittedly limited experience with Smalltalk) than Smalltalk's file-less model where everything is a change to the whole system "image".
drothlis··on The greatest mystery of the Inca Empire was its strange economy (2012)
It certainly wasn't socialism, but it wasn't exactly slavery either. The "labor tax" was 2 years of labour (out of your entire life).
drothlis··on Ask HN: Does your life have a purpose?
3. Simple & safe family life that yields happiness and the supportive environment and mental health necessary to complete long-term projects.

4. Difficult & lonely life that leads to depression and not achieving anything at all.

drothlis··on How to Learn Emacs: A Hand-drawn One-pager for Beginners
> if a tutorial emphasizing CUA makes adoption rates higher, then the tutorial is more successful.

That's very insightful. Thanks!

drothlis··on How to Learn Emacs: A Hand-drawn One-pager for Beginners
I agree that the specific key bindings are the least interesting thing about Emacs.† This is the approach I tried to take in my tutorial: http://david.rothlis.net/emacs/howtolearn.html -- namely, teaching you how to find the commands you're looking for; finding the key binding is trivial once you know the name of the command. If you have time to cast your eye over the tutorial, I'd love to hear your feedback.

† However it doesn't really pay to customise the basic key bindings away from the defaults too much, because all the major & minor modes have key bindings carefully thought out to be consistent with the defaults.

drothlis··on How to Learn Emacs: A Hand-drawn One-pager for Beginners
http://david.rothlis.net/emacs/howtolearn.html

For example, this chapter: http://david.rothlis.net/emacs/customize_c.html

walks you through this example: What command is run when I press TAB? How do I find out? How do I find its (elisp) source code? How do I find the documentation for built-in elisp functions or macros or "special forms"? All culminating in figuring out (from the elisp source code) which variable you can set to customise your indentation level.

drothlis··on How to Learn Emacs: A Hand-drawn One-pager for Beginners
Great "learn the terms" section. So many tutorials come with a huge up-front wall of text explaining every possible term you could ever come across, when all you want is to get to the useful stuff!

The approach I took in my own guide to learning Emacs[1] was to mention those terms (like "C-x", "buffer", "frame", etc.) as if the reader already knew them, but hyperlinked to a glossary.

The most important part of Sacha's diagram is the bottom left corner: "Learn how to learn more". Every Emacs expert will tell you about "C-h k" and "C-h f" etc, but few novices actually understand how much you should be using those self-documenting features. My guide focuses on this, for those with the patience to work through it. :-)

[1] http://david.rothlis.net/emacs/howtolearn.html

drothlis··on Why IBM Now Views LLVM As Being Critical Software

  http://docs.python.org/2/library/ast.html

  http://golang.org/pkg/go/parser/
  (See also gofmt: http://golang.org/cmd/gofmt/
   and gofix: http://golang.org/cmd/fix/ )
drothlis··on Go and Rust – objects without class
All articles are also available free of cost one week after the initial publication.
drothlis··on Go and Rust – objects without class
"Where is it appropriate to post a subscriber link? Almost anywhere. Private mail, messages to project mailing lists, and blog entries are all appropriate. As long as people do not use subscriber links as a way to defeat our attempts to gain subscribers, we are happy to see them shared."

-- https://lwn.net/op/FAQ.lwn#slinks

drothlis··on Ask HN: What ergonomic keyboard/mouse do you recommend?
The microsoft keyboards work well enough on Macs: http://david.rothlis.net/keyboards/microsoft_natural_osx/
drothlis··on Mozilla Launches Firefox OS Simulator 3.0
And you can even test your FirefoxOS apps with the Selenium WebDriver API!

Mozilla's talk about testing FirefoxOS, at the Google Test Automation Conference last week: http://www.youtube.com/watch?v=X41eqcmC2Dk

Writeup: http://lwn.net/SubscriberLink/548910/9c5d6bd1bd69f34c/

Demo of automated UI test using Appium to test an app on the FirefoxOS simulator: http://www.youtube.com/watch?v=1J0aXDbjiUE#t=34m30s

drothlis··on Ask HN: Do you have READMEs or docs in your company?
Did him leaving have anything to do with the rest of the team not pulling their weight on documentation? ;-)
drothlis··on Rails 3.2.13 - Performance regressions and major bugs
It was certainly the case on the 2.3 "stable" branch two or three years ago: http://david.rothlis.net/rails/experience_report/#stable_bra...
drothlis··on Ask HN: Who is hiring? (February 2013)
Not necessarily -- email me your CV & links to your code samples, blog posts, etc. if you have any! :-)
drothlis··on Ask HN: Who is hiring? (February 2013)
In my profile: http://news.ycombinator.com/user?id=drothlis
drothlis··on Ask HN: Who is hiring? (February 2013)
YouView, London, UK / permanent, full-time, on-site

YouView is looking for Test Automation developers. You'll be writing test scripts and working on our test infrastructure, much of which we open-source (e.g. http://stb-tester.com ).

We use a lot of shell & python, and a bit of C; but intelligence, the right attitude to automation (automate everything!), programming ability, and a focus on simple solutions are more important than experience with specific technologies. You could learn a lot about Unix here. Might also suit an experienced Linux sysadmin (with excellent shell scripting) looking to do more python programming.

drothlis··on What It's Like To Be Ridiculed For Open Sourcing A Project
The problem is that it's hard to use sed portably, because GNU sed's "-r" is "-E" in BSD sed. (There's also the differing behaviour of "-i" as mentioned earlier in the thread.)
drothlis··on Caffeinated Seas Found off U.S. Pacific Northwest
What does "x * 10E^(y)" mean?
drothlis··on Ask HN: The future developer rig?
> Touch screen keyboards lack something essential: feedback.

Not forever:

http://www.macrumors.com/2009/12/24/apples-research-on-tacti...

http://www.macstories.net/news/apple-patents-keyboard-with-a...

drothlis··on How do we read code?
Emacs, at least, already provides primitive parsing / heuristics that work reasonably well for most languages. See the example in the link I posted above: All I had to do was customise the colour and font-weight of various things already recognised by Emacs: function-name, variable-name, type, etc.

Maybe what I don't understand is all the effort people put into making pretty themes for their editors --there are millions of these themes out there-- and almost all of them insist on highlighting (drawing attention to) the language's keywords of all things. The least important part of any program.

drothlis··on How do we read code?
> I think it would be interesting to compare the results with a similar eye track of a program written with more emphasis on data flow

It would also be interesting to compare with code with decent syntax highlighting. For some reason I don't quite understand, most syntax highlighting out there highlights the wrong thing: keywords. It needs to highlight the site-of-definition of functions, variables, etc. For example: http://david.rothlis.net/code_presentation/distracting_synta...

drothlis··on Stroustrup on next-gen C++: I didn't want to let go of my baby
If you're coming from C, then you need to understand the STL's concepts of "Concepts", "Modeling", "Refinement", and Iterators etc: http://www.sgi.com/tech/stl/index.html (that link doesn't cover C++11, nor even the STL additions in C++03 and TR1; but it is still essential background reading).

When some people say "Modern C++" they mean template meta-programming (traits, partial template specialisation, etc) as exemplified by Alexandrescu's book "Modern C++ design": http://www.amazon.com/Modern-Design-Generic-Programming-Patt... (note that I am not necessarily advocating such techniques, but understanding them will certainly help when you run across them in the wild).

drothlis··on 160 Mac Minis, One Rack
MacPorts, at least, is starting to provide pre-built binary packages now.
drothlis··on Exploring Emacs
That's great to hear -- thanks. :-)
drothlis··on Exploring Emacs
An extended tutorial using Emacs's self-documentation: http://david.rothlis.net/emacs/howtolearn.html

Random testimonial: «The guide has been extremely helpful and without it, I wouldn't be making the switch from vim. I particularly like that you present just enough information about various tools that I can use them productively, while referring to the excellent built-in docs. A lot of the programmer-critical tools have good documentation, but no "here's the bare minimum you need to know not to go back to your more comfortable environment" guides.»

drothlis··on Exploring Emacs
You don’t have the elisp sources installed. If you're on a unixy system, use your system’s package manager to install the "emacs-el" package.
← PreviousPage 5 of 9Next →