HNHacker News
TopNewBestAskShowJobs

hackoder

411 karma · joined September 27, 2009

WIP: www.hackoder.com d13b2ac1c6b22c9a1557ee5a5dd4f41855f65133
submissionscomments
hackoder··on Apple's officially over the optical drive, for better or worse
I don't think the issue here is (just) optical drive vs no optical drive. Its the implications that are pointed to in the article, i.e. Apple controlling the hardware, software and content on the device.

Of course, Apple will not do this completely overnight, but it does seem like we're moving in that direction one step at a time. I think Apple/Steve's long term vision has always been for the PC to be like all other electronic devices; you buy it configured, and for fixes/upgrades you always go through the manufacturer or manufacturer-approved process. It is a complete opposite to something like a Lenovo ThinkPad where a lot of the stuff is user replaceable and serviceable (hence making it a little more future proof and much cheaper for upgrades).

As a MBP user, I am happy with where Apple is right now but I'm not sure I'm completely happy with where they're headed (and Apple doesn't care about customers like me who are probably < 5% anyway). Even if we look at Apple's website (for e.g. about battery), the terminology changes from 'User replaceable battery' to 'Battery that you should not replace yourself' etc. Apple could very well make the next major iteration of Mac OS similar to iOS (i.e. Apple is the only App store, no side-loading). Minor upgrades (RAM, HDD) could cost a lot and could only be done by Apple.

Something to think about before investing a lot in Apple products and becoming tangled in the ecosystem.

hackoder··on John Resig uses this
A split keyboard is coming in iOS5 IIRC.
hackoder··on Flask 0.7 Released (Python Web Framework)
Magic can come to haunt you when you get stuck. For e.g. flask has thread locals where the request variable gets populated with the current request's context dynamically.

For the most part though, Flask is very magic free and the source is small enough to quickly figure out whats going on.

hackoder··on The Linux desktop experience is killing Linux on the desktop, Part II
(To the other parent as well).

Arguably, tools and dependency management is better on a linux platform.

I've found (recently) that working in a VM is the right thing (tm) to do even on a *nix platform. It helps keep your development environment completely segregated and your "desktop" OS clean as well. Since nautilus has built in support for mounting a drive over SSH, and it is very doable on os x using something like MacFusion, the desktop OS just becomes a window into your development environment and becomes mostly secondary.

hackoder··on The Linux desktop experience is killing Linux on the desktop, Part II
You said it is "good hardware". Do you mean that the build quality is good? Is it on par with a MacBook or a ThinkPad? I have heard recently that their laptops are fairly plasticky and battery life isn't great either. Comments?
hackoder··on The Linux desktop experience is killing Linux on the desktop, Part II
Why does development on windows suck? For the most part, development on any platform (windows, osx, linux) seems to be about the same. Its the other stuff that can get annoying; mostly driver issues I would guess. But again, that's something that isn't a challenge on windows anyway?
hackoder··on The Linux desktop experience is killing Linux on the desktop
Another vote for a thinkpad. I have the t410 with core i5 540m, dedicated nvidia nvs3100, 9 cell battery and 128 gb ssd. Everything works. Suspend, resume, wireless, 5-7 hrs working with virtual machines. The build seems to be pretty good but the MBP seems sturdier to me. People seem to rate the thinkpad as having superior build quality but I feel that the screen and parts of e chassis have flex (no flex on the mbp).

I recently switched from a Mac and I definitely miss it at times but there is enough in the thinkpad/ubuntu combo to hold me over for now (openbox, good tiling managers, source code that is open to scrutiny etc).

hackoder··on Living in the zone
The most important use case that I've found for multiple monitors is for debugging (code on one screen, app on the other). This makes debugging much much faster. Also, having one monitor dedicated to server stats/logs etc is useful.
hackoder··on Ask HN: The startup I just joined is in massive disrepair. What to do?
I'm in a very similar situation to yours: A startup using java, quite profitable, outside funding, bad code, stubborn CTO, database used as dumping ground for everything: logs/stats/messages etc (this is very wrong when you're working at the kind of scale that we're at).

(Hey...! Are you the new guy that sits by the water cooler?! I hope thats not my code you were talking about!)

Here's what I did:

- I ended up getting into a small argument with the CTO. He now knows that I'm smart enough and treats me with respect. I stood my ground but also offered solutions to improve and also accepted some of theirs.

- After working for a few months, I've realized that even though there are bad parts, some parts are actually good. New/other devs are improving the codebase.

- I file bugs with regularity- I didn't do this at the start but just picked it up. This way things that I come across go into a bug tracking system and can be handled eventually.

- Now that I'm involved in more parts of the code, I can refactor small bits as I come across them with my daily tasks/projects.

- There are other things that I'm collecting in a document which I'll converse with the PM etc about. Most importantly all these will be things that I can do and will not blame the CTO. For e.g. setting up a wiki, documenting the setup process for a new dev (win/unix both), common errors, people on the team, machine ips, purpose for each machine etc.

You have to realize that the world isn't ideal. Because of whatever reasons (bad coders, managers, deadlines etc) projects end up in a crappy state all the time. Make small changes to help and improve that, and you'll be worth 100x more to the company rather than if you just whine about it and blame someone else.

Note that this isn't about accepting crap policies just so you can have an income- this is about realizing that a lot of this stuff is common and being able to improve it. Also realize that you dont know everything in your first week. Your views will certainly change in the coming months.

Finally, the company is profitable. A lot of companies get that way by making compromises in the short term (one of those might be bad code quality). This is a situation that can be improved upon. Bad code and a profitable company is a better combination than elegant code and a bankrupt company.

hackoder··on Matt Blaze: No, You Can't Have My Slides
I'm interested in understanding why this is being upvoted so aggressively, if someone who upvoted this could share their thoughts. (This really is a serious query- i don't see anything in the content that warrants an upvote).
hackoder··on Ask HN: Any web startups using Java?
I work at a startup that uses Java. When it started, the CTO knew java so thats what they picked. Now, the company has grown to around 10 people with over a million users. They're monetizing pretty well and are well on their way to being very successful.

As (almost) always, performance issues are with the db. And, as always, you should think about the data structure that you're using.

hackoder··on My Y Combinator interview.
I would see this as a win for you :)

Being invited is a strong sign that you/your idea have merit. But instead of having to deal with funding/investors/other crap, you get to work on your idea, in a "remote area of Greece", be your own boss and grow the company how you want. I can very easily see this idea being modestly successful and giving you a lot of freedom to work on other ideas.

hackoder··on Pulse app goes free, gets $800,000 in VC
Flipboard is pretty good.

I've also used 'Early Edition' which fetches your RSS feed into a newspaper like view. Again, its a really nice option for reading RSS feeds. Now I just pick up my iPad and flip through the first few pages of news rather than always trying to bring the Unread count to 0 on Google Reader.

hackoder··on Life Hack - The 30/30 Minute Work Cycle Feels Like Magic
The real magic? Learn your body/mind's rhythm. Sometimes you'll do productive work for hours. Sometimes you'll need frequent breaks.

Intrinsic (type of work, work environment, deadline, depth) and extrinsic factors (such as food, relationships, etc) will affect this rhythm and you'll have to be smart enough to realize when to respect your body's wishes and when to ignore them (feeling bored may have to do with not getting enough sleep, or maybe you just feel like procrastinating. Learn to figure out which).

hackoder··on Comparing Python frameworks: A simple webapp in Flask, web.py, bottle, juno ...
I personally see django vs flask (or other microframework) as this:

- Use a framework that has adequate components that are well integrated and quick to get off the ground, but where you might hit snags with the bundled components later and have to monkey patch them to continue working within the framework.

- Use a micro-framework where you can choose to glue in excellent components (SQLAlchemy, for one) at the cost of the time spent writing glue code.

I personally really like django. Even though it is considered monolithic, I agree with a lot of design decisions and a lot of the components are "just the right amount" extensible. Most of the third party apps that I use work well.

