skysight-inc/HackerNews huggingface dataset:
I am currently working on a web software project in the medical/health space. Of course its really good to know how the people that use the software work and what they expect and i am eager to learn those things, but i will not dive into a sector i am not really interested and absorb any and all information i can find, since i probably wont need it for the next project and it personally does not interest me a lot.

For technical domain knowledge i agree, but it also happens that this is often of personal interest to me anyway.
Seconded.. and it's one of things i miss about college.. and guess i was looking for when i went back to do a master's. I didn't get it though.. due to a bad choice of college.. but you live and learn.. :-)
I wish the MBAir had 4G/LTE built in. That (and the higher res screen, and the platform security hw) are the things I like about the Pixel.

I'm sure Apple will Retinize the MBAir in 2013 or 2014. I just don't get why LTE chipsets don't appear in any Mac products. I have a VZ MiFi and it's such a pain by comparison -- I'm fine paying $10/mo to Verizon for each mobile/etc. device I have.
> Scala has way more language features than Java

I wouldn't say that. I think the main difference is that Scala spent its language design budget on more useful things compared to Java. Have a look at C# if you want to see a language with tons of features.

> What I mean is, how much do you know about what a particular piece of code does when looking at it in isolation? How much additional context do you need to figure out what it does? How many possibilities are there?

From experience, that amount of code is considerably smaller than Java because I can be pretty sure that some piece of Scala code usually won't mutate stuff all over the place.
What is "test" and why would one smoke it?
> LyX is still not Vim. Or Emacs, for that matter.

All true. It took a while for me to be productive with Lyx -- it's too different from most other editing environments. In fact, one of the first things they say in their documentation is that Lyx isn't a text editor -- it's really meant for document creation, not everyday editing. So that's an entirely valid criticism.

Nevertheless, after one ascends the difficult learning curve, the results can be beautiful, classic LaTex output, with little effort.
"Because there is a functioning Macy's mall on the first few floors, they still play mall music. However, they never disconnected the upper floors from the PA system, so music still plays through these floors 24 hours a day."

J G Ballard would have loved this place.
What if you could design a city from scratch?
Java can also become very complex because of it's simplicity. Sometimes it can be hard to read java code just because there is much more of it.
Love, Hate and Empathy: Why we still need Personas
The lack of this kind of domain knowledge - either from being unwilling to go find it, or not being given the time and the resources to do so - is a big problem for tools development in games. People doing the scheduling and planning tend to assume that if you put enough smart programmers in a room and give them detailed specifications, they'll be able to solve all the problems faced by some artists and writers in another room, even though they don't know anything about art or writing. Sometimes this results in the kind of obvious mistakes that you might otherwise assume only happen when you're writing software for the government.

In a sense it's kind of sad: In building traditional software, understanding the customer is one of the hardest steps because you can't simply walk over and observe them going about their daily work, or ask them questions on a regular basis to understand their issues - you're separated from them by a sales process and probably some automated support tickets and a PR guy who won't let you have open discussion in public. People building tools for game development can have their customers sitting a few desks away!
The economics of the film industry are changing
Finally. Where was this handy resource five years ago? Everything I learned about jQuery in the early days was from other developers, Resig's blog and through exploring the jQuery code itself and lots of trial and error. This is great, especially the articles I can see on the Widget factory which is something not a lot of jQuery users actually know exists and is extremely helpful for correctly developing more complex plugins. It's good to know what the jQuery team considers to be a best practice considering the amount of conflicting resources out there.
"Never use a foreign phrase, a scientific word, or a jargon word if you can think of an everyday English equivalent." (George Orwell, Politics and the English Language[1])

[1] http://www.orwell.ru/library/essays/politics/english/e_polit...
The original title still makes perfect sense. Maybe "3 customers" made sense to me because I'm already familiar with Zendesk, but it immediately struck me as a big deal.
Tech Entrepreneurs Resurrect Stylish Trailer Series From The 30s
Shows an empty list for me and hangs, can't input anything...
> Java can also become very complex because of it's simplicity.

Another way to say this is that Java is a lower-level language than many newer languages, consequently it's much more wordy. And it is certainly wordy, to the degree that it's difficult to follow one's own code. And I see you make a similar point.
None of the good designers I know read hn. Come to think of it, none of the designers I know read hn.
The MMU is not so cleanly separable from the CPU on x86.

386 has both a segment mechanism and a paging mechanism. The segment mechanism has several luxury features like automatic saving and restoring of task context. It is possible to set up a segment descriptor so that the CPU, when jumping (or faulting) to an address in the segment, will automatically save task state at one address (taken from a register) and restore task state from another address (taken from the descriptor). Ibelieve that's what they use here. Hence, free memory accesses.
CPanel is always hacked so it's hardly news.
1. Read the good books in print. While the web is a wonderful resource for developers, it is not the same for designers. Most of the tips and tricks complied on the web are of little value for actually learning design. Most of the articles out barely scratch the surface and are just SEO bait.

