HNHacker News
TopNewBestAskShowJobs

hbt

762 karma · joined July 31, 2010

submissionscomments
hbt··on Jerry Seinfeld's Productivity Secret
If I may, here are my productivity tips:

- find/build a good todo system using GTD (Getting Things Done) methods (capture, organize, review)

- use it to capture all your thoughts and things you have to do. Get it out of your head.

- make weekly and monthly reviews of your work. The things you have accomplished.

- keep a daily log/journal not necessarily of things you have done but make side notes of things that affected you. New articles, a movie that changed your perspective on things, a new idea etc. If it comes back over and over, consider writing more about the subject

- clarify your long term goals vs the short ones. That's the difference between being busy doing client work for money to pay bills and being busy working on projects that will change your life (i.e scratching your own itch)

- track your progress: I track it using three columns. What I have planned for today, what I actually did and what I failed to do. My TODO system automatically assigns a score to that day and reschedules tasks. In my calendar, I do not have "completed" days, I have scores tracking my performance.

- define what is important to you and develop the habits you want to have: Exercise every day? (20 points), Work for clients (20 points), work on your weekly/monthly personal goal (e.g learn zsh) (50 points). Obviously, the number of points is subjective and based on what you believe is important

I'm sure there is more but that's the basic idea. I see my productivity as a system consistenly looking to be improved and become more efficient

hbt··on A Comfy Helvetica frontpage for Hacker News
If we're sharing awesome designs, I own all of you ;-)

http://oi55.tinypic.com/r8yys7.jpg

hbt··on When A Game Designer teaches a College Course: No Grading, just Levelling Up
Obviously admission requirements will have to change.

My understanding of levels is like the Euler challenge. http://projecteuler.net/index.php?section=problems&page=...

For example, leveling up in Calculus would be about solving problems, putting calculus into practice, writing a project using learnt concepts.

Determining if a student has leveled up is easy, they just do. They solve the problem they're given, they complete their projects.

-------------

The idea of customized education, choosing levels and perks and having a clear organization of how things are connected e.g how many levels do I have to complete before I can do project X or understand concept Y

Levels can help understand associations between subjects. Student would build mental models of how things are connected instead of applying formulas on equations like calculators.

I never understood why some subjects were more important than others. You could live your entire life without understanding physics or economics.

When it comes to education, I would rather take choice and exploration over enforcement and standardization.

PS: Reply to your comment is the first part. The rest is just my plug

hbt··on The No. 1 Habit of Highly Creative People
I think the OP meant "creative" as seeing a shortcut e.g instead of spending 10 hours trying to solve a problem, a "creative" person could do it in two using a different approach.

In this case, persistence is inefficient. You can see it happening with workaholics who will take the "hard/long" path and feel like heroes after 72 hours of work.

Persistence and dedication can be real time suckers. Especially if giving up means failing.

The beauty of laziness and postponing things is you let your mind process the information in the background. Unless the task is frustrating/urgent, I'd rather wait for an "humm, interesting" moment.

hbt··on Ask HN: PHP & Python/Ruby?
Short version: I'm in the same boat. I have a lot of experience in PHP (personal + professional) projects. I invested my time in learning frameworks (Symfony, Doctrine + Propel) and have tons of plugins and utilities classes. Feel free to investigate languages and learn tricks. But, don't switch unless the return on investment is high enough.

Personally, I ended up switching for my personal projects only. I look at my PHP code and despite my skills the language is simply limiting me. It's limiting my approach to problems, the readability/flexiblity of my code and the solutions I implement. Even if I have a saying in which technology I implement my solutions with, most of the web dev stuff is fairly well done in PHP _especially_ if you're using sophisticated frameworks. That's why, for clients, I'm still using PHP (for now)

Long version:

1) Ruby and Python are excellent languages. Elegant, readable, dynamic and in general well implemented. Personally, I prefer Ruby because I find it well designed and more intuitive than Python. Ruby is full OOP where Python has those built-in functions and I never know if the call to open and close a file is built-in or part of the File class. In general, Ruby tries to put things together in classes/modules and avoid "lost" functions.