That being said, I'm using flask now and enjoying it :) I hit a snag pretty early with django's ORM [1] and couldn't figure out a way around it other than raw SQL. SQLAlchemy's flexibility won out in the end. I chose flask over other micro-frameworks because of its documentation, extensions, design decisions, mailing list seemed active etc.

Now that I have switched from django, I'm really enjoying the flexibility of picking up 3rd party modules (or flask extensions) and using them instead of having the decisions made for me. It is very marginally more work than django.

[1] Query multiple tables (books, cds {subchildren of products}) for products that were updated in the last month.

Using an abstract base table (products), django's ORM required multiple trips to the DB. Using a concrete base table meant that getting any single product would require a join. SQLAlchemy handles this scenario with unions.

hackoder··on Chatbot Wears Down Proponents of Anti-Science Nonsense
Who tracks down and shoots people for arguing with them? (very serious question, I really didn't get what you meant to say here)
hackoder··on Ewww, You Use PHP?
What you need to understand (and most of us hackers too) is that there is a difference between the 'hacker' and 'get shit done' mentality.

Programming is something I've done for the last 10 or so years (in various forms). It is essentially the only activity (in terms of 'work' or career) that I enjoy. The engineer in me just enjoys making things 'perfect' (where perfect is a definition perhaps only I understand, but generally its something built on solid engineering principles. Well-tested, reliable, modular, efficient, etc). When code looks 'just right', I enjoy the code regardless of whether it is bringing me any $$$. In that sense, for me, engineering is a fun activity, and not 'work'.

The hacker in me will enjoy a well built piece of software for its engineering brilliance regardless of whether the software got anything done at all.

In the last year or so I've been able to isolate these personalities and perhaps merge them. I do not scold the hacker just because he wants to try out new languages every month and is opinionated about his favorite ones. I get pissed off when this stops him from getting shit done.

I'm glad for the hacker in me who cares deeply about the tools (languages, IDEs etc) that he uses. Its this hacker that makes my job 'fun'. It is this hacker that has helped improve the quality of my code and my thought process for building good software. The 'getting shit done' would never have been enjoyment enough if it were not for the hacker.

hackoder··on Pilot Stands Up To TSA And Refuses Full Body Scan
Looking at this 'from the outside' (US), some of this stuff is absolutely shocking. How scared is the average person to continue tolerating stuff like this? And when/where does it stop?

The BIGGEST QUESTION for me is this: Will there every come a point where the government will say "Ok, the world is safe again, we're giving you your liberties back."?

hackoder··on What technologies are geeks pioneering today?
I'm not sure the two things are mutually exclusive. Being a "computing adult" doesn't mean that you don't enjoy tinkering.

The kind of stuff that you mention, like building a carputer, is something that I'd do for fun, not because I really wanted a way to play MP3s.

hackoder··on The Ugliest Girl At The Dance: How Yahoo Destroyed Yelp’s Google Acquisition
I interviewed at Yahoo and I didn't think it was that bad. I met some really cool/smart people and the technologies that they showcased were, again, really cool.

I felt very little difference between the engineering culture at Yahoo vs other "popular" companies. And Yahoo's products are good- think YUI, Yahoo Mail (client side stuff), Hadoop, etc.

They asked me one thing that Yahoo! could improve upon and I suggested that they focus on making one service really really great, which can then, in turn, drive traffic to other services. And to drop poking their head into everything (My yahoo, groups, games, social networking etc can be dropped).

Its sad to see how Yahoo's value has fallen recently, since internally it seemed very vibrant and had the kind of atmosphere I would've liked to work in.

hackoder··on Would you leave a 6 figure job to start a company?
Wouldn't you be more comfortable leaving a 6 figure job? This way, you'd have more savings, and the knowledge that if you've done it before (earned a 6 figure salary), you can do it again. I think someone who earns just enough (perhaps around 70-80 k) would be least likely to leave.
hackoder··on Rate my App HN: Minimal daily journal app. Just start typing.
I'm interested in learning how this works. i.e. how do you encrypt the data client side? is it a randomly generated key? (I guess not since the user would need to know it to decrypt the data on another machine). If the user picks a key, is it the same as their password? If the key is the same as their password, do you store the password in localStorage? etc etc?

(Sorry, just thinking out loud here and not sure how this'll work)

hackoder··on The Most Powerful Word In The Human Vocabulary: Perspective
I started doing the same as soon as I started working.

Something else that I recommend: Bump this up by 5% every few months and see how it works out. We can often get by with so little (especially people like me who have lived the miserly university life) and we can actually be /happy/ with it, that it just does not make sense to hold back.

I also like the idea of dedicated goals: For e.g. sponsor x children, feed x families etc. This helps solve the problem in manageable chunks and is easier for others to understand. (i.e. if every person helped x other people, we'd get rid of poverty/hunger).

hackoder··on Feds admit storing checkpoint body scan images
random, you say? ;-)
hackoder··on Google tech talk on Node.js
Both the framework and no framework approaches have merit.

Choosing a framework limits your choices. If I'm using Django, it won't work (or work well) with a non-rel backend. If I'm using jQuery and I need to update one of the libraries (say jQuery UI) I might have to update jQuery as well, etc.

What you think saves oodles of times doesn't always. The odd bug, the odd crash etc that keeps popping up may have roots in the framework that you chose and that you're using without having knowledge of its internals. The framework might make your app much slower and cost you in terms of hardware.

Not using a framework is harder work initially, but with the right libraries it isn't that big of a leap. Picking up a smaller framework with libraries can be a surprisingly easy and a lot more flexible when your needs end up being different from what the framework intended.

Ofcourse, there is a flip side to it all and I understand your point :) Micro-frameworks are the best IMO, not the beasts that Rails/Django are.

hackoder··on Google tech talk on Node.js
[ EDIT: Make sure you take node.js out for a little spin, you might like it :) ]