2. Look at the whole, not just the pieces. Yes you need modularity in the form of UI building blocks, but that comes later. The biggest difference between design and engineering is that design solves every problem at once first by considering the entire system and questioning the inputs and outputs. Engineering tends to break problems into atomic units so it can work on them serially. Good designers solve as many problems as possible in one solution. Those include visual design, usability and product marketing problems.

I hate to be so cryptic but think of it as starting to sketch out the negative the space around an object. Purposely being blind to the details until the form has appeared. It's not magic but it;s really not engineering.

3. Study, learn, appreciate and dabble in typography for print.

This is the detail part.

The web has not yet come of age in this department (but it's getting there fast). By way of typography you will also learn grid systems and a few other useful bits. Buy the Type Directors Club annual, but real font from real foundries and appreciate them. Learn illustrator and appreciate those vectors -- Its worth mentioning that I don't know any designers who use Photoshop for UX.

4. Recognize the mistakes of most developers starting out with design. They are very often the same. Here are a few things I see often repeated.

No white space (because how is white space efficient right?)

Lack of hierarchy (because everything is important)

Dark backgrounds and overly masculine aesthetic

Too much contrast

Lack of interplay between elements and color

Fucking blue and black everywhere!
>Wordpress won inter alia because the cost of the complexity was pushed from the authors to the readers

In what way does wordpress push complexity to readers?
Iceland jailed bankers, and paid for the citizens' debt. I don't see why the US can't jail people responsible for the crisis, even though the banks are too big too fail. In other words, I don't see how banks are 'too big' to receive a new CEO and lose a few employees.
oops, numbering got away from me there.
The song of bootstrap:
http://song-of-github.herokuapp.com/?username=mdo

Very nice :)
You should really have a prominent link to a product page (or at least the home page) from your blog, if you're going to post blog links to HN...
You have it the wrong way around. People who cordon themselves off and only leave HTTP working aren't on the Internet.

They don't want non-web apps to work. Those networks deliberately rule out networked games, uTP, VoIP, IPsec, WebRTC, etc.

If you want to worry about people teetering on the edge of the Internet, you should worry about people behind NAT and its prevalence to the point of people confusing NAT boxes and routers...

(Re your last sentence, it's not a UDP replacement, see other comments.)
> Comments are also just ego feeders

I hate when I can't comment on a blog, like right now I can't remark that comments are useful. And I can't comment that RSS is useful, and that I used it a lot in Firefox (not anymore in Chrome now, Google Reader sucks).
"Ding"
> And no, this isn't evidence that we are heading for a Gestapo society. No. The Gestapo was highly organized, disciplined, and effective. Homeland Security, by contrast, is a bunch of minimum-wage flunkies, unable to get a job anywhere else because of malfeasance, complete lack of job skills, illiteracy, or a combination of these, which fails to accomplish anything of note whatsoever.

What about the NSA/CIA who have managed to wholesale wiretap everyone domestically without hesitation or meaningful resistance?

You're full of shit when you suggest that the problem is with a single, disorganized agency.
Yes, I love this approach, when we reach high scale we are surely going to take a similar approach
6 Harsh trushs that will make you a better person
The history is interesting, but the author's attempt--in the first two sentences--to frame the whole thing as an instance of hypocrisy strikes me as flimsy. If you're trying to invalidate an argument, you can't rest your case on the observation that someone is saying "do as I say, not as I did". It doesn't work when you're a teenager arguing with your parents and it doesn't work when there's such a gleaming and contemporaneous counter-example sitting just a few degrees South of your present attention.

http://en.wikipedia.org/wiki/Slavery_in_the_United_States
Some days I feel like my PhD is in LaTeX, with some computer science on the side.
Because there's no space / it would be too small. We're talking about sub-15" display here. So while wide display is great in 22"+, it sucks for everything (except movies maybe) on smaller devices.
#Giveaway: Win 3 premium WordPress themes from ThemeFuse
Most of the PDFs i read are electronics datasheets and they don't look half as good and it also seems to be missing the bookmarks as well. Scrolling through pages also seemed to take a long time.

I think i will have stick to adobe reader for now
It is likely to be way cheaper and way more thorough to have a slew of automated tests... by no means I am saying fire all QA and automated them, but being able to run 10000 ui tests in one hour has some major advantages.
I'm not way ahead of you (currently I'm finishing my PhD), but I'll try to help you because at some point I had the same question.

I sticked to the CS degree. Let me argue that by answering some of your specific reasons:

1a) Grading system is kind of broken, it is absolutely true. It is too tempting for students to focus on grades rather than on learning. But that is until you realise that. Now you can do both! It is good you've noticed it before your degree ends. From now onwards, you'll be able to combine learning and passing exams. In fact, I you do so, while learning, rules to pass the exam will become easier to understand.

2a) They may o may not be teaching practical stuff, but remember that practical stuff usually has a shot live span. Learning different stuff at the degree will exercise you to be able to adapt to any future stuff. Besides, you should be able to appreciate all non-academic things that you learn while you are at the faculty.

1b) The world shouldn't be like this, but maybe in the future some people will judge (and pay) you by your résumé rather than your abilities… but, whether you get the degree or not I'd urge you to run away from that kind of people. There will be more opportunities in CS market.

3b) One of the many evaluations of a degree is that you must show you can commit to all adversities (grading system, professors, team work, etc.). You must prove that you know how to get to the end of any journey you've begun. Many people will look for that. However, the world is also full of happy successful academy dropouts and people who never get to it from the beginning. You can prove your value without academia.

Cheers!
For the record, I asked the same question 680 days ago: http://news.ycombinator.com/item?id=2441751

What happened after that is a some interviews (most of the successful) that, in a turn of events, led to a very well paying job in Greece (yes, that collapsing economy), a very short internship in Berlin, a 3 months gig as an iOS developer in one of Berlin's most upcoming startups and a few more offers for jobs.

With that "average" mark from that "average" university and that "average" skillset. :)
That's pretty interesting. For one because there is a good person behind it, second because it deals with the 'single point of failure' of wikileaks in the form of a figurehead.

Are you going to be accepting donations to develop this?
Same here, I find that approach often poisonous, embracing and eliminating the suck is far more productive.
I do not want to become a super designer.I just want to be able to design products on my own without the need of a designer
OpenBSD's malloc implementation does: "On a call to free, memory is released and unmapped from the process address space using munmap."

http://en.wikipedia.org/wiki/C_dynamic_memory_allocation#Ope...
This is not exactly true. In most cases intel's chips are more power hungry but the low power atom processors bring better performance than an ARM cortex A9 while still having lower power consumption. (mostly by racing to sleep faster) And this is a three year old architecture i'm talking about.

link for the curious:http://www.anandtech.com/show/6529/busting-the-x86-power-myt...
As I Linux sysadmin, here (in no particular order) are things that I've found most useful. I've no idea what level you're at, so if you already know this stuff, just give yourself a pat on the back; you're ahead of the game!

Most important: Have fun! If you're not enjoying it, get out because there's no point in wasting your life on this.

Learn to touch type: it's one of the most useful skills you can pick up and not just for IT work

Join your local Linux User Group. If your area doesn't have a LUG, start one! Put this on your CV.

Speaking of which, create a CV (resume) but putting down all the experience and skills you'd like to have. Then go and make it so! Get help with this by finding out which companies near you use Linux and asking for their help; which skills they're looking for and what technologies they're using. People are generally very happy to help people achieve things for themselves (and hate when they're really being asked to do the work for someone, so avoid that!).

Learn vi or emacs. It doesn't really matter which, just spend some time using it for all your text editing. Knowing a good text editor well is hugely important.

