skysight-inc/HackerNews huggingface dataset:
Thanks for your reply, though I still think the research is flawed. I'm Australian but living & working Singapore, which is right next to Malaysia.

Here, it's a country that's well developed, has a high level of education and does have a pension (called CPF). The average local salary is SGD $2,000 per month and I can tell you the CPF does not provide enough for retirement. There's a back-to-work program that effectively lets those well into their retirement (70s, 80s) go back to work, and heartbreakingly they end up clearing tables, washing dishes or serving down at the local McDonalds.

Culture-wise, Singapore is predominantly Chinese. In fact they're probably more Chinese than China - many of the old traditions that aren't followed in China still happen here like the "Hungry ghost" and "Yu sheng". Come Chinese new year, "red packet" culture is alive and well, with the holiday seen as a chance for your relatives to be happy of all the wealth and prosperity you've accumulated over the year. Have an aunt who lives in near poverty? She'll be so happy that you drive around in a $120,000 car.

Malaysia is a slightly different story. It's split into Chinese Malaysia, and indigenous Malaysia. If you've ever been to Malaysia, you'll quickly understand that there is a need to look after your own family rather than trust anything to the government. It's notoriously corrupt. I stupidly drove a car with Singaporean plates to Kuala Lumpur, and was such an easy target for traffic police where unsurprisingly everything could be fixed by paying a 'fine.' If you get sick in places like this, your ability to get better depends on your ability to pay enough to get the better doctors and get prioritized up the waiting queue. If you're poor, good luck.

So no, I don't accept that the research has controlled for all these factors. I see it as an attempt from a failed linguistics professor to attach meaning where there is none.
but ruby culture is already one of modifying builtins, so using wrappers while arguably better, does not solve the issue which refinements solve.
Let's see:

. No native support for numbers, dates, booleans or lists. The latter can be implemented using subelements, but it's so cumbersome that you skimped on that and used a non-typed string instead (the database ports).

. Redundant verbosity. Root elements, closing tags, way too much crap to be manually inserted.

. XML parsers are huge, complex beasts which have no place in many smaller applications.

. Being XML, it leaves way too many possibilities for crappy developers. Namespaces in config files, oh joy!

http://harmful.cat-v.org/software/xml/
I will wait for the github repo : )
Hmm, I found some of the criticism unfair. E.g. the example with "baz = foo->bar(3);". Yes, "bar" could be a number of things here, but that's why variable naming conventions help.

The point about operator overloading is accepted, but this is not too different from what happens with metaprogramming in Ruby or say macros in lisp.

Even python has some quirks. See: http://stackoverflow.com/questions/1132941/least-astonishmen...
Google ADK vs Arduino ADK vs Sparkfun IOIO vs ADK Shield vs?
Your IP: does Google care?
They are not a terrible choice. On the contrary! They are used everywhere in iOS! Would Apple do that if it was not intuitive and perfect?
Does anyone want to explain how to read this? I've been scratching my head for a while...
Fantastic slides, thanks! Will go through them again. There were a bunch of "a-ha" points in there.
Intelligence is a good indicator of potential job performance when screening candidates, a degree is positively correlated to intelligence and it is illegal in some countries/states to test for intelligence, so it can be used to sort out applicants on that basis.
Ruby is Perl as it always should have been. Python is a dynamic variant of a better Java.[1]

These result in two very expressive and potent languages with many similarities and with a lot of the best ideas of modern programming languages included (pure functions, lambdas, list comprehensions, etc.) but with fundamentally different core "belief systems" and zeitgeists.

Ruby is very, very much a "there's more than one way to do it" language, while Python utterly rejects that and adopts the "there should be one, and preferably only one, obvious way to do it" philosophy.

[1]: Obviously this is a very slap-dash comparison which isn't meant to be taken 100% at face value and is merely meant as a way to help illuminate the ideological differences between Ruby and Python, it's not an invitation to start a flame war.
> But ~300ms server response times is nothing if your end user has to wait 5-6 seconds for the page to render due to suboptimal frontend code.

