Hacker News new | comments | show | ask | jobs | submit login

Why even bother with internship? I think this kind of system where you have to work for free just sucks...

Also it sounds to me as if you are actually a pretty good programmer. Not many people would be able to stand debugging their code for hours. And frankly, I think it is normal that it takes this long to get a complex algorithm running. That is why in most programmer jobs, you don't implement any fancy algorithms at all. You use libraries for that, and only do primitive CRUD operations using some framework.

Personally I would have to Google A* again, too, and I have never heard of "rope". Spline only rings a bell, I think it is used in graphics programming, but I wouldn't know what algorithm is behind it.

Reading further, I think you are also picking tasks that are too hard, like hacking around with NVidia device drivers? Why not experiment with a nicer and cleaner environment like HTML5? I must admit your choosing NVidia device drivers would seem a bit like a red flag to me, like a failure of judgement - why would you pick something horrible like that. Which is of course a bit insane, because we need mad hackers to drive forward technology. I am just saying...

But I think you underestimate your coding skill by a wide, wide stretch. Most people couldn't even begin to hack on NVidia device drivers. (Or maybe not device drivers - not sure what you were trying to do, but it sounds like low level stuff).

Wondering what you would charge for implementing a small project?




`nvidia-settings` is a commandline utility to control graphic card configuration. It's used to set things like SyncToVBlank, FSAA level, Vibrance, multihead positioning, and even GPU and Fan speed, since you can also query temperature.

Hacking the original nvidia drivers is pretty much impossible, they are closed source after all :)

One of the first things I've implmeented when I learned programming was mapping ACPI events of multimedia buttons to various calls to XMMS. Having something physical to relate to while coding is a big help for me, and makes a lot of sense. I assume that's one of the reasons a lot of people get arduino, rPi, beagleboard, etc... If it moves or interacts with the environment, it's easier to wrap your head around it, and more rewarding when you get it to behave as you want it to.


> Hacking the original nvidia drivers is pretty much impossible, they are closed source after all :)

You don't just open binaries in hex readers and see the program running before you like Neo in the Matrix? :P


> But I think you underestimate your coding skill by a wide, wide stretch. Most people couldn't even begin to hack on NVidia device drivers. (Or maybe not device drivers - not sure what you were trying to do, but it sounds like low level stuff).

It isn't hacking device drivers, its just using the binds to control the fans and monitor temperatures on gpus from nvidia-settings. It is the nvidia frontend configurator for the proprietary driver. That is why I brought it up, it really is just these two lines:

nvidia-settings -q gpucoretemp nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUCurrentFanSpeed={}

But they weren't even the problem, I'm talking about a python standard library implementation of what is effectively execVP in Python. I tried a half dozen ways to get standard out from that thing. Makes me feel dumb.

> Why not experiment with a nicer and cleaner environment like HTML5?

I struggle a lot with CSS for one. I can't remember all the different modifiers on tags, I don't remember hex colors, and I keep messing up ids, selectors, and classes syntax when I try it. I'd get to know Bootstrap if push came to shove on that front. I'm pretty fine with html, understand the syntax enough that the Mozilla Developer Pages + a lot of Google lets me structure a web page well enough. I've done some Django to try to build up my resume, but never built anything real serious on it besides tutorials mainly due to that lack of imagination for the "what novel thing can I make that is really useful?" problem. Worst of all is the most I've done in Javascript was the Code Academy track and the Jquery track. So I can read JSON and do the most basic JS stuff, but my interactions in a web app barely go beyond GetElementByID.

> Wondering what you would charge for implementing a small project?

I have no idea. I currently make some side cash just playing tech support in my town. I have never even tried contract work, mainly on the basis I have no portfolio of real serious projects besides school ones. I've only been out of school for a few months, and usually spent my summers taking classes to graduate early (I did try applying for Summer of Code my Sophomore year, but I can't blame my applicantee for thinking rewriting a garbage collector in a new language might be a little much for someone who had less than 6 months experience with C).

One problem is that my tools experience is practically non-existent. I know and have read lots of books, read some code samples and projects, read a lot of dev blogs, on a lot of languages - mainly because I like all the different paradigms. So I can look at C, C++, D, Python, C#, Java, Javascript, Bash, Regexes, SQL, and even a smidgen of Perl and Haskell, and understand what is going on, write something easy. But since I haven't landed a job yet in any major discipline, and because I am mainly interested in the lower level stuff, I haven't really specialized enough to tackle contract work. I imagine I'm around a hundred or so development hours away in any one language from being able to truly sell myself as a candidate for such.

I'm currently implementing keyboard shortcuts in Firefox Mobile for hardware keyboards, if you want an example of what I'm doing. I use my TF700 a lot on the go, and with the keyboard dock it is annoying not to have a lot of the desktop shortcut functionality. I just started today though, but I found the implementation of keybinds from desktop Firefox, and once I find the skeleton keybinds they already have in mobile (they do have a few) I'll just port over the major ones that are missing, with a check to only use them when a physical keyboard is in use. But that might take a week to flesh out, commit, etc. And when you are an unemployed college graduate, a week is a lot, and that is small!


"I tried a half dozen ways to get standard out from that thing. Makes me feel dumb."

Sometimes real world programming is annoying like that. I still stand by my point: you seem to be able to autonomously dig through API documentations and look up algorithms on Google. That makes you a good programmer.

"I can't remember all the different modifiers on tags, I don't remember hex colors, and I keep messing up ids, selectors, and classes syntax when I try it."

All these things can be looked up, also I think it is good to keep CSS hacking to a minimum (don't apply too many tricks). Using something like Bootstrap should eliminate most of the need for that?

I think we will wake up in some time and realize that with CSS we have created on of the most unwieldy programming constructs ever. Once they'll introduce scripting (which is planned I think), it will be real hell. The problem is that everything has so many intractable side effects.

As for contracting: I know the feeling of not knowing anything well enough to sell yourself as a specialist. I think the solution could be to just take on a small project (like a web site) and not be too specific about the technology.

Firefox Mobile keyboard: see, most people wouldn't even know how to start doing that kind of thing.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: