HNHacker News
TopNewBestAskShowJobs

gnuvince

2,803 karma · joined March 11, 2010

submissionscomments
gnuvince··on Monospaced Programming Fonts with Ligatures
I love Iosevka Term! My only issue with it is that there seems to be a problem in Emacs 25 that makes the screen flicker once in a while when I use it. For Emacs, I like to use Fantasque Sans Mono, another amazing font.
gnuvince··on Emacs and Magit
> Either all of the significant contributors to Magit must sign papers with the FSF (with code from the holdouts being replaced), or an entirely new Emacs interface to Git must be written.

False dichotomy: GNU Emacs can simply not ship with a git porcelain.

Most Emacs users I know typically have dozens of packages installed from MELPA; I don't think most users mind having to install an extra one. If an acceptable agreement regarding copyright assignment cannot be reached, I would really prefer that the status quo be maintained.

gnuvince··on ShareLaTeX Joins Overleaf
I hope that the documentation for ShareLaTeX stays online; of all the resources on LaTeX available, their documention stands above the rest in terms of clarity. The other day, I wanted to know how to do a proper quote, made a quick Google search, and I was happy that the first result was ShareLaTeX and I found the answer to my question.
gnuvince··on Remacs – A community-driven port of Emacs to Rust
As I understand it, it's not lack of trust, but rather that if a legal dispute occurs, it's easier if only one party is the copyright holder rather than having to find hundreds of developers scattered around the world.
gnuvince··on Mageia 6 has been released
Mini story: I got interested by Linux around 1999 when I was 15-16. I tried to install Slackware 3.4 and Red Hat 5.0 on my machine at home, but I did not know enough about computers and I did not understand English well enough to follow the instructions that came with those distros. I managed to get Linux installed and start XFree86, but I had no idea how to connect to the Internet or how to do anything really.

A few months later, I bought a copy of "Linux France" (or maybe it was another magazine?) that came with a CD of Mandrake 6.1. Thanks to the French instructions in the magazine, I was able to install Mandrake without issues and they gave instructions on how to use kppp to connect to the Internet. Since kppp looked similar to the modem connection utility from Windows 95/98, I felt comfortable and for the first time, I was able to go on the Internet with Linux! (Also, I believe that it detected my winmodem, which was probably the main problem I had with Slackware and Red Hat.)

From then on, I basically never looked back: I learned how to operate a Linux machine, I learned English, I learned to program, and 18 years later, though I haven't used Mandrake/Mandriva/Mageia in years, I am still very thankful that it existed when it did and opened up a whole new world to me. I hope that this release of Mageia can do the same for another 15-16 year-old who's interested in computers, wants to run Linux, but feels intimidated.