I agree with the general sentiment of playing it safe when your income is on the line, pecially because there's a lot of fanboyish hype around these projects.

However, its not just about "new tech", its about tech that works the way your mind works. Some things mature quickly and have the right mindset (Django, clojure, node.js, couchdb for me) and others have a longer/more painful learning cycle where the community struggles along with the leaders (rails (again, this is just my very personal understanding!)). Some things mature but don't align with what you think is right (php, java).

I've found node.js to be special. It has gained maturity relatively quickly, the libraries seem to be lightweight, good quality, its a language that will run both on the server and the browser (hello code reuse).

hackoder··on Google tech talk on Node.js
Have you gone through: http://wiki.github.com/ry/node/modules

I actually like the situation with node. Bunch of independent modules for middleware, ORM, routing etc that I can throw together myself. Less magic, more clarify of what does what.

hackoder··on iPhone 4 Is Nice, But It's Not Enough to Slow Android
I recently got the Canadian version of the myTouch (aka HTC Magic, double the RAM) from a G1 and installed a 2.1 ROM and I was very impressed with how well it all worked. I used to find myself torn between the iPhone and Android, but myTouch with the new OS is very smooth.

The multi-tasking is excellent- I was reading a book in FBReader last week and when I opened it yesterday it opened from RAM. With the Dolphin Browser, background tabs actually stay loaded in the background, and sites with auto-refresh actually keep content refreshed. For me, the browsing experience with Dolphin and the multi tasking are hard to beat. Also, the open market has some great advantages (along with disadvantages such as crappy apps), for e.g. MortPlayer (which was a great mp3/audiobook player for windows mobile) was recently released for Android without any fear of replicating functionality.

Like a lot of others, I'm glad for the iPhone vs Android war. It gives me lots of great, feature-rich phones to choose from, so why pick a side?

hackoder··on David Pogue’s Review of the iPad from 2 Angles
"The bottom line is that the iPad has been designed and built by a bunch of perfectionists. If you like the concept, you’ll love the machine. The only question is: Do you like the concept?"

Love the concept- But I'll wait until HTC/Google come along and give it some missing features (webcam, expandable storage) and the extra oomph that the geek in me appreciates (multi tasking, maybe a keyboard (maybe a sliding one like the HTC Tilt?))

hackoder··on Apple iPad? How about a little German innovation instead
Why is it unlikely? I regularly skype from my Linux desktop.
← PreviousPage 2 of 4Next →