Also, you can fully customize stuff in Ruby. To me, that's an advantage because after a couple of layers in your business model, if your want to do something like Product < Product2 instead of Product.function < Product2.function. Some people abuse it but it really helps simplifying your code when you have a lot of abstraction in your model.

3) Why shouldn't you switch? Like I said, it depends on the kind of dev you're doing. Most PHP programmers are enthusiastic hobbyists and PHP is more than enough to satisfy their needs. So, if you don't see a net return on switching to Ruby, don't. It's worth investigating languages but rarely worth switching e.g Haskell taught me a lot about modularity and gave me a new perspective on programming but I'm not gonna implement my next web app in Haskell

About the transition:

In my case, I like to experiment with languages using a problem. For example, I have a couple of batches in PHP and I needed threading. Guess what my first Ruby app was? So, find a project or something you'd like to build and ideally it's something you can't do with your current language or maybe something that is easier to build with Ruby.

Anyway, I enjoyed writing this stuff down. Hope it helps.

hbt··on The A.I. Revolution Is On
it's _Artificial_ !

Maybe their example sucked but Search engines fall into AI in my book.

I think the author is emphasizing the complexity behind very simple things. Obviously, it's not intelligent but it's doing way more than expected.

To me "intelligence" in software is about hiding complexity, making decisions and deducing things based on data, predicting and adapting based on input to deliver unforeseen results using a simple UI (where UI could be keywords in a search engine or a warehouse reorganizing itself to deliver and locate stuff faster based on new input/output).

The next generation of software is not about building actual intelligent systems. It's about accomplishing specific tasks and delivering more than expected.

Think of your IDE fixing your most common typos because it's constantly analyzing your input, or a file selection program that saves patterns/dependencies between your opened files and tries to guess which file you mean when you hit `gt` etc.

To me, this is smart behavior or _artificial_ intelligence. This is as far as software will ever get unless you start mixing it with biological stuff.

hbt··on Do a startup or travel around the world?
I'm guessing those rates only apply for south-east asia and south america and maybe some rural locations in Europe or eastern europe.

Out of curiosity, are you writing software or managing programmers remotely? I tried traveling and working as a consultant but dual screens and comfy chairs don't do well in a suitcase.

hbt··on Using ZSH
One last thing you forgot to mention. zsh is rarely installed on remote hosts. bash is everywhere.

This is a game changer in my case where I can simply download my configuration, load it in the current session and start using all my scripts, aliases on a remote host in less than a minute.

Don't get me wrong, I'm using zsh for personal stuff and computers I have complete control over. But, if I have to write a script, I'll make sure it works with Bash first.

hbt··on How to Hack the Psychology of Student Motivation
I know the feeling and one thing that really helped me is doing things related to a higher goal/purpose. I'm not talking about some spiritual stuff or convincing yourself with bullshit. Just something to aspire to, something you respect and admire or maybe the man you'd like to become. This helps aligning your goals... (but school will always destroy that with meaningless assignments... my approach to school is different)

Also, reducing the level of short-term pleasures for long-term ones really helps.

I don't personally enjoy a great range of activities. It's not depression or numbness but mostly carelessness caused by the lack of general meaning. So, when it comes to coding, it's mostly about working on something that frustrates me (or feel passionate about, the feeling is quite similar in my case) so I can reach a relaxed state again.

Happy, enjoyable are not exactly the words I'd use to describe my work. I feel stressed and anxious when I have a lot of undone things I actually care about, doing them is relaxing and when I'm done, using them or getting them out of my mind is satisfactory ;-)

hbt··on How a programming language documentation ought to look like: clojuredocs
It's good but it could be better.

e.g:

- stack overflow running on top of that to rate comments + index questions asked on functions

- smart snippet indexer. Examples rarely cover everything

- smart way to deal with changes over multiple revisions. Functions are updated and comments are either deprecated or it's a new page.

I think one should work on something like stackoverflow but for documentation. Where you could supply some sort of parser for your specific programming language but have something uniform with all the basics.

hbt··on Use Vim Like A Pro
There is also http://jvi.sourceforge.net/ a netbeans module with vim like behavior. Surprisingly, it has a lot of stuff.
hbt··on A Google Suggest Venn Diagram Generator
A funny one

http://www.technomancy.org/google-suggest-venn/#start=why+ar...

http://www.technomancy.org/google-suggest-venn/#start=why+ar...

http://www.technomancy.org/google-suggest-venn/#start=why+do...

hbt··on Google Chrome Extensions for People Who Build Websites
It needs a bit more work (if you compare it to vimperator on firefox). Especially some essential things like cursor mode, visual mode, bookmarks and keymarks

Take a look at my fork (and others) for more stuff. http://github.com/hbt/vimium

hbt··on Google Chrome Extensions for People Who Build Websites
Refer to http://news.ycombinator.com/formatdoc for formatting options.

Feel free to add a couple of links

About chrome extensions: You might like vimium http://github.com/philc/vimium

hbt··on Google Chrome Extensions for People Who Build Websites
- multi-line javascript console

- inline viewing of ajax requests

- go to link that works

- urls that work

- keyboard shortcuts for debugging (go to line, create breakpoint)

- inspector with more options

- easier to edit inline html with highlighting not raw text

- connecting to console via other extensions (chrome API is very small compared to firefox API)

- Better search in scripts

- Better search in DOM tree

- Better search in inspector

- Less clicking when viewing remote content

- Displaying remote content that works (file is loaded, content tab is empty)

Only a matter of time before it's implemented in chrome. But, firebug already has all this stuff and it makes a huge difference when debugging JS

Note: I wrote a couple of chrome extensions. Therefore, I cumulated more frustration than the average JS developer on chrome because switching to firebug is not even an option in my case ;-)

hbt··on Self-learning is overrated (in programming)
>> No amount of self-learning can come near years of work in a mission-critical environment when company’s revenue is at stake.

So true!! It doesn't matter how much you read/experiment with distributed computing (or any advanced field). How many simulations you are running or papers you're reading on the subject.

The only reason I'd sacrifice personal freedom to work for a big company is not money but resources/environment. They have data, millions of users, hundreds of computers and the kind of challenge that will simply push you and make you better at what you do.

It kinda sucks in a way because unlike ECE or any "regular engineering", you don't need money/resources to do cool things in software. Unfortunately, I'm starting to realize that's not entirely true. As soon as you start playing with intense computing, you need $$$

That's really the only reason to work for a big company if you are _only_ passionate about software --> Data, resources, work environment.

hbt··on Why are so many programmers arrogant?
1. If they make a mistake, don't correct them. Answer them shortly after using the correct form.

2. If you're right and they are wrong. Shut up and listen.

3. If they make you feel uncomfortable, be bold.

4. If they get emotional or unprofessional, steer the conversation into cold-blooded, calculated facts.

5. When dealing with regular Joe, don't waste time. Extract needed information and get it over with.

6. If it is a group conversation or meeting, only speak to make a point. Keep it short.

Perhaps this only applies to programmers dealing with other programmers and on occasion managers. One thing for sure, in my line of work, dealing with people is about extracting/exchanging information. Having a personality, being emotional is pointless. The goal is to get shit done. Leave your pride at the door.

However, in my personal life, I try not to be like a human vending machine of information.

hbt··on Emokit: Hacking the Emotiv EPOC Brain-Computer Interface
Thanks for replying.

I didn't know about OpenViBE. In your opinion, how is it compared to emotiv SDK? (I'm referring to the API, quality and things you can do with it -- with minimal coding)

hbt··on Emokit: Hacking the Emotiv EPOC Brain-Computer Interface
This looks perfect for research or OS programs. But you can forget commercial applications without the consent of emotiv.

Also, perhaps someone can clarify this for me. This doesn't guarantee you will end up with something better or similar to emotiv.

After determining which bytes correspond to which signals, do you have to write the algorithm for pattern recognition? do you have to reverse engineer the whole SDK or is it just a matter of calling the existing/proprietary algorithms using the signals?

Anyway, I think this will force them to accelerate their development for the Linux platform and perhaps be more open about it.

I'm not sure if they're not open about their development because they're stuck (I haven't seen any major improvements in their videos from 2008 to now... same stuff) or if they're scared from competition because they don't have the resources.

If they can recognize what a bunch of _very_ ambitious developers can do for free, why keep this thing locked?

hbt··on The 99% Rule (nsfw)
Each time I read this quote, I can only think of the Patriot Act.
hbt··on The 99% Rule (nsfw)
Yup, Picture used in the article.

http://www.f1online.de/premid/000518000/518434.jpg

hbt··on Regrets of the Dying
I read the book "meditations" from Marcus Aurelius recently. It's very interesting to note that the human condition hasn't changed that much. Here are a couple of quotes related to the article.

1. "How much time he saves who does not look to see what his neighbor says or does or thinks." -- Marcus Aurelius

2. Work will always be considered a waste of time when you think about it later if you don't enjoy doing it now.

Who thinks those hours debugging + testing X piece of software in language Y about 10 years ago which is now replaced by code Z wasn't a waste of time? It was fun then though.

3. "If you are pained by external things, it is not they that disturb you, but your own judgment of them. And it is in your power to wipe out that judgment now." -- Marcus Aurelius

4. No comments. True friends are amazing human beings to have around. Often better than your own blood.

5. "The happiness of your life depends upon the quality of your thoughts: therefore, guard accordingly, and take care that you entertain no notions unsuitable to virtue and reasonable nature. " -- Marcus

We could all use some philosophy, it helps when things go to shit.

hbt··on Silicon Valley's Dark Secret: It's all about Age
That's assuming you're doing the same thing you used to do 20 years ago.

I mean even with new technologies, if you end up building sophisticated CRUD interfaces with language FooBar 20 years from now, you can't really complain about it.

People who managed to differentiate themselves in CS over the years moved to stuff like computer vision, natural language processing, designing programming languages, optimizing virtual machines, designing protocols or mixing their knowledge of CS with another field.

Very advanced stuff which takes years (if not decades) to master and to write/build properly.

So, I would only worry if 20 years from now, you're still solving the same problems but with a cuter UI and a faster machine.

PS: Should have used "one" instead of "you". I don't mean "you" ;-)

hbt··on America: Land of Loners?
Loners are not necessarily lonely people. Perhaps it was only my impression reading the article, but in some sections, the author tends to confuse "loneliness" and "solitude".

True loners are people "suffering" from schizoid personality disorders.

http://en.wikipedia.org/wiki/Schizoid_personality_disorder

I should use the term "suffering" carefully because true loners actually enjoy being alone, they admire self-reliance and feel stronger by not _needing_ others.

The beauty of modern society is how easy it is to isolate yourself from others and live like a king -- compared to hundreds of years ago, where people were needed to get the little things in life.

About _meaningful_ friendship: The Internet and the ability to travel (if needed) helps you experience the third flavor (shared pursuit of virtue) without being limited by a physical location, face to face communication and simply helps you find like-minded people.

hbt··on P ≠ NP
Edit: Actual link is

http://en.wikipedia.org/wiki/P_Versus_NP_Problem

hbt··on 40 billionaires pledge to donate half their wealth
I didn't mean any disrespect.

Although I'm not in a position to give away large sums of money, I don't believe in _just_ investing in people.

Investing in their economy, industry etc. makes more sense in the long term than investing in food/water and short term solutions.

Of course, It is very easy to talk about this sitting on my couch with a full stomach.

hbt··on 40 billionaires pledge to donate half their wealth
Interesting point.

Is money better spent feeding/clothing a bunch of Africans and preventing aids _or_ on research, bio-engineering, space/ocean exploration, education etc. here at home?

Which one is short term and which one is long term?

← PreviousPage 6 of 6