gnuvince··on Switching to the Mutt Email Client
I started using Emacs's mu4e package for my email at work. It's mostly mail from Github about pull requests, so no fancy HTML or images in there. I also integrated a small shell script I wrote to fetch a patch from a private repo on Github, so that when I open an email, if there is a link to the pull req (e.g. https://github.com/org/repo/pull/123) I can open the patch directly inside Emacs. Since I don't like to review code in the browser, this is quite helpful to me. In addition, by staying in Emacs rather than going to Firefox, I am way less likely to open HN or lobste.rs and start reading.
gnuvince··on My Struggles with Rust
Cool trick!
gnuvince··on Linked Lists Are Still Hard
My browser never recovered, had to `kill(1)` it.
gnuvince··on Show HN: How to write a recursive descent parser
Very cool Bob! I'm a big fan of your writing and Jasic was a nice and small project that really helped me understand compilers better. I look forward to my lunch hour when I can go over this chapter.

I'm actually going through a similar process at the moment. I would like to write a few articles about implementation considerations in compilers that text books often omit. For example, in the scanner phase, should identifier tokens contain a copy of the identifier name, should they have a length + pointer into the original stream, should they contain an index into a symbol table, etc.

gnuvince··on A Good Vimrc (2014)
It's code, but most of it is simply (use-package ivy ...) or (setq tab-width 3.14), where's the value in chunks? The typical Emacs configuration doesn't contain data structure definitions, algorithm implementations, or error handling that can be more appropriately reorganized for a reader.
gnuvince··on A Good Vimrc (2014)
> In literal (sic) programming, the order of the explanation dictates the flow of text. Conversely, well documented source code follows the order of the program.

org-mode supports noweb-like chunks, so you can do "real, Knuth-like" literate programming. It just makes little sense in the case of configuration files because they're just a collection of mostly-independent bits.

gnuvince··on Window Maker 0.95.8 released
Window Maker was one of the reason why I decided to start using Linux back in 1999. I was running Windows 98 back then, and I was so taken by the style of the different window managers available for Linux. I marveled at how flexible Enlightenment looked and fvwm either looked like crap or like a work of art depending on the time the user spent in his configuration file.

But by far, my favorite look was Window Maker. I liked the large icons, the blocky menu, and the intriguing dockapps. After I managed to install Linux (that was a hard task for a 16 year-old who couldn't read English), I used Window Maker for a number of years. It was fast, it was functional, and it was really cool! These days I use LXDE with Openbox, but I'm always thrilled to hear about new developments in Window Maker.

gnuvince··on Patoline: A modern digital typesetting system (2012)
What do you mean by "reverse engineering TeX"? Since TeX: The Program [1] is freely available with full source code and complete explanations of the the source code, I don't think one could characterize understanding how TeX works as reverse engineering.

[1] http://wiki.c2.com/?TexTheProgram

gnuvince··on What Rust Can Do That Other Languages Can't
Rust does have automatic memory management; unlike language implementations that have a GC, Rust's compiler can do all that work at compile-time, rather than at run-time. Of course, this requires that the usage be analysable statically, which is why Rust has stricter rules.
gnuvince··on Using tmux properly
When not using tmux/screen, the complete invocation is C-a a M-x roll-eyes RET Backspace.
gnuvince··on Using tmux properly
I consider myself a power Emacs user, I have a sizeable Emacs configuration, but when I connect to servers, I just use vi. Simpler, faster, less fuss.
gnuvince··on The struggle with Rust
When I first learned OCaml (knowing only Python), I swore a lot at the type checker for refusing to compile code that I knew would work at run-time (e.g., a variable having multiple types, but on strictly disjoint execution paths). It seemed insane to me that people would want to subject themselves to this kind of bondage and discipline. And yet, many years later now, I have learned and internalized how type systems work, I have learned not to try and simply replicate Python patterns in OCaml, and as a result I use OCaml to write code quickly and without any headaches; and not only is the type checker no longer an obstacle, it's now a valuable assistant.

I believe that we are seeing the same kind of phenomenon in Rust: we are trying to replicate C or C++ code directly in Rust, and we get frustrated when our efforts are foiled by the borrow checker. It's going to take some time and some efforts before we learn and internalize how borrowing works in Rust and how to change the way we write programs so that it is no longer an obstacle. The Rust team looks very receptive to comments about taking away some pain points (e.g., non-lexical lifetimes), but we also need to accept that, for a little while, we are going to feel like we did when we were new programmers and were trying to make sense of these new constraints.

gnuvince··on Lenovo ThinkPad T460 – A Good Linux Laptop for Development
I prefer using a Trackpad, however the Thinkpads have a middle button, which I use all the time in Linux.
gnuvince··on Emacs Bytecode Internals (2014)
I've started doing literate programming these past two months, and I have to say that I believe this statement less and less.
gnuvince··on One Way to Improve Your Coding
I've been doing literate programming for my own projects lately, and I'd really like if more programs were written in this way: creating a complete narrative for a reader to understand the problem and the solution is certainly better than trying to piece together a story from uncommented pieces of code.
gnuvince··on Learning to Read X86 Assembly Language
Nice article! It take a subject that is scary for many and does a great explaining a little bit very clearly using good visual aids. I look forward to the next articles!
gnuvince··on New XPS 13 Developer Edition Lands in Europe, United States and Canada
Thank you!
gnuvince··on New XPS 13 Developer Edition Lands in Europe, United States and Canada
Is it possible to install my own SSD in an XPS 13? The price difference between the default 128 GB drive and the 512 GB is a whooping $1000! I'd love to buy an XPS 13, but this price difference sounds like theft.
gnuvince··on A Rebuttal for Python 3
The original article by Zed should stand as an example of logical fallacies.
gnuvince··on Snowden: Stop Relying on Facebook for Your News
You'll see the left bias in the editorial pieces, but in news stories the writing is as neutral as I've seen. In Montreal, the alternatives are the Journal de Montréal (too much gossip, not enough hard information), La Presse (very good, liberal bias), The Gazette (liberal bias). Another important reason that pushed me toward Le Devoir: it's the only paper (not just in Canada, but everywhere I've looked) that has a PDF version; you get facsimile of the paper edition, which is very nice to read with something like zathura.
gnuvince··on Snowden: Stop Relying on Facebook for Your News
Back in late August when I started my new job, my first purchase with my first paycheck was to get a subscription to Le Devoir, Montreal's independent newspaper. It's amazing how much more informed I feel now: because the content only changes every 24 hours, I have the opportunity to get to the less sexy stories, stories that would be buried on a fast moving website because they don't generate clicks, but which still deal with important local issues.

I highly encourage people to research their local newspapers and support one: you get so much out of something that costs the equivalent of a couple Starbucks coffee pet month.

gnuvince··on Turning off syntax highlighting
This seems to be an over-reaction to overly highlighted code. I work with Erlang in Emacs, and at first I couldn't believe how much of a Christmas tree my code looked like: every token had its own color, and it was really hard to read. Fortunately, erlang-mode has a setting to reduce the amount of highlighting. I don't think the proper reaction to a code base that has too many colors is to have none at all: trop c'est comme pas assez. I think many would be happy with some limited highlighting, for example comments, strings, and other constructions that can span multiple lines, incorrect escape codes, possibly-misspelled identifiers, etc. I don't really need or care that keywords and integer literals are colored differently.
gnuvince··on Music for Programming
Very cool of you, I was debating the $149 price tag, but at $30 I just paid before I could think of a reason not to.

Quick question: is there a way to use an audio player (e.g., Audacious, RhythmBox, VLC) to stream the music without using a web browser? The animated light curves in the background make the browser use 100% of a whole CPU core, which isn't ideal, especially when using a laptop on battery.

gnuvince··on Donald Knuth used an Erlang-like notation
Neither is Knuth's definition; it's just mapping an input to an output.
gnuvince··on TIS-100 – Tessellated Intelligence System
A fun game I've been playing: http://www.microcorruption.com/

Gotta use those MSP430 assembly skills to bust through digital locks.

← PreviousPage 6 of 20Next →