Distros: Install Gentoo from Stage 1 and run it for a while. Try Linux from Scratch at least once. Otherwise, just install a few different distros just for fun and to get an idea of what the differences are (they're not huge). Also, try out the BSDs at some point.

Learn and use git. It's quite simple to understand exactly how it works, so do this. Use it for day-to-day stuff. Get a github account and try contributing to other projects.

CLI. Use shell scripts for all sorts of things. Use one-line "for" loops for batch resizing images, or generating thumbnails. Forget about the GUI; it'll all have changed in a few years. CLI stuff will still be the same.

Web servers: learning Apache and ngnix. Get yourself something like an Amazon account. Whatever is cheapest. Use the API to create and remove servers and configure them.

Languages: shell scripting, Python and PHP are the ones you will encounter most. I see a bit of Ruby, but not a huge amount.

MySQL is very common. Again, learn the command line stuff, not some particular GUI.

Don't waste money on stupid stuff, aim to save about 65% of your net pay and become financially independent in 10 years.

Neither a borrower nor a lender be,
For loan oft loses both itself and friend,
And borrowing dulls the edge of husbandry.

....and that's about enough of that!
Textmate and Sublime Text online theme editor
> In building traditional software, understanding the customer is one of the hardest steps because you can't simply walk over and observe them going about their daily work

One of the nicest things about the Agile fashion at the moment is that my customer (or a reasonable representative of him) is a couple of desks away and I really can go and ask him about what he wants. It's incredible how much time is saved by avoiding doing things he doesn't care about and how much happier he is with the end result.
This is a great awesomeness.

It provides all access to rock solid erlang vm/otp/library with lisp nice syntax. If you look at the source code, you will see that it is quite small, meaning you can expect reliability. All this implemented by one of the Erlang creators with 30 years experience in designing and implementing great platforms.

I am just amazed by the potential.
Feels like Bioshock.
This particularly resonates with me. I have been working in a bank as a graduate developer for the last year and a half, getting by without much care about how instruments are priced, traded, recorded, audited, etc. To me, I was moving a button around and colouring things using WPF. To me, the "Yield" column was just another column with numbers that were supposed to be 2 decimal places and turns red if negative. All the while I was dreaming I wished I worked at Google on 'technology'.

Which, in hindsight, was a little misguided. There is so much value in learning and understanding the domain in which we are working in because it makes us so much more effective. The realisation came when I became frustrated in meetings where we would discuss ideas on financial models and I could not add any value to the discussion.

I then imagined working at a company like Google, let's say, doing stuff I wouldn't normally be interested in. Would I bother learning the domain knowledge? I couldn't say yes with 100% conviction.

I love programming but I also want to be effective in what I do. To me now, understanding the problems we are solving is probably just as important as writing maintainable code.
Ah yes, the tragedy of studying computing to the exclusion of everything else. Graduates with computer science degrees have an in-depth understanding of... text editors. And maybe compilers, databases, and operating systems — all items of zero value until they are applied to solving some real problems in some other field. Problems which the computer science graduate knows nothing about.

Then these graduates go into the working world, and they typically can't help solve problems in economics, physics, applied mathematics, or medicine except by coding up some system to someone else's specs. The more dedicated ones make an effort to understand what they're doing. They exceedingly rare, gifted, and motivated ones might learn enough about an industry to make real contributions.

I hope that our field eventually evolves to the point that programming skill becomes an accessory. People will then learn to program just like they learn to write, and use the craft to help them solve their actual problems. The profession of programmers who only know how to program should disappear like the profession of scribes who only know how to write.
Oh, now it says

Since this Chromebook is for people who live in the cloud, one terabyte of Google Drive cloud storage*

It used to say 3 TB
Coursera expands, bringing free global education 1 step closer
my problem with design is there is too many decisions :
what color to use ?
what font to use ?
what is the right height of the menu bar ?
I just don't know how to choose.
Googlebot is Chrome, more or less.
All Carpets Cleaned London
Quadditch! Man, forget the Robocup (http://www.robocup.org/), I would watch the hell out of a Quadditch tournament.
http://www.eurogamer.net
I would suggest that for those people who don't contribute quite as often as big contributors, to change the pace inbetween large gaps so the song isn't just a note followed by 30s of nothing. But this is great!
I would point out, having a degree makes it a lot easier to migrate to another country, if you choose to do so.
> this fails the Open Source Definition at item 1

I don't think it does. Copyright law allows you to license five separate rights, and attach conditions to all of them. For software redistribution is one of those rights, "use" (the right to perform/display) another.

IANAL, but I would say it's possible to craft a OSD compatible license that requires users (but not distributors) to pay incredibly expensive per CPU licenses, or as the OP suggests a more reasonable fee.

From what I can tell it's also possible to place that restriction on derivative works (modified versions), because the OSD only requires that the license allows for them "to be distributed under the same terms as the license of the original software".
I used LyX for about a year and in that time it tuned from a dream into a nightmare. The problem is that at some point if your typesetting is complex then you need some LaTeX package that LyX doesn't support and have to resort to inline TeX code. The horrid LaTeX code that LyX generates does not play nice and a huge amount of time gets wasted trying to find a LyX-friendly way to express something which would have been a few lines of LaTeX. Don't even get me started on Lyx's Rube Goldberg support for custom document classes.
Discerning between threats and civilians to a high enough certainty should be a challenge. And throwing out a bunch of drones that goes about semi-randomly doesn't have to be a liability unless they also shoot people and destroy things semi randomly.
Imagine what kind of quadrocopters DARPA and similar agencies have these days.
Africa’s Mobile Explosion
Great idea, great thing to have fun with. And a great motivation, to contribute more in the future... ;-)
Immutability is not a language feature in Scala as it's not enforced like it is in Haskell, so you don't have any guarantees about what a piece of code doesn't do. Granted, you can make a better guess than in Java where mutability is concerned.

Scala's syntax is flexible enough to let you build DSLs. It makes use of operator overloading, optional braces after method calls, infix methods, etc. All features that Java doesn't have.

Being able to build DSLs is a good thing, but the whole point of DSLs is to hide some of the semantics of the underlying language and let you think in terms of the domain the DSL was built for. So there is clearly a power/complexity/understandability trade-off.
Universities are called 'universities' where I come from. In fact, I think only Americans call it college.
http://song-of-github.herokuapp.com/?username=michaelklishin another good one
If I ask any four people in my social circles if they have Chromebook, four of them will answer "What's a Chromebook?"