HNHacker News
TopNewBestAskShowJobs

kaiwetzel

74 karma · joined December 13, 2010

you can contact me at kai dot wetzel at berlin dot de
submissionscomments
kaiwetzel··on Why a*a*a*a*a*a cannot be optimized to (a*a*a)*(a*a*a)?
In numerical analysis class numerical stability was a major theme[1]. It was very definitely eye-opening how quickly rounding/truncation errors can bite you in seemingly trivial situations!

On the other hand, if I have a function that works on parameters in a specified range (say, 0.0 to 1.0) and returns results which is supposed to be correct to a specified accuracy I would love to have the compiler do all the possible optimizations without having to specify a compiler flag (doing so for, say, just a single function can be quite annoying!). Maybe approaches like Haskell's type inference will, eventually, produce significantly faster code because they can do things like this?

In a somewhat related case, it would be awesome if the compiler recognized properties like associativeness, distributiveness, commutitiveness of composite functions and rearange things optimally for performance. It's really nice to see so much development in languages and compilers at the moment (llvm, javascript, functional languages like Haskell, etc.) :°)

[1] http://en.wikipedia.org/wiki/Numerical_stability

kaiwetzel··on Collection of classic computer science algorithms written in JavaScript
I think it's nice to have it included to realize that while merge sort is not significantly more difficult (once the idea of divide and conquer is clear) the latter is a lot faster.

I actually don't like the particular iterative version of merge sort, to me it's lacking in clarity; then again, I like to use the ternary operator ?: on the left side of an assignment in javascript (as an array index or function selector), so I'm probably not the right judge when it comes to clarity ;)

I was thinking to include some sorting visualizations in my html5 canvas experiments, this looks like a neat start,thanks for posting it!

kaiwetzel··on The Linux desktop experience is killing Linux on the desktop
To be fair, the wide adoption of notebooks made it harder to "choose" the right hardware. With a desktop PC you could just (in the worst case) replace individual components lacking proper driver support whereas with a notebook you basically have to do all that "research" up front. I think this made it somewhat harder to use Linux as a desktop OS, though it's not the fault of Linux (or some particular distribution).

While not optimal, virtualization can be a solution in many cases: Using a 64 bit Linux server, a 32 bit Linux desktop (in regards to Linux I don't quite see the benefit of 64 bit at this point) and your host OS of choice is becoming encreasingly practical with memory prices getting lower. Better than throwing out Linux (with the many great hacker -friendly features it has) or having to select an older notebook just to run it.

(I don't disagree with much of what you are saying, just wanted to add another angle)

kaiwetzel··on Finding the top K items in a list efficiently
Interesting blog post about how this could be done in Haskell using a suitable mergesort (or quicksort): http://apfelmus.nfshost.com/articles/quicksearch.html (pointed out in a similar discussion some time ago). Having used Haskell in university only, articles like this really make me want to revisit the language.

(Algorithms aside, the full sort of 10M numbers, apparently using an underlying C implementation, looks stunishingly slow: Given at most 240M comparisons for merge-sorting the array, taking 10s would mean at throughput only 24M items per sec, bad memory access pattern at play maybe?)

kaiwetzel··on Ask HN: Want to join a startup as a developer, looking for a mentor
Foremost, I think you need to focus on a few specific goals or projects you want to work on and then pick the tools and skills you need to develop to achieve those goals so you have small successes early on and are motivated to kep going. Then you can tackle the next steps which may seems overwhelming initially.

From what you write it is often not clear to me exactly why you want to learn about those things you mention. You mention some cool technologies but what makes them cool? For me, knowing why I want to learn something tends to keep me motivated even when things get hard or I got stuck somewhere. Maybe that's a personal thing, though.

It appears there are two primary changes you want to make 1) Get out of your job and work in a more exiting setting, e.g. by learning Ruby/Rails and working in a startup using exciting tools and technologies and not feeling left behind on a job where your mind retreats. 2) The other concern seems to be long-term: gain a more solid understanding of the fundamentals of computer science and mathematics.

Outside of traditional university classes it seems best to pick specific problems (small projects) where you can practice newly gained skills. What do you find exciting , where do you want to apply your new knowledge? Robotics? Social networks? Computer graphics? Music? Sports or Health? Does mobile development interest you? With your background in Java, Android development should be easy to pick up, for example.

I think learning new programming languages is great, e.g. learning Haskell in university was mind-expanding, even though I have never used the language ever since. Keep in mind that you can only start with a limited number of new things without getting lost so pick your priorities. Consider clojure with your strong Java background.

You mention you feel lacking in fundamental algorithms but what is it, specifically, what you have problems with? Since you obtained our degree (albeit from an „academically poor university“) you must have some introduction to algorithms class, what is it you are missing? What kind of programmer challenges do you have problems with and what is it you can't do?

Are there many user groups in the area you live? I found going to local lisp meetups extremely motivating and there are often groups covering for example Ruby/Rails, Lisp, Android, Arduino, Processing, JavaScript, … You see what other people are using the tools for and will often get your questions answered right away if you have trouble with something.

Linux: Getting somewhat comfortable with UNIX/Linux and the command line seems relevant to quite a few things on your list. You don't have to become a full-fledged UNIX-admin, don't set your own bar too high! Do you have Linux installed? In a virtual machine (e.g. VMWare Player on Windows, Parallels on OS X)? Or as a dual boot option? If you don't have it on a Notebook, consider getting a cheap used IBM/Lenovo X61 so you can take it to user group meetings. I learned my basic Linux from mailing list discussions on open source projects or IRC but I'm sure there are some good books or tutorials that cover the basic principles, commands, and simple scripting.

By the way, I can only +1 learning jQuery and more SQL (I like Bill Karwin's stuff on the web, he has written a couple of books as well)!

(edit: my email is on the contact page)

kaiwetzel··on Hacker Mentors
I would have liked the option to select mentor and student, e.g. student of, say, Common Lisp or ANTLR but proficient enough to mentor in many other areas :)
kaiwetzel··on How Little Sleep Can You Get Away With?
I was a little disappointed by the article in this regard. While it's mentioned that "There is a small portion of the population — he estimates it at around 5 percent or even less — who, for what researchers think may be genetic reasons, can maintain their performance with five or fewer hours of sleep. (There is also a small percentage who require 9 or 10 hours.)" it would be very interesting to know if there is a larger than 5% group that does just fine with 6 or 7 hours of sleep.

Assuming your assumption about the distribution of "needing x hours of sleep to do well" is correct and if we assume that 5% need only 5 hours or less and the mean is at 8 hours (the article is even unclear about what those 8 hours represent so it's a wild guess at best), how large is the percentage of people needing 7.5 hours or less? (Roughly 40% if it's a normal distribution). So what the article says about "most of us" is technically correct the interesting answers for the many of us that presumably need between 5 and 8 hours of sleep is left out.

Does it make a difference in what sleep phase people are woken up (after the n hours of sleep their group gets)? I wish more money would be available for this area of research so longer and more detailed studies could be done. And better handouts for journalists.

kaiwetzel··on The Hot/Crazy Solid State Drive Scale
I have the same Intel SSD (32 GB only, though) and so far it works amazingly well as a startup/system volume (Windows 7). I hope they'll offer the 128GB version they promised as I'd definitely like to get one of those for a Linux-box.

My experience with regular consumer-grade hard disks indicates that regular backups of any data I want to keep is always a good idea. The X25-M mentioned in the article are using MLCs and so might some of the other SSDs he has used up. Another potential factor could be heat, malfunctioning hardware, etc. - there is not enough data given to even guess what the problem could be.

If excessive writes are a problem, an idea have had is to protect a large MLC-disk by using union fs to write only to a smaller SLC. No idea how much overhead using union fs introduces by itself but to me it appears to be a good way to use SLC/MLC drives, keep down costs, and don't rely too much on "magic" MLC-firmware.

kaiwetzel··on Show HN: a social site designed to manage multiple groups
I agree with earlier comments that some more info before signing up would be good. I finally found the "About" link, that's a start. The same sparse info is given if you click on an invitation link.

I think the idea is promising but there are still many usability issues (or bugs). I managed to create a circle, invited a "friend" and added said friend to the circle. No idea, how said friend is supposed to know of that circle or if it is only implicit, i.e. people would never know why they receive a certain status update from somebody? I could not find out because after I finally found the "Logout" link I had forgotten my password, and there seems to be no password recovery option.

After logging out, direct to Login page, not Signup page?

It seems circleriot offers very little at this point and to use what's there you need way too many clicks. I don't think this is a MVP yet but I know many people who are not comfortable using facebook or twitter because they don't want to share everything with everybody (or even want to be discoverd by random people) so I think your idea has potential. Good luck!

kaiwetzel··on Show HN: Timeslot makes planning your day a breeze
From the short presentation on the home page I did not get the impression that you (a current exchange/outlook user) are the target market, actually. (But I could of course be wrong or we got a different branch of an A/B test)

I think the examples are pointing in a different direction, i.e. a simple and straightforward tool to help you juggle daily life with a focus on spontaneously rearranging tasks, rather than fixed business meetings and scheduling events for teams even.

kaiwetzel··on Why We Need An Open Wireless Movement
Combined with the idea from the article to offer two distinct networks (one traditional, private, WPA2 and one open, only allowing VPN connections out) this sounds like a very practical idea. Is there any good reason not to do it this way other than to protect financial interest of mobile carriers?

A very paranoid regime could even establish rules to only allow certain accredited VPN providers (e.g. ISPs) to free people who offer open WiFi from the fear of being prosecuted.

kaiwetzel··on Lisp Isn’t Really a Programming Language
I agree the article isn't very strong, and it's from 2007. Nevertheless, I think some of the points could result in an insightful discussion with posts from people who can say something about Lisps (or DSLs) and (ideally) how they applied to their startup. I actually upvoted the submission in that hope.

For example, the author points out the importance of "first class procedures" to Lisps' usefulness to create DSLs whereas uniform syntax, code-as-data, macros, and the REPL seem to be at least as relevant. I would have loved to read reputes or points in favour by people with actual experience using Lisps writing DSLs for their business.

Another point fromthe article: Lisps having trouble with programming at the large. The article doen't get very specific here, but hearing how companies like ITA (presumably) solved those problems (if they are even real) would be awesome. And highly relevant to a software startup toying with the idea of using a Lisp as part of the technology stack.

It would be a lot better to read contemporary, amazingly well written articles about Lisps which are (ideally) relevant to startups (where are those posted ?) but accusing the OP of culling karma points sounds a tad harsh to me :(

kaiwetzel··on Hiring Developers: You're Doing It Wrong
In college ("computer science part A",using Haskell) we played out the various sorting algorithms we learned in class, with students holding up a number (to determine sorting order). Neat to actually experiencing the slowness of bubblesort vs. mergesort/quicksort ;) We repeated the performance in front of a local mall - I can't recommend trying something like that in a crowded place from that experience.

I think expecting recent CS graduates to implement a basic sorting algorithm or binary search, etc. (say, in a garbage collected language they know well) is reasonable, for people with actual work experience I think it makes less sense and the focus should be on more recent experience if relevant to the job.

kaiwetzel··on Ask HN: sideproject, generating revenue & profit what's next?
Some ideas:

- which subjects make most sense to expand into (math, science, languages, ...) ?

- maybe there is an opportunity to have former teachers create exercises for you (as freelancers). They have a lot of experience creating exercises, after all.

- including subjects like math could make it easier to expand to other countries, though I don't know how different education systems are (maybe the UK, Germany, France would be interesting as they large markets but of course there are other factors like fragmentation of the educational system in Germany, for example)

- as someone else has already suggested make it attractive to invite your classmates to your website. Rather than offering cash maybe free months (after their current subscription period) or discounts if enough students from one class sign up would be an option.

- maybe offer more options to obtain classroom membership, e.g. sponsored by parents, more than n people from one class signing up, maybe even local businesses as school sponsors but that could have the negative side affects you mention about ads)

- maybe offer "gift" memberships and free months if a group of students sign up at the same time, things like that?

- would it be attractive to people offering private tutoring to have a "group" membership for their students (e.g. up to n students/year) which includes seeing results of their students) ?

- maybe including other subjects provides an opportunity to raise prices, i.e. charge separately for additional subjects but offer a "all subjects included" premium membership.

You have not included a link to your site (or I missed it ?), would love to take a look.

Good luck with your business (and your parenthood!) :°)

(I'm more of a developer who cough failed with businesses twice so my suggestions should be taken with a grain of salt)

kaiwetzel··on The HP TouchPad
What's the point, though, at any price point? It's vapor ware, looks like a thick and heavy Samsung Galaxy tab rip-off and it doesn't even run Android. Maybe hospitals can make use of it if it's dish-washer proof but other than that it's a liability, not a product.
kaiwetzel··on The HP TouchPad
$10 so my beautiful ($250) vacuum cleaner can look down to it.

In all seriousness, they would have to pay me $50/day (minimum) to carry such a heavy, ugly, thick and totally uninspiring gadget around. What has become of a company which bought Compaq just a few years ago? (or,wait, was it the other way around?)

kaiwetzel··on HP Announces The Veer, A Credit Card Sized webOS Device
I wanted to write a logish comment about how much I like my $30 Sony Ericsson W205 and that I'll only replace it by an iPhone nano-class device but I found a comment which sums it all up, at the danger of being down-voted:

"It's an HP KIN is what it is."

(If this is the competition, Apple and Samsung have nothing to fear)

kaiwetzel··on Pharen: A lisp that compiles to PHP
From reading the examples this looks awesome, I'll give it a try tomorrow at the office. Is there a way to expand macros only and not do the compile-to-php step?

My current project involves generating php from a declarative definition and this could be just the right tool for the job! Maybe it will make switching to common lisp a lot easier once I learned enough of it :D

kaiwetzel··on Slashdot Launches Re-Design
I noticed the same (i7-920, FF 3.6) - after removing the fixed position bar (using firebug) the site at least seems significantly less sluggish. Weird how a seemingly simple thing can hurt performance so much (or maybe it's just a psychological effect ?)

On a large screen I find it visually more pleasing than the last version but I stoppped using the site completely after they introduced that silly ajax-abuse and the new one wouldn't make me come back if for that reason alone.

kaiwetzel··on Why 3D doesn't work and never will.
Would it work to take two pairs home and create a personal set of glasses for people who can't stand the 3d effect?

Where I watched Green Hornet (very funny movie if you don't expect to see a Coen brothers film, I think) the glasses were cheap plastic and you could take them home. I actually have two sets, maybe I'll give it a try :D

kaiwetzel··on Impossible for the HN crowd: Do nothing for 2 minutes
I didn't get to that tab yet, have been wondering where that nice background sound was coming from for an hour or so :)

Just opened a second tab and passed, though.

kaiwetzel··on My winter break project — Silk
Could work well printed by mykea - http://www.thisismykea.com/ too. Is it easy to generate a larger resolution from a recording for printing?

I love generative art and this looks very polished - the sparkles are a nice touch!

As someone else mentioned, the flags are easy to miss on a wide screen, maybe vertically align them with the content column?

← PreviousPage 2 of 2