HNHacker News
TopNewBestAskShowJobs

jon6

130 karma · joined May 11, 2011

submissionscomments
jon6··on Attack the Block’s Joe Cornish To Direct Cyberpunk Classic Snow Crash
I just finished snow crash a week ago, I found it pretty mediocre.
jon6··on Using IRT Instead of Traditional Grading to Assess Students
I didn't really follow the math here but is a simpler solution just to give different questions different points?

1. What is ...? (Worth 1 point) 2. What is ...? (Worth 2 points)

It looks like IRT is for somehow determining the difficulty of a test given the answers of students.

jon6··on Hackasaurus
Nice. I had this idea years ago but never implemented it.
jon6··on Mark Zuckerberg married
thank god this is on hacker news
jon6··on Reducing bad signup emails with mailcheck.js
Random thought: what if you gave users a unique code that they had to email back to the server to identify themselves.
jon6··on Node.js HTTP Server Security Vulnerability: Please Upgrade To 0.6.17
Pointer arithmetic, what could go wrong?
jon6··on Functional Languages 101: What’s All the Fuss About?
I stopped listening when she said 'code and data are the same thing in a functional language'. Well not really, code and data are the same in a homoiconic language, but really any language with sufficient reflection capabilities can mix code and data. It has nothing to do with being functional.
jon6··on Tips to succeed as a programmer (Facebook engineering Notes)
I love how I can just read the bullet points and glean 90%-95% of what the post is about. So many blogs waste words.
jon6··on Syntax Matters...?
Syntax matters for people who are just learning a new language. When I was learning to program I thought about code in terms of the pascal statements I had to write. Now I think about more abstract ideas, about data flow and control flow. I can map those ideas to the language I am using at any given moment but that only came after many years of experience.

On a different note, I have abstained from commenting on Rust's attitude toward keyword names but aside #2 just bothers me. Naming conventions matter and since Rust may possibly become used in the future it may inspire some new generation of users to learn to program. 20 years later they will start writing their own languages and think "Hey, I used 'ret' in Rust and that brings back good memories so I'll just keep using it!". Truly an embarrassing part of hacker culture.

jon6··on Why is this program erroneously rejected by three C++ compilers?
The stackoverflow elites take their jobs way too seriously.
jon6··on Arch Linux turns 10
I have a bunch of painful stories about using Arch but the best one happened most recently.

I had some outdated package that I wanted to update so I asked in the #arch irc room how to just update that one package. I was told upgrading a single package is generally a bad idea and its better to just update the entire system. I have had a server running Gentoo for ~5 years and I frequently upgrade single packages at a time so I saw no problem with this but ok, I'm not an Arch expert so I followed the #arch people's advice.

I invoked the upgrade command and I see it wants to upgrade the linux kernel to 3.2 and a bunch of other stuff. After the upgrade completes I rebooted the machine (or it rebooted itself, I forget). It wasn't able to boot up. I put in a rescue cd but I couldn't figure out what was wrong.

This is exactly why I don't do 'emerge world' in gentoo anymore. It has backfired on me more than 50% of the time (when I used to do it). I simply do not trust these bleeding edge distro people to get everything working all the time and I am annoyed at the zealots who constantly advise to just upgrade as if nothing could possibly go wrong.

jon6··on Linus on kernel management style (2004)
> There's just a few simple rules here: > (1) don't call people d*ckheads (at least not in public)

lulz..

http://marc.info/?l=linux-kernel&m=133141623921011&w...

jon6··on Research in programming languages
The second comment on that page says python owes its list comprehensions to haskell. Is that true? Did Guido (or someone from python land) look at haskell and say 'hm list comprehensions are cool, lets put them in python!' or was it more like python rediscovered list comprehensions and the design in both haskell and python is just the obvious way to do it.
jon6··on Linus Torvalds on C++
I have used C and C++ extensively (10+ years both). I once tried to implement the C++ inheritance model in a C program (basically just fill up the virtual table manually). It was a complete nightmare, wrought with silly mistakes all over the place.

Probably Linus is right that C++ does not belong in the kernel but for application level code reinventing all the basic C++ things in C seems like a waste of time. Linked lists, virtual methods, some form of exception handling.. why waste your time? I laughed pretty hard when I understood how the linked list implementation in the Linux kernel works (pointer arithmetic tricks + sizeof). People don't even invent anything different from whats already in C++.

The key to using C++ is to find a comfortable subset and stick with it. I haven't used C++ on projects with more than 3 people yet so I don't know the pains of agreeing on exactly which subset to use but I imagine it could be done.

jon6··on Dear Github, please fix the Watch-Button
--quote-- So I began to aggregate my commits into batches to push in the middle of the night. Unfortunately, that really slows me down. --end quote-- How is pushing a bunch of commits that much different from pushing each commit? Slows him down.. what??
jon6··on Suffering-oriented programming
"In theory, there is no difference between theory and practice. But, in practice, there is."

IMO its best to think about a problem for a little while until you come up with some reasonable solution, then hack it up, then revisit your original decisions and see if you can do it better.

jon6··on What's new in Firefox 10 (shipping this week)
Some users may experience a crash when moving bookmarks (681795).

Seems pretty strange to proclaim a crash as something to be proud of in the 'whats new' list.

Probably they mean this bug went away (thus the fixed tag) but then the text should say 'Moving bookmarks no longer crashes'.