True for a single request, but once you start getting lots of concurrent requests all those ~300ms server response times start adding up quite quickly.

When Twitter started out, their use of ROR wasn't a problem. Once the service started to become popular, however, it was.
Ask HN: What cool little shell tricks do you like...?
Idle question really, I was just navigating to another folder in Rails by doing:

cd ${PWD/controllers/views}

Which I think is quite neat.

... and so I wondered what awesome things I could learn from the people of HN, tell me your shell tricks (zsh #1, bash etc #2)
I find it hard to imagine what dynamics could give rise to a regular shape that's not a circle. Could you elaborate?
We need tutorials. Videocasts! Please.
Django Memes
Ask HN Darpa red balloon challenge. 
any concrete real life user case you can think of?
We're having millions of unique clients per month and our peak traffic is above 200k requests per minute. Ruby delivers, although you need to be very careful what you deploy to the main app codebase. Especially to realize the speed differences between stuff like uniq vs. uniq! or the cost of creating new objects. It's enormous with big traffic.

There are some things I wouldn't do with Ruby here. Like some concurrent background jobs; better solution would be Clojure, Erlang or any language where the concurrency constructs are better thought and easier to manage. Although we're having threaded Ruby running, it's not very elegant and you can do pretty nasty bugs in there.
This is a case where Apple got it wrong and everyone copied Apple anyway because Apple. Seriously though, I'm not sure Apple invented these switches but they sure helped popularize them. And yes, I do think they are terrible.
my student loan debt means I require a higher salary.

If I didn't have the debt I'd be able to work for much less than I currently do and still have the same quality of life.
I wonder how an implementation of this using extended attributes (xattr) would scale? I couldn't find much information on anyone doing this before, except one command line/emacs tool:

https://github.com/chujoii/xattr-tag/

I suppose adding a gtk-gui on top of this would be possible.

As well as an explanation (of sorts) for why there doesn't appear to be support for (x)attrs in GNU find:

http://web.archiveorange.com/archive/v/wNWnxu100AzH1ItS2Dk5

"find" can filter based on -exec -- but there doesn't appear to be a simple command that will take a filename, an attribute (and optional value) and simply return 0 if found, other if not found (not that it should be hard to write, based off the attr-utilities code, for instance).
That's pretty much it; the only other way is to build a function combinator from a Proc or Lambda:

irb(main):004:0> multiply = -> a, b { a * b }
=> #<Proc:0x007fe2822029e0@(irb):4 (lambda)>

irb(main):006:0> square = -> a { multiply.call(a, a) }
=> #<Proc:0x007fe2840746a8@(irb):6 (lambda)>

irb(main):007:0> square.call(3)
=> 9
Useful Online Tools (all free)
A small (but growing) collection of free useful online tools.
Well, I don't actually know since I don't probably gonna use it. But it's still nice to see that GNU is getting their own distribution.
College Degrees are required for many jobs they shouldn't be required for because if employers...

1. Perform criminal background checks.
2. Perform their own aptitude tests.

They could be liable for disparate impact racial discrimination suits.
> Syntax errors without detail are a product of the parsing technology: its a minor irritant and worst.

You may think so, but it infuriates me many times a day. This is the most basic thing which a compiler should be getting right, and yet they fail.

I agree with you on type inference errors, but my solution is to annotate function parameters, which avoids the most confusing problems.

I don't want to wrap my error handling code, or work around it with other libraries, I just want something usable out of the box. Languages need to be evaluated holistically, and the design of the standard library is a critical part of that, look at the C++ STL.

Yes, I meant module polymorphism. I much prefer the way that F# deals with Sets, Maps, etc.

I think Ocaml has had a good run, but it's starting to look dated, F# has really innovated, it's just a shame that it's tied to .NET.
For the good bits, there are better sources. Nearly everything contains some good bits.

The problem lies in intentional deceit. Tim is a smart guy and had access to very accomplished, smart people. Very unlikely that he can't think critically about some of the nonsense he puts out. For example he gets very basic physiological mechanisms astonishingly wrong and can't reach his own fitness or language goals with his own advice.
Encrypt or Decrypt Any Text Messages
Encrypt or decrypt any text messages right in your browser using the industry-standard AES algorithm.
Thanks. It's what I also do. Wondering if there was a better way. Seems not. :-)
my personal best new feature is:

"The UTF-8 default encoding, which make many magic comments omissible"

because i'm from Germany and we had to add:
# coding: utf-8

in every freaking controller to get our german stupid letters (öäüß) to run without problems.

so i'm looking forward to my next project where i can use 2.0 from the scratch.

thank u!
Sorry, I made a sarcastic comment without closing the tab before posting. Not HN etiquette.
Please consider adding a RSS feed.
Trying to guess how Python works is quite hard if you're used to Ruby and other languages closer to Java.

As I don't know much Python myself, it's hard to tell where Python fails the "everything is an Object" check. But in Python some legacy calls were more procedural than OO, like "len(o)" rather than "o.len". I think eventually Python got to support both approaches.

I think Ruby is all objects even in its C abstractions. In Ruby, people create classes and so on in the RubyC abstractions that are visible to the Ruby language too. Not sure how Python does those.

I know Python has reference counting for Garbage Collection, so there are differences to their approaches in that regard and more.

Like Guido Van Rossum said, from 10,000 feet both Ruby and Python are more alike than different. He was saying that people should appreciate them more even if they belong to the community of the other one. That the real enemy is languages like Java that switch around the priority by making code that compilers prefer rather than programmers prefer.

I think Python has a Functions legacy that could not be as OO as they would be in Ruby.

Right now I'm more "in love" with Dart than with Ruby. Ruby was my first real love though.
Well, the compiler error messages (few examples given by the author of the article) also looks like poetic phrases to you :D
http://engineering.twitter.com/2012/05/improving-performance...
Ah, I was thinking of the Debian package for hibernate, that has custom scripts for unmounting selected file systems, from the help text:

"If you have network shares or external devices that should be unmounted before suspending, list them here."
"Unmounts any filesystems of the given types. This is most useful for network filesystems such as smbfs and nfs."

And afaik it is perfectly possible to add ntfs mounts to that list - but I don't think any program with open files on that mount would handle it gracefully (I belive the script will figure out which processes (if any) have open files and kill them prior to hibernation).
Yes, when faced with apparently insuperable force, why not just lie down and concede?

https://en.wikipedia.org/wiki/Stockholm_syndrome
I think that's pretty grossly unfair. I graduated from undergrad from a good--not great, but good--state school with $17K in debt. My scholarships paid for about $9K. My parents and I (summer jobs, Google Summer of Code, etc.) chipped in about $26K.

No, you're not going to Stanford on that, but you can still go to a good school with a respectable reputation for teaching, if not research.
rails may be the most visible ruby project out there (and indeed the "killer app" that got a lot of people and businesses into ruby), but it is by no means critical or even necessary for ruby's continuing success. check out puppet's userbase, for instance - there are some huge companies using it to manage their deployments. jruby could well become one of the go-to jvm automation solutions down the road; it's certainly doing everything right to get there.

but more than any of that, ruby is simply the most productive language i've encountered for performing quick one-off tasks and exploring algorithms. it has all the strengths of perl (another language that plays very well in this particular niche), and adds very natural support for both object-oriented and functional approaches. i've used lots of languages (everything from basic to haskell) and ruby is almost unique in that i have never felt like i was fighting with the language to put my ideas into code. i think of the way i'd like to say something, and sure enough, ruby supports it and more often than not makes it easy and natural.
Infrastructure first is a constraint, not a feature. If we could build buildings where we didn't need to plan out the structure first, we would. But rebuild is horribly expensive when dealing with brick and mortar or airplane sized chunks of metal.

The interesting part for any given venture is WHAT pieces do you need to plan out first. You can't use "some other venture has high costs for rework" as an argument for your venture having high costs for rework.

The meta-structures apply relatively well across ventures - clean interfaces, modularity, exchangeability, but structures themselves don't necessarily.
Blade had arm6 and no neon, so this is a big step up for CPU, which was the Blade's weakest area.
finding a "lost" nuclear weapon?
There's a really in-depth article on them that also covers concerns about the implementation: http://blog.headius.com/2012/11/refining-ruby.html
Uncompress And Convert Archives Online
Django Admin for WordPress
How to make Django Admin manage a Wordpress instance; inspectdb usage showcase for manage.py
> isn't it entirely possible to get a decent education from a state or community college and not have a lifetime of debt to deal with afterward?

This is the key. I know so many people who insisted on going to an out of state of private school and now are deep in debt with poor job prospects and not many marketable skills, when they could have gotten the same education from a state school, and have poor job prospects and not many marketable skills but not be deep in debt.
> Especially when you do 3D stuff the overhead for a VM is no longer acceptable.

I don't really find this true anymore. I run a retina MBP with VMware Fusion and VS2012 in Win7 (Boot Camp partition running in VMware) runs great, with very solid perf when running my OpenGL-based engine. Games run very well, too--the Steam selection on OS X is pretty poor, but I hate dual-booting, and the perf/quality tradeoff is very acceptable to me under virtualization.
Potato potato.

You are a 'glass-half-empty' interpreter of the word 'lazy'.

Easy syntax, DRY, etc. are things that are good because they limit you to waste time on trivial things, like you said. They stop you from reinventing the wheel.

I call that (positive) laziness. You can call it whatever you want of course. It still boils down to the same thing.

I have worked at places where programmers were willing to write thousands of lines of code, often copy-pasting big chunks and just replacing a few variable names. Needless to say, I didn't want to work there for very long. There is often no way to convince those kinds of programmers to stop and think about logic or technical design. They feel that they could just as easily write a few hundred lines again and again. Me, and my others, feel that you shouldn't repeat yourself in code and should limit your day-to-day efforts by writing reusable code, etc, etc. I don't need to tell you of course.
good work!
any plan for similar library for C++?
Free Online PDF Converter
I would point out that in Apple's iOS case, the sliders are always consistent in two ways:

- The slider always displays the current value. So the UI reads quite naturally: "Airplane Mode is OFF".

- The "Off" value is always without color (gray, matching the background of the UI), and the "On" value is shown with a vivid color, indicating it's active.

I never found them to be confusing in iOS myself. But consistency is very important so that you don't break the user's trust.
You can build hexagons really easily out of equilateral triangles, which seems even purere than squares to me.
I don't think anyone is seeing a conspiracy here. Just a bunch of individual employers making similar decisions for similar reasons, which add up to a perverse system, even though no evil mastermind had planned it.
I knew I was forgetting something. Just added an RSS feed. Thanks!

http://feeds.feedburner.com/inspirationalquoteaday/wAuk

On a side note, Django made this incredibly easy!
I wonder, is asynchronous exception handling going to make exceptions useful in evented/fibered code? Because right now, the ability of your stack frame to unpredictable blow up is a complete nuisance.
my daughters high school issues ipads and delivers all work assignments and makes textbooks available both on the ipad and in hard copy if the student wants it.

her use pattern is weighted significantly towards the digital content. the only place i see her fall back to the textbook is in math.

of particular note though is the app that is used in her Chinese language class. Without a doubt the most well implemented use of the ipad platform for any app i have yet seen anywhere.

this is the future. i'd probably assert that these studies, if run in another 2-3 years would be quite different in their findings. they will be issuing the ipads at the middle school here i believe next fall.

this conversion is going to happen...only a question of time.
Does anyone here have a link to the new rubydocs for this?
RubyMotion is actually pretty cool. So far, the adoption of RubyMotion isn't too bad.
>Of course some of them will never die. LISP comes to my mind. :-)

Or, to put it another way, LISP was never alive to begin with.

If Ruby/Python had a community and third party libraries the size of LISP we would consider them mostly irrelevant languages.
The Pinterest layout, with some additions and modifications, could be a powerful way for people to use computers.

Think of music files. People have a bunch of MP3 files stored in a variety of different directories, perhaps with cover arts.

Presenting a pinterest style grid list of cover art already makes sense. Include ability to preview the song from the view, as well as launching the media player. (And then build playlist creation in too.) Now add ability to group by genre, or time, or BPM, or "your friends who liked this also liked" (or 'random people on this website who liked this also liked'). You then add a mode for 'discover music not local to your computer', with links to shops or YouTube or Myspace (is it still used by bands?) or whatever.

I'd freaking love it.
Aims and characteristics of cloud systems | CloudVane
In my experience, if you use #region in the body of a function, it is a sign it needs refactoring.
Because everyone has a slightly different take on what rights who should have. House divided against itself and all that. It's not so much respect for freedom, or lack of it, but rather no respect for fellow citizens.
I agree. C++ is a poorly designed language with a lot of "bugs" in it.

Languages do not pass the usual development cycle that includes collection of requirements, beta-testing and bug fixing. C++ have some obviously stupid design decisions that
apparently will never be fixed.

Strangely or not, people tend to approach languages religiously rather than rationally.