jon6··on Vivify: A color scheme editor for vim
Same with chrome 18 on linux. I just tested chrome 14 on linux as well and it doesn't work there either.
jon6··on Mozilla releases version 0.1 of the Rust programming language
Thats true, but new modes can be added with switches similar to how gcc has -std=c89, -std=c99 and whatnot. Newer modes could disable old features and people could upgrade at will.
jon6··on Mozilla releases version 0.1 of the Rust programming language
The language looks ok. If they are going for world domination a more likely path seems to be evolving C very slowly. That is they should start from C and then every few years add a few new features and take out some old crummy features until they finally reach Rust.

Lots of people probably don't like rewriting code bases wholesale and new languages take a while to become trusted.

jon6··on Linux Local Privilege Escalation via SUID /proc/pid/mem Write
Tried this on 2.6.31.1 but it hung while waiting for the fd from the child.

  [+] Executing child from child fork.
  [+] Opening parent mem /proc/11045/mem in child.
  [+] Sending fd 3 to parent.
  [+] Waiting for transferred fd in parent.
I waited 2-3 minutes.

<edit> Argh, I need 2.6.39, sorry.

jon6··on Garbage collection with Automatic Resource Management in Java 7
This is a welcome addition to java but I wish they had chosen a slightly different syntax. My main gripe is that its not clear what the lexical scoping rules are. Most likely the variable declared in the try is only available in the body of the try, not in the catch but its an extra thing to know. As opposed to

   InputStream in;
   try(in = new FileInputStream()){
      ...
   } catch (...){
      ...
   }
Now there are no new lexical scoping rules to understand. A lesser point is that I find the try(x = e) syntax ugly. It reminds me of the C-ism where a variable is set and tested in an if statement.

   if (x = getline()){
     ...
   }
Control flow and side effects should not be mixed, IMO.
jon6··on Vim-powerline: The ultimate vim statusline utility
If you don't want to install pathogen or vundle here is another simple way:

   ~/.vim $ git clone https://github.com/Lokaltog/vim-powerline.git powerline
Edit your ~/.vimrc and add

    set runtimepath=~/.vim/powerline,$VIMRUNTIME
jon6··on A Programming Idiom You've Never Heard Of
Beta lives on in the Racket class system as (inner).

http://docs.racket-lang.org/reference/createclass.html?q=inn...)

jon6··on A better search for visually similar images
Pretty cool. I'm not super familiar with machine learning but from reading section 2 of their paper it sounds like you need to manually find a matching picture to the one you care about (the single positive) and a bunch of pictures that don't match. Then you run the algorithm and come up with a set of weights.

It would be nice if things were more automatic, like if a computer program could decide what features were unique (maybe also through machine learning it could learn that buildings are generally unique and the sky is not).

jon6··on ARM launches free toolkit for Android
This is not an alternative to the android ndk, right? I haven't had to use the ndk-gdb debugger so far (I just debug the native linux version) so I'm not sure if this project will help me or not.

Maybe the system profiler is worthwhile? Anyone know?

jon6··on Poll: Software Engineering degree vs Computer Science
Oh sorry I didn't realize my poll came out as trying to seek advice. I'm currently in a PhD program in CS and I'm happy with it. I'm not sure what I would have chosen when I was just entering college though, not knowing really anything about either field.

I talk to a lot of people currently in school and who have graduated from CS who complain that CS didn't prepare them for the real world and there are a lot of concepts they will never use from a CS degree anyway.

My thinking was that CS is to SE as Physics is to EE or something along those lines. That is, CS as its currently taught isn't theoretical enough in my opinion. I could see a pure CS degree dropping such courses as databases and operating systems in favor of more algorithms and statistics or more programming language classes.

I think CS can make a person a very strong programmer but I can see how many people just don't care for the more theoretical aspects.

jon6··on The Art and Science of Great Code
Failure to use proper spelling in code is a cultural disease. Misspellings in English are looked down upon so why do we put up with it in code? Well I don't.

The authors code examples go back and forth between spelled correctly and not spelled correctly so I'm not quite sure what hes advocating. Figure 13 is especially hilarious.

pload: I have no idea what 'p' is

qload: I have no idea what 'q' is

numBuses: should have been busCount probably

numTransLines: what is 'trans' ?

systemName: ah a good one!

gens: should have been generators but even in that case its basically useless. I already know its a vector of Generators, what is its higher level function?

transLines and buses: same as 'gens', just a name of the type.

jon6··on In defence of Objective-C
-quote- Go and look at some Lisp, then come back – obj-c will suddenly look better :)

Trust me, it grows on you. You’ll soon learn to see through the brackets – just like the green vertical text in the matrix, it becomes invisible after a while. -end quote-

Its ironic that a Lisp/Scheme person would say the same as to why s-expressions are good (the parens become invisible!) so I don't see why objective-c syntax is better but somehow uses the same reasoning.

jon6··on “I hate almost all software” — Ryan Dahl
The real problem is that tools and libraries are incredibly unforgiving. Not only do you have to understand 10-15 different technologies to make your project work, but you need to understand them all extremely well which is a huge barrier to entry.

I don't know a whole lot about rails, so this is conjecture, but I imagine this is why ruby on rails is so popular: you don't need to know very much to get it going.

← PreviousPage 2 of 2