Languages are like holy scripts that are written by one or a few people that are perceived like gods, and there is no proper critism or improvement following the development of a language.

Hence what we have today.

One of the most popular languages is full of stupid design mistakes that will never be fixed, they rather die with the language.

Actually, an example of a language that fixes many of the C++ problems is C#. But it inherently cannot be a replacement of C++.

Again, people are not rationally thinking creatures.

And to all who are not rationally thinking, I just say: fuck you.
I believe that LuaJIT's ffi can use symbols that are statically linked in, but I haven't tested it myself so I could be wrong. You can't use dlsym though in a static binary, so it might need some work. My plan to port ljsyscall to straight Lua without ffi though is to generate C bindings rather than writing them by hand. But I have done all the ioctl stuff in Lua not C so all I need is all the syscalls and structs defined and then all the ffi code for ioctls, netlink etc will just work; all the constants and so on are define on the Lua side (that has other issues like dealing with the ABI directly in Lua).

I might be tempted in your case just to use a huge initrd for now, it will be freed after boot anyway.
upvote. It could be more fun if you make it open-source on Github.
Bug report - I see a flash of a green box saying "Almost done, need to confirm email address" on page load.
I understand the law of supply and demand, I am merely expressing surprise that the effect has lasted for over two years. :)
I'm only familiar with the QNX microkernel from working in safety-critical systems. I'm really excited for the possibility of an open source microkernel getting some mainstream attention, since the benefits (modularity, reliability, maintainability, security, etc.) of a microkernel are just too real to ignore now.

Can someone explain how Minix compares to Hurd? In terms of how far ahead both projects are, the differences in their architecture and visions?
useful..
Freelance or the 4th startup
Im an irish designer ( http://nephronim.com )living in amsterdam. Ive just finished up my 3rd startup as a founder. Living in amsterdam is great but when you dive into startup life as you have to your client network dies. It's one of the sacrifices you make to risk it with a startup you believe strongly in.

Then coming out of it you wonder what can you do next? Could I really drop back into a corporate job? The freedom that the startup gives you is intoxicating so now im at the precipice of do i go back to freelance or find another big idea of a startup to dive into.

What has happened for you guys?
Exactly. One valid criticism could be that getting exceptions right in C++ can be quite a challenge; i remember that at one point i was very into the language and was blown away by reading Exceptional C++ (really recommended for any C++ programmer), i was like re-discovering the whole language altogether.
Since wobzip doesnt work I use 2zip.org, its better
Deficiencies in the Twitter Archive
LOL! Less than a minute, right?