Disk space is cheap… That's not the point - <AUTHOR> http://www.sqlskills.com/BLOGS/KIMBERLY/post/Disk-space-is-cheap.aspx

<comment><USER2> I feel like this a very forceful response to something, but I don't know what. I'm missing some context to be able to make sense of the article.

<comment> steve-howard I think she's refuting the idea that GUID primary keys are a one-size-fits-all solution for database design. Jeff Atwood discussed some of the pros and cons of this approach a few years ago [1]. The force does seem a little odd, though, and the use of all-caps words and bold/underlined text throughout the article made it harder to read and understand.

The take-away, as far as I can tell, is that database design requires some analysis of what's best for one's particular data set, rather than duplicating what looks hot right now. Which is a good idea in any context if performance really matters.

[1] [http://www.codinghorror.com/blog/2007/03/primary-keys-ids- ve...](http://www.codinghorror.com/blog/2007/03/primary-keys-ids-versus- guids.html)

<comment><USER3> GUIDs are weird, but global ids are _awesome_. I'm not really sure what reason I'd have to use GUIDs instead of assigning ids out of a single 64bit int key space.. What am I missing?

But seriously. Global-id-space is something I'll probably use on every new project I touch... presumably for the same reasons people use GUIDs. So nice to know that you can change data types, pack things into caches without type- ids, or log identifiers without extra metadata. Super handy.

<comment><USER4> How are you ensuring global-uniqueness in your global id space when you have multiple systems that may not even be in contact with each other a lot of the time?

<comment><USER5> Like steve-howard said: You choose randomly from a large enough space. That way you can make collisions as improbable as you like.

(You can also add an identifier for each system and the current time, if you don't trust your source of randomness. But that's beside the point.)

<comment><USER6> That's not what steve-howard said, and it certainly isn't how GUID/UUIDs work: they are based on a combination of your MAC address, a process ID, a sequential ID, a timestamp, and a random number; with this algorithm, global uniqueness is confirmed. A "type 4" UUID, or as we like to call "not a UUID", is a 128-bit random number, and only got defined to retroactively deal with use cases of UUID that caused "too much information leakage" (such as Word documents).

<comment><USER7> Global uniqueness is certainly not "confirmed". With a 128-bit key, you have at most 2^128 different values (and it's actually slightly less because I think the different UUID schemes all reserve at least one digit). Sure, collisions are extremely unlikely, but they are also extremely unlikely with the simple 128-bit random number.

<comment><USER6> Actually, no: they are "confirmed". The collisions in this scheme are administratively controlled.

Think about it this way: with careful planning, you can use a 24-bit number and have a reasonably large space of non-conflicting values. I wouldn't trust rand() for this, but if there was a single server allocating numbers in sequential order, this would be fine.

While at 128-bits, rand() starts becoming reasonable, the UUID algorithm is designed to produce the "actually guaranteed to be globally unique" experience that the sequentially incrementing counter did.

On an individual computer, this requires coordinating with a library (preferably OS-supported, such as on Windows) in order to obtain global locks, allowing identifiers to then be identified by a timestamp (to guarantee that you can reuse the hardware later; this requires your clock to be monotonically increasing on any given piece of hardware, which in practice means "make it accurate"; there is a sequence numbering mechanism for allowing clock rollbacks).

Between computers, node identifiers are MAC addresses, which are unique by administrative fiat (blocks are allocated to companies, who are responsible for guaranteeing the uniqueness of their devices; if you feel like some of these providers are not abiding by this, you can simply not use their hardware for your networking infrastructure, which is a good idea anyway due to how Ethernet works).

If you haven't skimmed the spec, I recommend you do at some point: [http://www.ics.uci.edu/~ejw/authoring/uuid-guid/draft- leach-...](http://www.ics.uci.edu/~ejw/authoring/uuid-guid/draft-leach-uuids- guids-01.txt)

"""This specification defines the format of UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and if generated according to the one of the mechanisms in this document, is either guaranteed to be different from all other UUIDs/GUIDs generated until 3400 A.D. or extremely likely to be different (depending on the mechanism chosen). UUIDs were originally used in the Network Computing System (NCS) [1] and later in the Open Software Foundation's (OSF) Distributed Computing Environment [2]."""

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Disk space is cheap but your access to it goes through quite a narrow bandwidth.

</comment><comment><USER9> The clustered index of a table determines the order in which actual records are stored. This means that with a random GUIDs column as a clustered index you insert records in random places of the table, while with the two other options you append records at the end - no surprise this is much faster.

Now, the table is not just sequentially written records, they are actually organized as some b-tree variant. Still, appending to a b-tree is a faster operation than inserting in the middle.

Rebuilding the index (actually the table) with a FILLFACTOR parameter makes space in each b-tree node so that new records don't cause too much reordering. This is not much of a solution though, because as the table grows the 10% unallocated space will fill up and the performance will be back where we started.

To explain the benchmarks shortly:

\- the performance difference between ints and sequential GUIDs is because GUIDs are larger

\- the performance difference between sequental and random GUIDs comes from appending records to the table vs inserts at random positions in the table

\- FILLFACTOR helps temporarily with random inserts by making space available before the inserts happen

</comment><comment><USER10> Am I the only one who is less convinced after reading this? 10k inserts in 5min on a laptop. That's enough for 95+% of stuff I work on. Seems like my time is better spent learning technology that has performance leap over esoteric tuning of SQL Servers. Leave that to people like the author. I'm sure there's plenty of them to handle the small % that need this level and no more.

<comment><USER11> The benchmarks in the article are obviously limited. For instance there was no accounting for read performance, or even moderately complex queries. Also given how fast performance was dropping off for the guids this would probably matter for any db that was doing 10k inserts over the course of any amount of time. A drop of of 30% write performance is extremely significant for even moderately sized applications.

Also i don't think that the percentage of applications that need this level of performance and no more is as small as you think it is. plenty of successful businesses run critical application on SQL server (and other dbs) and this kind of degradation could be disastrous. I don't think the necessity for SQL tuning is as esoteric at all.

</comment></comment><comment><USER12> It's the same as "Don't optimize prematurely". True, but also don't be stupid.

</comment><comment><USER7> What is a "sequential GUID"?

<comment><USER13> This is where you start with a UUID that is as random as usual, but subsequent UUIDs for that same field are sequential rather than each being random relative to each other. This makes them a little faster to generate (though the significance of this is likely minute compared to the cost of writing them to disk except in very specific cases) and makes index maintenance operations more likely to produce efficient results (fewer split pages, less need to defragment the indexes later, and so forth).

Another possible advantage of "sequential" UUIDs comes when a number of them get transmitted in a textual form, for instance if they are product IDs and you are sending out a long HTML page of links to products. The sequential IDs will offer more redundancy for any transport level compression to chew on than the normal random ones (assuming they are indeed sufficiently random) will. This may also come into play if your database engine supports compressed storage directly, as MSSQL 2008 does for backups (std and enterprise editions) and live data files (ent edition only), though to a much lesser extent unless the compression algorithm chosen is specifically optimal for small variations in to 128-bit aligned data.

</comment></comment><comment><USER14> I completely agree.

I've been told many times, even in university by seemingly educated professors, that disk space is not a major factor while programming. But that doesn't mean it can be dismissed either.

I have seen some terrible waste of space by programmers that don't know or care about the cost of enterprise disk space (let alone performance of system/app).</comment>


Why I Always Wanted to Be a Secretary - <AUTHOR> http://www.nytimes.com/2016/01/17/opinion/sunday/why-i-always-wanted-to-be-a-secretary.html <comment><USER2> I don't often post here, but this is close to my heart. A few years ago, my team started making noises that we needed a company secretary and I needed an assistant. That rang true to me, but I had zero concept of what this person might do, what our relationship would be, or whether there would be a clear benefit. I hired one, employee #10, the first person on our team who would never be expected to write code.

In 6 months, this person had doubled my productive output (at a fraction of my salary, for right or wrong), and built clean, useful, stable systems for our company's information management (bookkeeping, correspondence, recruiting, health insurance, tax matters, and far more) where previously there was a lot of duct tape and bailing wire. I quickly lost the ability to imagine how we could be running this company without bonafide, competent, secretarial support.

Since then, I have lavished extremely well-earned raises on this person, with zero thought of "market rate admin salary," after two years I trust this person with my life. We have hired yet another office secretary who is also great. Our company has 15 in the local office and another 10 working remotely. Dollars spent on a good secretary are some of the best dollars you can spend: they can return to you one of the most productive, positive, and important relationships you have in your professional life. If I could go back, I would have hired one in the first year of business (as opposed to year 5!).

<comment><USER3> A "secretary" as they first began was a person you entrusted your secrets to. In the same sense that a "personal assistant" app is supposed to raise productivity, a real-life secretary does so but with all the intelligence and ambiguity-tolerance that a normal human brain is capable of. It is a considerable asset, and anyone who treats them as interchangeable cogs is likely to not take advantage of the increased headspace.

<comment><USER2> No question. Find the right person and the value of the relationship goes up with time and trust. I suppose that's why it's not uncommon to hear about folks with 30+ years with the same secretary.

</comment></comment></comment><comment><USER4> Totally anecdotal but everyone I know at the VP level and above would be largely nonfunctional without their admin assistants. You can make a lot of noise about technology replacing this job but I just don't see it until that technology is some sort of super advanced AI capable of being talked to like a human and working 100% of the time. Otherwise it's pretty much impossible to beat a highly competent person to delegate to that knows your schedule/preferences very well. That person could very well use more advanced software to help them in those tasks, but won't be replaced by it.

<comment><USER5> My wife is a pseudo executive assistant and I have to agree 100% with your comment. In fact I'm not even sure besides making decisions what the executive does as my wife writes everything for him including his speeches. As an owner of a tech company its so irritating to see some one with my wife's work ethic and capabilities be stereotyped, marginalized and taken advantage of in an industry that is still pretty much a white ole man club.

The executive has blocked my wife from getting promoted because of his dependency on her. Oh she could leave but she is not in the tech industry so its not like jobs are all over the place.

The worse part is that her taking the role many years ago was in large part my faulty recommendation as I thought being closer to the money would allow for greater compensation (which it did but was not worth it).

<comment><USER6> I have a friend who is an EA and has worked for many of the biggest names in Silicon Valley. She makes well over 6 figures and she loves her position. Her employers value her greatly, so she was able to command very good compensation packages including stock options, etc.

<comment><USER5> Yes the problem is my wife is not in silicon valley and although she makes plenty of money (6 figures or so) she is tired of not having a more important role. She has effectively been type-casted.

<comment><USER7> She _is_ important, otherwise the executive wouldn't keep her even by blocking her from promotion. Six figure salary is very decent. I suggest she ask for a pay rise, if she isn't happy, but she _is_ important.

</comment></comment></comment></comment></comment><comment><USER8> What a shame that we Americans, who pride ourselves on what we think of as our democratic, egalitarian society, are among the worst when it comes to contempt for certain professions.

Secretarial work is perfectly respectable work. Someone has to do it, and it's not something just anyone can do. Would the denigrators of secretaries prefer that no one answer the phones, no one answer the emails, no one keep an organization humming smoothly? Ridiculous.

Technology of course has reduced the body count; gone are the typing pools of yore, the large administrative offices full of (mostly) women typing and filing and answering phone calls.

Yet, there still exists the need, to some extent anyway. It's hard to imagine an organization other than, say, a 5-person start-up, getting by without a professional answering service and professionally composed correspondence, reports, well organized filing systems, as well as the intangibles that make office life more bearable, such as selecting plants and artwork, remembering people's birthdays, keeping the kitchenette well stocked, etc.

<comment><USER9> I submit that it's _because_ of the egalitarian ideals that certain professions are looked down on. Work that is seen as doing the scutwork that someone else is too lazy to do for themselves is vaguely looked down on. In an egalitarian society, you are a _servant_. You have _chosen_ to degrade yourself.

It's a repulsive thing, in that mindset. It's an active betrayal of ideals, and not even for a particularly good payout.

<comment><USER10> There's a part in Bioshock that touches on this, I think it's in one of the audio logs that someone resentfully says: "Even in a utopia someone has to scrub toilets."

</comment></comment></comment><comment><USER11> Knuth mentions that his secretary used TeX when he developed it [1]. In the preface to the "Waite Group's Unix System V Primer", it says it is written for "a secretary or a manager in an office, or student in a computer science class, or a computer hobbyist". And the "ENIAC girls" were the first (low- level, machine code) programmers, and their work was basically considered secreterial.

I guess, back in the day when secretaries were called secretaries, their work might also have been more "advanced" (i.e. more similar to the work of the scientists they supported). Nowadays there is no formal barrier to women holding the same job titles as men, so women interested in programming do not become administrative assistants.

[1] [https://tug.org/TUGboat/tb17-4/tb53knun.pdf](https://tug.org/TUGboat/tb17-4/tb53knun.pdf)

<comment><USER12> The result of the removal of personal assistants is that today's workers need to spend a large chunk of their time doing secretarial work. For example, maintaining a public schedule, arranging travels, filling simple reports, typing simple code, sorting and answering standard email, could all be done by a personal assistant. This would increase the productivity of programmers and other knowledge workers. Instead, our society has evolved to make these chores a inevitable part of everybody's lives -- and as a result make money selling software that promises to help with these shores.

<comment><USER13> Only one of those tasks that I like having help with is travel planning and in that case you've got to have someone who is good and who you _completely_ trust.

</comment></comment></comment><comment><USER6> My mother-in-law started out as a secretary, and is now the COO of a mid-sized company.

The CEO of Xerox had a similar career track, being an executive assistant and then somehow making the shift to management and then working her way up to CEO. It's something that is rare, but doable in the past, but this is something that could never happen in this day. I think people are more pigeonholed now that 30-40 years ago, unfortunately.

<comment><USER5> Any chance your mother-in-law might be interested in giving advice or mentoring? As I mentioned in a previous comment my wife has been desperately trying to rise up the ladder but has been shunted (none of which has anything to do with her effectiveness or capabilities).

</comment></comment><comment><USER14> I used to work for a CTO who had his prior company bought in one of the largest acquisitions in SV history. His opinion is that there is a large untapped talent pool of older (40+) smart, college-educated women who had been maybe been stay-at-home moms who made great candidates for executive assistants. His assistant was one such woman. She was very well paid, pulling down 6 figures.

His view is that they are loyal (most important quality for him), extremely reliable, and can be delegated complex tasks. While his assistant did do things like make his travel arrangements and schedule his meetings, she also did a lot of his grunt work, write emails, make powerpoint decks, write conference speeches, write papers/articles for him. By this, I mean she often generated the content (with input from others of course). Without her, he would be totally ineffective. You could always tell when he had to make a slide himself because it was usually full of typos.

At one time, she was a shared resource with our former CEO. After the company went public, I recall overhearing a conversation where she was explaining to our CEO what he needed to do to fly commercial (he had not flown commercial since the 90s). She had a a great way of handling situations like that and could be firm without being condescending.

</comment><comment><USER15> I always remember my mom's comment about being able to go home on time and leave work at work. She got out when IBM offered early retirement to Administrative Assistants back during one the purges of the 80s and 90s. They really do keep things going in the right direction and more often than not remember the important anniversaries for both male and female management.

The other observation she had at the time was more than a few women passing through the secretarial pool were husband shopping and these were the ones stereotypes were for and not looked upon nicely.

</comment><comment><USER16> I am not a secretary, but like the author was raised in a similar environment: It was my mother who took me to work in her small, dark offices where she taught me to type and file as she worked. We couldn't afford daycare. I became a highly efficient mini-secretary. I took similar jobs in high school/college.

Although I work as a technical writer/sysadmin, I often find myself using the skills my mother taught me to organize, keep track of projects, etc. We're a small company, and I'm the only one with any decent office administration skills. Right now my main desire (and after-work project) is developing a system for internal information I can take to my boss and coworkers to hopefully improve productivity/prevent everyone from pinging everyone else with dumb questions. (I'm weighing my options. I'd enjoy something like a well-configured Confluence [at my last job Confluence died a lot -- but it was easy and effective from a user standpoint], and am looking at open-source alternatives I can use as a base.)

I don't think I would be able to look at the company I work for and figure out what we need in terms of "getting our shit together" if I didn't know secretary work, honestly.

</comment><comment><USER17> My wife if an EA for SVP (Heads 800 people) at a major Fortune 500 company. She's fantastic at her job, exceptionally personable, very organized and professional (and everything that she does), but she's wants more responsibility and it's not clear how she can make a shift. Anyone have experience ideas?

</comment><comment><USER18> Secretaries are the nurses of an office. Any doctor will tell you it's nurses, not doctors, that make a hospital work.

</comment><comment><USER19> Is there a market for virtual secretaries? And would people here consider one?

<comment><USER20> Isn't that essentially what Cortana, Siri and whatever that Google assistant (Google Now?) are supposed to be? They don't seem to work very well atm.

<comment><USER21> Or Zirtual?

</comment></comment></comment><comment><USER22> Relevant [https://www.youtube.com/watch?v=ehqKpPmVcK4](https://www.youtube.com/watch?v=ehqKpPmVcK4)</comment>


Learn Git Internals - <AUTHOR> https://codecrafters.io/learn-git-internals <comment><USER2> What language(s) will be available for this one? I'd love to do this in C.

<comment><AUTHOR> Copying over from our FAQ:

> What all languages can I use?

> As of now:

> Redis challenge: Python, Go, PHP

> Docker challenge: Go, Nim

> We're always looking to add support for more languages. If you're part of > Early Access, let us know what language you'd like added on our Discord > server - and we'll try our best to support it in the next early access > trial!

</comment></comment><comment><USER3> For actual content, you need to sign up for their Early Access Program: [https://codecrafters.io/early-access](https://codecrafters.io/early-access)</comment>


How I boosted my Vim - <AUTHOR> http://nvie.com/posts/how-i-boosted-my-vim/ <comment><USER2> _Oh, and man… never ever let Vim write a backup file! They did that in the 70's. Use modern ways for tracking your changes, for God's sake.

set nobackup set noswapfile_

backup files are one thing, but turning off swap files is a terrible idea. vim can crash, you can accidentally close the window, your ssh session can die, etc. if you exit vim cleanly then the swap files will be transparent, so i don't see the point in disabling them.

<comment><USER3> so far, swap files have caused me more headache than anything else. I'm a paranoid maniac and I save every minute or two, so worst case I'll repeat a minute worth of coding.

What really ends up happening is I try to edit a file and something annoying pops up telling me about something requiring my attention (swap file already exists .. read only mode .. bla bla). In other words, it's just a distraction, most of the time.

<comment><USER4> Until it saves your ass. Which _will_ happen, if you use vim for a few years.

You can configure it to put your swap files in a canonical dir, instead of polluting the directory you're editing files in:

set backupdir=/var/tmp,/tmp

set directory=/var/tmp,/tmp

Now you can just nuke the swap files in one swoop:

rm -rf /var/tmp/*.swp

<comment><USER5> Or cron-job the pruning.

</comment></comment></comment></comment><comment><USER6> Great guide! My .vimrc had most of these settings, but I picked up a few things that made life much easier. Below are some tricks that I use which might make useful additions.

Binding the <Esc> key to capslock has been really useful for me. [http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_XWindow...](http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_XWindows) explains how you can do this, although it's done externally and not in Vim. Just include the script in your shell rc file and you're good to go.

Experienced users can hide the menu and tool bars with:

set guioptions-=m "remove menu bar

set guioptions-=T "remove toolbar

Extra screen space for your code is always nice!

Another amazingly useful plugin is MiniBufExplorer (<http://www.vim.org/scripts/script.php?script_id=159>). This allows you to open multiple buffers in the same vim window, and with the key binds given in the plugin page you can switch between buffers just like you switch between tabs in Firefox. It's really useful when you follow tags in a large source directory.

And for people who can't seem to find just the right colour scheme: Color Scheme Pack plugin (<http://www.vim.org/scripts/script.php?script_id=625>). It has over a 100 different themes, nicely categorized.

</comment><comment><USER7> One thing that continues to impress me is how much bigger than popular belief Vim is. There is a plethora of options you can set in your vimrc file (just now I found out about wildignore, and I'm kind of a Vim addict) and there are fucking lot of commands (try [I ), and that's not considering Ex mode.

Customization is way easier than in Emacs, you just unzip an archive in your .vim dir and (99% of the time) it works. I have plugins that do everything I've seen in Emacs that has to do with code, and then some.

Vim is no more the tiny start-quick-edit-close editor that it used to be.

Edit: I don't want to start a holy war here. Emacs is great, and I in fact have it opened right now. It's just that it's supposed to be able to do amazing stuff that Vim can't, I'm saying that that's probably still true, but to a way lesser level than before.

<comment><USER8> Speaking of [I, I prefer Shit-8 (*) or Shit-3 (#).

<comment><USER9> You seem to have impressed a wrong spelling into muscle memory.

</comment></comment></comment><comment><USER10> In the recent years the booster for me has been the "Command-T" plugin, which makes it super fast to open files.

I can _highly_ recommend this plugin, even if it's a bit harder to install than most other Vim plugins.

Check out <https://wincent.com/products/command-t> and [http://amix.dk/blog/post/19501#Command-T-for-Vim-an- awesome-...](http://amix.dk/blog/post/19501#Command-T-for-Vim-an-awesome- plugin)

<comment><USER11> I've gotta second this, command-t is probably my single favorite plugin. I tried using FuzzyFinder way back when, but it was just a little too quirky to be useful. This blows FuzzyFinder (and even fuzzyfinder_textmate) out of the water.

Navigating you project in this way feels a lot quicker than actually browsing the hierarchy with something like NERDTree. Don't worry about where things actually are, just type some junk and the file you want will almost always come to the top.

<comment><USER12> I used to be a die-hard NERDTree user until I discovered CommandT. It is solid gold and I couldn't imagine using vim without it.

</comment></comment></comment><comment><USER13> This is actually a really good guide. I use vim daily at work, and my .vimrc shares most of these settings.

One big productivity boost for me was remapping the Escape key to something a little more convenient. I just remapped the ESC key altogether, but this can throw you off if you find yourself working at lots of different computers. If you prefer something less permanent, you can map a key sequence to ESC. I like this one, which maps 'sdf' to ESC _if you're in insert mode_ :

      imap sdf <ESC>

jkjk is also a sequence I've seen used.

<comment><USER14> You can also use Ctrl-C to get out of insert mode.

<comment><USER7> Yes, but that's not equivalent to Esc, use this:

inoremap <C-c> <Esc>

</comment></comment></comment><comment><USER15> I have a similarly hacked up Emacs environment and it's actually gotten to the point that I'm taking a hard look at IDEs again. Having all this functionality available in a single integrated package with a visual debugger thrown in is starting to look strangely appealing.

<comment><USER16> IMO, IDEs are better for almost everything, _except_ for actual text editing. For that, vim and emacs are still the best (I prefer vim for plain text editing prowess, but emacs has a lot of other goodies which make it closer to an IDE, but still not as good).

Obviously, these are only my personal opinions.

<comment><USER17> I agree that this is true, if you have no desire to learn how Emacs and your chosen modes work. If you are willing to dig in, the ability to fix your tools with a simple C-M-x is indispensable, and is a feature that no IDE has.

What features do you think Emacs is missing?

<comment><USER16> Firstly, emacs is not a quick-start environment. If I want to get started in a new language, let's say Java, downloading Eclipse will make getting started with Java insanely easy. The same with C++ and Visual Studio. Compare with emacs, in which I have to spend time getting things to work. I'm not saying it's worse in the long run (although I suspect you can't beat Java on Eclipse), but the overhead every time I want to try something new is large.

But the biggest problem with emacs is the "project management" functionality. Emacs is designed to be "just an editor". To do the most simple thing, which is to define a project consisting of a few directories, and be able to move between those files, is very hard. Pick up many modern editors, and you can, with one command, point to a directory and have a project tree, a "jump to file", etc, all built for you. Not to mention the way they create makefiles automatically, do code-completion, create tag files so you can jump to a function by name, etc.

I can just list the number of things I didn't have to know about before starting emacs: makefiles, tag files, etc. _Not_ having to worry about these kinds of things is the biggest feature emacs is lacking.

<comment><USER17> Makefiles are an acceptable barrier to entry. I've lost a lot of hair trying to figure out how to build huge Java projects that the developers just built inside their five-major-versions-old IDE. ("Oh, just build it by clicking the 'export to WAR' button and then copy the file to each production server." No.)

Considering how trivial it is to write an ant file to do the same thing, it's appalling that the IDEs don't just do this by default. How can you write a good application if you don't even know how to compile it?

 _But the biggest problem with Emacs is the "project management" functionality. Pick up many modern editors, and you can, with one command, point to a directory and have a project tree, a "jump to file", etc, all built for you._

Emacs does this too: <http://github.com/jrockway/eproject>.

Of course, Emacs' version is a lot more flexible. The user can hook it, so he gets a fresh project REPL the first time he visits a new project. Or, he can hook the eproject-after-save hook, and commit the changes to a "backup" git branch, so that he never has to worry about not being able to undo.

The idea behind Emacs is that it can do things that nobody else has ever done before, and it continually lives up to this expectation.

(Also, "this is too hard for beginners". OK. Then how did I learn Emacs?)

</comment></comment></comment></comment></comment><comment><USER18> I am always thinking.. instead of downloading installing plugin here and there.... can some experienced programmer or vim expert create one full package which is best for atleast one programming language for e.g., Ruby and Ruby on Rails. So that newbie can like it. Newbie actually means who spent months and years on vim but never able to make their primary editor :)

</comment><comment><USER19> _Another great trick I read in a reddit comment is to use <C-r>\+ to paste right from the OS paste board. Of course, this only works when running Vim locally (i.e. not over an SSH connection)._

Actually, it does work over SSH if your X connection is forwarded properly.

<comment><USER20> True, true.

</comment></comment><comment><USER21> I was really expecting to see a link to his git repo in the end.

<comment><USER22> <http://github.com/nvie/vimrc/></comment></comment>


Need help with marketing our app - <AUTHOR> Hi, a few days ago, we launched our newest Android app, weather wiz.
Just one day after launch, we were featured on AndroidAuthority.com and 2 days after that, we were on AndroidPolice.com and PhoneArena.com (All three are among the best).
So we did great at the launch, we are getting lots of new users and everything is going fine, for now!
What do you suggest for the next step? how can we maintain our ranking and what else can we do? (except buying ads)
here is our app:
https://play.google.com/store/apps/details?id=com.sixthsolution.weatherwiz
And the media coverage so far:
http://www.androidpolice.com/2017/01/16/10-new-and-notable-android-apps-from-the-last-3-weeks-122816-11617/
http://www.androidauthority.com/5-android-apps-you-shouldnt-miss-this-week-android-apps-weekly-66-742795/
http://www.phonearena.com/news/Best-new-Android-and-iPhone-apps-January-10th---January-16th_id90065
Thanks for your help. <comment><USER2> Building a platform for beta testers and to specifically target early adopters. Would love to talk to you about featuring your app.

<comment><AUTHOR> That would be great, contact me at firstname.lastname@example.com</comment></comment>


We need an AirBNB for Mentorship--not $35k a year wasted on college - <AUTHOR> http://launch.is/blog/l024-spend-your-college-tuition-on-being-mentored-and-starti.html anyone out there want to build mentormykid.com? dead serious... I will fund it. :-)<p>i meet young adults all day long who are $100-200k in debt after school. makes no sense. <comment><USER2> This is apprenticeship. It's how the trades are taught and learned. I'd love to see more of it in the white collar world as well. Been thinking about how we can do more of this at 37signals.

<comment><USER3> The University of Waterloo Computer Engineering department offers a "Co-Op" Engineering degree. My understanding is that the students take five years to graduate, rather than the traditional four, and alternate by semester between work and school. One semester in classes, the other semester at internship. The graduating students I've met absolutely dominate technical interviews and the like.

<comment><USER4> The Rochester Institute of Technology has also has Co-Ops as a graduation requirement for most technical and engineering degrees. The number of quarters required depended on the degree. For example, I had to do four quarters for my computer science degree.

It was a fantastic experience, and every job I've held has come to me in some way through contacts I made through that program. Plus, it was extremely valuable to come back after a co-op and connect what you were learning with the real world.

</comment></comment></comment><comment><USER5> "Free labor is the exact point of interns! Why else would you waste your time mentoring someone who is gone in 10 weeks?" How utterly, utterly naive.

<http://www.nytimes.com/2011/04/03/opinion/03perlin.html> <http://www.nytimes.com/2010/04/03/business/03intern.html> <http://www.bbc.co.uk/news/business-10822784>

To quote just one example: "One Ivy League student said she spent an unpaid three-month internship at a magazine packaging and shipping 20 or 40 apparel samples a day back to fashion houses that had provided them for photo shoots."

That's what internships mean for many students not in IT or engineering nowadays.

The problem isn't that nobody wants to mentor people and pay them, the problem is that a whole host of companies aren't paying interns and aren't teaching them anything either, knowing full well that colleges will keep sending interns their way, and that the interns themselves won't complain as long as they get course credits and something to put on their resume, even if it means nothing.

"If you want to do grunt work in exchange for having Apple or NBC or GE on your resume, you should be allowed to do it. If I see a kid come in with those three companies on their resume, she has a good chance of getting a job -- I don't care what she did there."

... um, yeah, right.

<comment><USER6> I agree. That is close to what I argued here -

<http://news.ycombinator.com/item?id=2604734>

</comment></comment><comment><USER7> I spoke with a professor at a regional nationally-known university a few months ago. He was setting up a program for students to get real-world experience working with startups.

"Awesome!" I told him, "If I can have 2-3 kids for 3 days a week of around 4 hours, it will provide me with enough value to be worth my time, and in return they're going to get a lot of great experience. Just don't tell me you're sending a group of them here to do some kind of bullshit interviews, research, and reports. Really don't need much of that."

To his credit, he agreed with me that yes, that was exactly how he was planning it: the post-grads would roll in, take a look at some problem, go away and study it, then provide me a nice bound report at the end of their time. He wanted me to present them with little nicely-wrapped problems to consume.

I pointed out that this was not working in a startup. This was not entrepreneurial. This was -- for lack of a better term -- pre-consultant training.

We parted on friendly terms, but it really made me sad. I feel like both the students and I could have gotten a lot of value from a short time together, I was willing to invest in infrastructure and my time in return for their participation, and it was a shame that the university couldn't work out something that would be beneficial to us all.

This sounds like a great idea. Sign me up.

<comment><USER8> How is what you're looking for any different from an unpaid internship?

</comment></comment><comment><USER9> The solution to a broken higher-education system is not to encourage people to avoid it entirely. It's to fix the problem and make higher education affordable in the US in the same way it's affordable overseas.

It's great to say "don't go to college" but the reality is that most employers NEED people with college educations. It's unlikely that any amount of mentoring it going to create the technical employees that our businesses are desperate for right now. Yes, a lot of kids are wasting their college education and not ending up with marketable skills.

A big reason for that is our loan system that makes it easy to get a tuition loan for a field you'll probably never make a living in, because the party making the loan doesn't have to worry about a default.

If the effective cost of an engineering degree was half that of a degree with fewer job opportunities, because there was real risk of default and that was priced into the interest rate, we'd see a much better hiring market for new college grads than we do right now. Loaning someone $100K so they can get a photography degree at NYU and make $40K a year (as per a recent NYT article) suggests that the market is not functioning properly, and it's obvious why.

<comment><USER10> To do what you suggest would require a massive restructuring of the entire US university system, and the governmental systems that continuously feed it easy money. There's a _reason_ why college costs go up as federal educational dollars increase.

 _Colleges don't care what you major in, as long as the dollars flow._ Colleges have absolutely no incentive to provide educational experiences that are useful in the working world, since the money is already in the bank account. They have every incentive to maximize enrollments [1] and keep students enrolled as long as possible, while reducing costs via cheap graduate student labor.

Colleges also have every incentive to massage outcomes statistics to keep federal dollars flowing. When a student defaults on a loan, the college doesn't bear the brunt of the impact - it's the responsibility of the government, and therefore, the taxpayer.

"Fixing" the college system, as you suggest, would require eliminating many administrators and/or substantially reducing their salaries, structuring departments based on market demand vs. academic interest (no more liberal arts), and largely eliminating federal subsidies for academic research, student loans, and grants.

You can bet that every single individual involved in credentialing as it presently exists will fight those changes to their dying breath. Since being "strong on education" gets politicians elected, this faction will find it easy to maintain political support.

Personally, I think this sentiment sums up the alternative approach:

"You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete." - Buckminster Fuller

Employers don't NEED people with college educations. They need employees with economically valuable skills. They're not the same thing.

[1] [http://www.businessweek.com/magazine/content/10_19/b41770642...](http://www.businessweek.com/magazine/content/10_19/b4177064219731.htm)

<comment><USER9> I don't think you have to do a thing to the college system to fix the problem I'm pointing out. You have to fix how we finance education in the US.

Government guarantees of loans are always a recipe for moral hazard and inefficiency. Look at housing.

Either the government should directly fund higher education, as in Canada, Australia and other countries, or it should end guarantees on education loans from the private sector, so that they can have a more effective market. I'd be fine with the government subsidizing loan rates (say, paying the first 3% of the interest rate.) But the overall rate should be determined by market forces and the risk that a student will not earn enough to pay back their loans.

Borrowing 100K to learn basket-weaving should not have the same implicit risk as borrowing 100K to learn software development. As long as there is, you're effectively subsidizing the basket weaving at everyone else's expense.

Also, the solution suggested by the OP doesn't scale. There aren't remotely enough available internship opportunities to handle the demand if a large percentage of college students went this route, nor would big companies want to spend their time attempting to filter what would essentially be high school graduates looking to work in the corporate space.

</comment></comment></comment><comment><USER11> Sweet jesus, please kill this background: <http://launch.is/storage/launch_bg.jpg>

I scratched at my monitor for a good 15 seconds trying to figure out why a stain wouldn't come off.

<comment><USER12> Hah! I guess my screen is pretty dirty; I had to look pretty close to notice, even whilst scrolling.

</comment></comment><comment><USER13> Hi Jason (since you're reading this!)

* I spent about $20/year during my college years. That was tuition, room, and board, for graduate & undergraduate from 2002-2009 or so.

* Interns at my company get _paid_ , and well enough they can survive. But they usually work for 1-2 years, I think. Not 10 weeks. This is in line with a trades apprenticeship.

I think the core problem is "going to expensive schools".

edit: And there's an underlying surge in the cost of education, which is working to make all schools expensive.

My total cost of college probably sat around $140K, but that that is far more than my debt load, and I made some poor strategic choices for college: a better set of choices would have dropped the TCC down to 100K or so.

<comment><USER12> $20/year? Did you mean 20K? Did you have full-ride scholarships? Did you get an education outside the US?

Given your TCC, I assume you meant $20K.

<comment><USER13> Give or take, 20,000 per year. Almost no scholarships. Yes, USA. No, not Ivy League.

</comment></comment></comment><comment><USER6> _Free labor in exchange for education, contacts and a resume builder._

The idea sounds noble, in that, if such mentorship program is used in the right spirit, it could have a very positive impact on the youth's education and professional development. This sounds good on paper but I see potentially big downside with abuses. As a slightly related example, you could just look at the plight of illegal or early immigrants who end up working at below- market below-minimum wage jobs. If there are no laws to prevent such abuse of interns, people (read "market") would figure out a way to do just that. Such programs would help only in hands of right mentors.

I also tend to disagree on the notion of _35K a year wasted on college_. College is much more education than education about a profession. It teaches kids social interaction, and gives them lifetime friends.

Edit: Corrected grammar.

<comment><USER14> "It teaches kids social interaction, and gives them lifetime friends."

I guess I did it wrong. The only friends I have from college are the same ones I had before college. I have a few facebook acquaintances too, but it would be a stretch to call them friends.

<comment><USER15> Yes imho you did it very wrong.

<comment><USER14> I possibly did. I worked 3 jobs while _mostly_ putting myself through school. My parents helped a bit in the first and second year, I took a semester out, and ended up taking out a student loan the last year (and still had some credit card debt as well).

I had friends in classes, and we'd hang out sometimes, but this notion of 'lifelong friends made in college' just doesn't seem to feel very real. It also doesn't seem to be the case for many of the people I know. Yes, they made friends in college, but for the most part those friendships have about the same impact as high school friends - typically, not much after you leave the shared space.

But perhaps I'm just too cynical...

<comment><USER16> It's not being cynical, it just wasn't the experience you had.

<comment><USER14> good point.

</comment></comment></comment></comment></comment></comment><comment><USER17> Unpaid internships aren't illegal just because some students get taken advantage of by doing grunt work and not getting experience, it's because they have been used for discrimination.

Top law firms are a great example. It used to be that if you wanted to get a job at a top law firm you had to do an unpaid internship for that company. Who has the money to not work for 3-4 months and still be fine? Kids with wealthy parents. This system ensured that minorities and underprivileged couldn't get into the field because they couldn't afford to take an unpaid internship. They were made illegal partly to try to prevent this "old boys" network from continuing and to instead help people succeed on the merits of their work, not who their parents were.

<comment><USER18> A top law firm could just start a minimum wage internship which would have the same effect -- with $100,000 or more in law school debt, most people couldn't afford that either.

There are other ways to help people from outside the "circle" break in, this in fact the genesis of most diversity programs at white-shoe firms.

<comment><USER17> Most people could get by on minimum wage for a little while. Law school debt usually doesn't have to be paid back immediately.

</comment></comment></comment><comment><USER19>
      A year in school from ages 4 to 18 inside this insanity costs $30K to $40K a year.
      People are spending $500K on their kid's education -- before college! Insane!

I'm dumbfounded by this. I went to a state school (well 4 actually, parents moved a lot) in the UK, left at 15 years old and haven't had any formal education since. I consider myself reasonably intelligent, i'm an autodidact and i only started real learning after realising there was a difference between education and school, after that epiphany i began to love learning.

In the 10 years since leaving school, i've done pretty well for myself, i'm financially stable, know my shit in my chosen field and earn a good wage when i choose to work.

While i'm not arrogant enough to think i've got everything sorted, i've always wanted to be a mentor to others and hopefully show them that school and education are different, i know i'd have done better if i had a mentor when i went through my learning experiences. Although, i suppose its still not too late for me to find some.

<comment><USER20> The prices he mentions assume that everybody's sending their kids to private schools prior to college. That's really not the case. In cities, you'll see a higher percentage of it because city schools tend to be worse environments for learning and are stretched thinner budget-wise, but the vast majority of students in small towns and suburbs go to public schools paid for by their taxes and do not incur the kind of pre-college expense for education that he's talking about. Sure, the taxpayers are still paying towards their education ... but it's spread across the entire community, whether they have students in school or not, and not coming directly out of the pockets of individual students' families.

</comment></comment><comment><USER21> Hehe. So typical of Calacanis, yet funny:

 _Side note: Yeah, I got problems with Arrington, but I can't deny that his prose can be compelling. Not as compelling as mine, mind you, but he's in the top 10 of tech writers_

</comment><comment><USER22> > These interns are not slaves or indentured servants. They can walk out at > any time

Not in a school with coop degrees. If I had walked out of any of my internships I would have lost the credits, set my progress towards my BS degree back 6 months, and been out 6 months of tuition (Drexel University charges the same annual tuition for a year where you have classes for 12 months and one where you spend 6 months doing one of your 2-3 required internships).

</comment><comment><USER23> Why limit it to just kids? We all need someone to give guidance and support some time in our lives. There seems to be some mentorship matching services but they're geared towards matching local mentors and mentees.

How about an online mentoring matchup where:

\- Mentors and Mentees create a profile and upload bio (preferably a video bio) about why they are qualified to be a mentor and who they want to mentor and mentees talk about who they want to be mentored by and what they need help with.

\- Both groups can apply/offer to each other and they set the time frame and hours committed to being mentored. After an engagement is complete, mentees are invited to post ratings and review their mentor.

</comment><comment><USER24> If anyone seriously wants to do this, they need to look at the meta-problem. All sorts of hackers are going to want to work on this project, but remote collaboration tool UIs are iffy at best. What if one were to pipe a screen session to a jailed *nix terminal and build a social application modeled around the use of screen-sharing. This would at least fill the niche of universities not offering a programming course.

The "AirBNB"/couchsurfing aspect is already a philosophy of libre/open software practices anyway. By building a site focused around a shared command line, one could easily reach a wide number of hackers who would love to learn programming. They would, in practice, be building skills and a few would be able to improve the application.

Finally, with the assistance of the now-established programming community, the application could be improved and perhaps merged with other online academic endeavours (eg Wolfram Alpha).

</comment><comment><USER25> One significant problem is the pyramid of management. Everyone would want to be managed by the top person. But these are in very limited supply, and they're being rationed one-to-one. In a university, the lecturers are one-to- many.

How many top-dogs are there? 1000? 10000? That doesn't put a dent in university admissions. So, to go 'wider' one would need some kind of advertising for the middle-managers who would like to mentor. But the facts of life are the middle-management is pretty boring (at least from the outside).

So, while the idea of being mentored by Steve Jobs (CEO) is compelling, the reality would come down to a family dinner-table discussion of whether Joe Schmo (middle-manager) is a rising star, or just someone who likes the idea of someone paying to pick up his dry-cleaning.

</comment><comment><AUTHOR> it would be amazing if someone wanted to build out mentormykid.com. i would seriously fund it.

<comment><USER26> I've seriously been thinking about starting a site like this for several months. However, I would like it to function as a free site for all, mentor and student, instead of a pay-for-the-mentor site. I'm fairly convinced that there would be plenty of people who would help out as a charity or philanthropy, but haven't thought of a good way to execute that thought yet.

My motivation, as may be yours, is to disrupt this current increasingly flawed education system in whatever way I can. Working on a few other projects along this line at the moment...

<comment><USER27> "to disrupt" seems to me like a backwards approach. You don't need to disrupt anything, you just need to create a system that works better, at least for some, and the old system will fall back. It doesn't need to be defeated or eliminated.

But yes, mentors outside (as well as inside, perhaps?) of academic institutions is a rather good idea, i think :-)

</comment></comment></comment><comment><USER28> Bruce Mau -- from Massive Change -- created a similar one-off program. <http://www.institutewithoutboundaries.com/> . It is unclear how successful the program was. The main reason seems to be that the demand for mentorships exceeds the mentor ability to work directly with the interns. Many top architects actually charge students to participate in the studios as interns. They use some fancy french term to describe the relationship.

</comment><comment><USER29> It's interesting how 'AirBnB' has become a synonym for 'marketplace'. That's success.

</comment><comment><USER30> It's called the internet. Information is free - if you can't teach yourself something, you have no chance of survival in a world filled with jobs that often require you to learn and adapt independently.

<comment><USER31> Having a mentor is a very different thing to going to a library (or the internet, the greatest library that ever existed) and reading everything.

</comment></comment><comment><USER32> What if airbnb had the equivalent of sub-reddits? For now, it just has the "sleep somewhere" sub, but you can imagine all kinds of user-created ones. A cross between Meetup and AirBnB?

</comment><comment><USER33> I really want to work on this. I bought some domains regarding it. I can work on something quick over a couple hours and have something going.

</comment><comment><USER34> Interesting. How will it scale, though?

</comment><comment><USER35> I've never understood the obsession with internships. Why be an (unpaid) intern when you can hold down an entry-level tech job during college? Why aren't there more summer/break jobs for students?

(I paid my way through college by doing programming work. Part time during school, full-time during breaks)

<comment><USER36> In Canada the system is slightly different. We usually don't have as many internships as we have coops. The main differences between the two are the following:

* Coop is usually paid * It's usually technical. * Some universities have programs to support coops.

The biggest coop program is from the University of Waterloo. All engineering students are required to take part in the program which combines work and school by alternating between a school semester and work semester. The university has it's own job posting website, and it actively foes looking to find more employers to offer jobs. It also makes sure that the student gets to do real work, not make coffee all day. If a student feels like he's getting the short end of a stick with a job, he can complain to the university which will look into it and clear things up.

Disclaimer: I am a student at uWaterloo.

</comment></comment><comment><USER37> Well said, Mr. Calacanis. It'll be interesting to see if somebody actually picks this idea up and tries to make something happen with it.

Sadly, if it did happen, I can already predict what'll come next... the inevitable whining and moaning about how bloody unfair it is that _"some kid gets to be mentored by J.J. Abrams, just because his parents are rich... waaaaaaaahhhhh, waaaaah.... somebody should pass a law prohibiting this sort of thing, it's a return to the Robber Baron era, waaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhh, the rich get richer and the poor get poorer, wahahaahaaaaaaaaaaaaaaaaaaaaaaa."_</comment>


Launch HN: Peergrade (YC S17) – Student to Student Feedback - <AUTHOR> I am David of Peergrade (https://www.peergrade.io). Peergrade is a tool for educators to run peer feedback and peer assessment sessions with their students. Peer feedback is a way to train skills like critical thinking, constructing arguments and how to give and receive feedback - all skills that we believe will be even more important in the job market of the future.
I teach a university course in data science at The Technical University of Denmark. Two years ago my course suddenly grew from 20 to 150 students (I changed the title to include "big data"). To overcome the sudden explosion in students, I started working on Peergrade. The idea was that I could save some time on grading papers, the students could write better feedback than me since they had more time per paper, they would learn from reading and assessing each others work and I could reallocate the time I saved to more impactful things like mentoring students.
One of the things we heard from teachers that had tried peer feedback before was that it was challenging to motivate students to write helpful feedback. One of the ways we try to solve this is by letting students assess the feedback they receive, consequently giving a clear incentive for writing helpful feedback. To combat gaming and unfair assessments, students give feedback anonymously and they can flag feedback which they disagree with for moderation by the teacher. Since students are able to flag and counter-argue the feedback they receive, they also spend more time reading and thinking about the feedback.
Today Peergrade is used in institutions around the world, all the way from 4th grade to higher education, across all subjects and with class sizes from just 5 students to thousands of students.
We look forward to answering any questions you might have about our product, tech-stack or vision for the future :). <comment><USER3> Cool work! I think peer review has a ton of potential and is certainly something grows better with scale.

My favorite course in college used a similar approach to scaling grading, described (very) briefly here: [http://commons.library.upenn.edu/sites/default/files/picture...](http://commons.library.upenn.edu/sites/default/files/pictures/events/2015fader.pdf)

<comment><AUTHOR> Thanks for the comment! I looked at WHOOPPEE a while ago and it is great work. We have thought a lot about doing rankings instead of grading/assessing each piece of work individually with evaluation criteria.

On one hand, I believe that it is easier with rankings to get more numerically correct grades. Humans are bad at rating things, but binary rankings are doable.

The challenge with rankings for peer review, is two-fold. The first problem is that a ranking does not directly tell you where you are lacking or how to improve. The second problem is that quality is generally not 1-dimensional (as the ranking would be).

These problems can be solved by letting students rank papers according to multiple criteria (consequently generating multiple rankings) and then combining these rankings. The challenge with this solution is that doing multiple rankings often ends up becoming a quite time-consuming and overwhelming task. Also, from the research I have looked at about this, students generally find it hard to pick one or the other, often requesting the "I don't really know" option making the problem somewhat less trivial.

</comment></comment><comment><USER4> Congrats David! I was in the course last year when we were ~150 students. I really enjoyed both giving and reading the peer feedback from others. I was also surprised how there would be this dynamic of exchanging tips and tricks on what could have been done better between anonymized peers. All the best with the future of peergrade! /Jakob

<comment><USER5> Hi Jakob – thank you – we're thrilled to hear that!

We, at Peergrade, strongly believe that there's a lot to be gained if students share more of their experience (knowledge gained, questions, struggles) when engaging with the class material. Through sharing those learning experiences students will learn faster and our aspiration is that Peergrade will be the facilitator of exactly that sharing and improved learning.

</comment></comment><comment><USER6> Great work, I like the idea of not requiring students to have an account to login, but instead use a code. I also feel as if this is a great way to introduce the youth to the concept of "Code Review" which I believe is critical to secure coding and their future.

<comment><AUTHOR> Thanks! We originally built Peergrade just with email/password login because we started with a focus only on higher education. When we got the first users from schools that didn't have emails, we had to rethink the login flow. Using a code has a lot of advantages since it makes it a lot easier to get started - but often students realize later (for example a week later) that they would love to have saved their feedback, which is now impossible.

I totally agree about code-review! I actually wrote a post on Medium about teaching code review with peer feedback: [https://medium.com/@davidkofoedwind/teaching-code-review- in-...](https://medium.com/@davidkofoedwind/teaching-code-review-in- university-courses-using-peer-feedback-5625fe039f2a)

</comment></comment><comment><USER7> This is great, congrats! How did you get your first few customers? How do you plan on monetizing? I realize Peergrade is free, but, as an educator, do you have any advice with respect to selling into K-12 vs higher-ed?

<comment><USER5> Thank you!

First customers were through personal network, we then quickly transitioned into cold emails to universities in our region.

We are already making money, primarily through sales to institutions in higher-ed. The longer term plan is continuing down that path, with institution sales making the majority of revenue, but with individual teacher plans available as well. The freemium model is to get teachers hooked, and then have their school, department, or university purchase as they see increased use and a need for integration with their existing school system (LMS). This is a path we have seen for a bunch of our current customers. Especially integrations seems to drive institutions to buy.

K-12 vs Higher-ed is a complex beast, but an analogy can be drawn to Consumer vs B2B. K-12 is high-volume, low price, low touch deals and have some similar characteristics to the consumer market (virality + simple products). Higher-ed is lower-volume, larger deals sizes, but more hands-on sales. Currently our sales and marketing efforts are focused on higher-ed because it does seem to have the best ROI.

</comment></comment><comment><USER8> What type of Quality Control features do you have in place to ensure that peers take the time to provide quality feedback? I have often found that incentives alone do not suffice.

<comment><AUTHOR> Great question! There is a few different things we do. First of all, students can flag parts of the feedback for moderation by a teacher. Secondly we calculate the inter-rater agreement between reviewers on a submission - <USER2> way teachers can look at submissions with a high disagreement.

Of the slightly more complex parts, we have some algorithms that can detect biased students (similar to this [https://arxiv.org/abs/0711.3964](https://arxiv.org/abs/0711.3964)). Another simple trick is that if one reviewer says your work is good, another that it is bad and you don't flag the feedback saying your work is bad, then the review stating your work is good is probably too nice.

The final thing we are working with is making sure that students are honest when they assess feedback quality. To do this, we use some natural language processing to estimate the quality of feedback so we can see if our model is in agreement with the student that reviewed the feedback.

Basically, we do a lot of automated outlier detection and highlight outliers to teachers for manual moderation. Not all of this is in production yet (in the end, students are actually quite honest), but all of it is working in non- production environments on actual data.

<comment> lurker- I used it for one of my courses a little over a year ago; I don't recall seeing any flag, but maybe that's a newish feature.

My primary problem was that the professor often created a question or two that 9/10 groups hadn't addressed, and failed to add questions addressing the value of their work. Meaning a group may have created a product worthy of a 95+/100 score, but failed to address some poorly made question by the professor. Although you could argue that flaw lies upon the professor rather than your product :)

Another problem was that it was very easy to figure out the owner of the assignment, which basically meant that many of the students would give top score to their friends regardless of the quality of their work.

Finally, I hated the psychology that played into effect when grading the peers. Especially because I couldn't help but think that the professor would be able to associate the comments/scores to me (resulting in me giving overly positive scores to terrible assignments)..

That being said, I think what you're building is really great, and if I were a professor then I'd likely want to use it myself.

<comment><AUTHOR> Thanks for your comment! We love feedback (part of our DNA) ;).

One of our biggest challenges is making a product that is flexible for teachers but which is hard to misuse. Bad assessment rubrics give bad student experiences, and unfortunately we can't make them for the teachers. We are in the process of writing a small booklet for teachers on how to make rubrics better.

The challenge with anonymity is especially a problem in smaller classes. We make sure to strip metadata from the submissions, so if people don't put their names in the documents, the only way to determine the author is to know the content or the writing style. It sounds like the challenge in your course was that people were working on different projects and that you knew who was working on what?

The psychology part is the most tricky. We want to make a setup where the incentives are correct, but where people don't feel scared of giving feedback to each other. The way we primarily do this is through feedback-on-feedback where receivers of feedback are asked to review the quality of the feedback they received, and then we let the teachers moderate this and students flag problems. I don't think we are completely there yet, but I can definitely see that we are making progress on solving this :).

<comment> lurker- Yeah, it was a group project with a lot of presentations, so could instantly recognize who the project belonged to just by looking at group number/easily recognizable pictures. Not sure if there were other identifiable information.. but you say peergrade doesn't display this, so I guess here it's again the fault of the professor to let students upload entire documents rather than letting them copy parts of the text..

That being said, I do seem to recall that the uploading process was somewhat simplified, meaning that we had no choice but to upload everything together, rather than splitting the uploading part into different sections. I mean, if the assignment was a research paper, then instead of uploading it all together (usually in the form of a pdf), it could be divided into different sections, e.g. introduction, related works, etc. (with only text it would be much harder to recognize the author, and if person A reviewed introduction of PersonB and related works of PersonC then it would be even more difficult to identify).. this could also go a long way towards solving the poorly made questions by the professor since it would be guaranteed that all the questions were relevant and completed (not sure if that makes sense, and I wouldn't be surprised if I remember wrong and all of this is already possible ^_^)

About feedback on feedback, it sounds good in theory, but I recall many wouldn't bother looking at it (especially because most would just leave "ok", "good", "I agree" etc as their grading comment), and those who did would just skim it without taking any actions to correct poor feedback where it was clear the person grading it hadn't bother to read the content in detail. But I of course have no idea if our behavior was the norm rather than the exception :)

In fact, one of my biggest issues with grading in general (second only to being graded based on a stupid test/presentation at the end of the semester rather than the assignments completed throughout the course) is that teachers will often be biased, and I think you have a real shot at fixing this by ensuring that even the teachers don't know the author of the assignment they grade.

<comment><AUTHOR> You are right, at this point we only allow students to submit one piece of work. The reason is to limit confusion on the reviewers side and to ensure that proper context is kept - it is not always possible to review the conclusion without the introduction. That being said, we are looking at alternative solutions.

In relation to the feedback on feedback, it is again a question of how the teacher implements it. In my own course, the quality of feedback a student provides counts for 30% of their final grade, that makes incentives very clear.

I totally agree with teacher bias being a huge problem. We have a lot of teachers telling us that they are surprised when Peergrade highlights their own personal biases! We are building a way for teachers to also grade people anonymously to further this :).

</comment></comment></comment></comment></comment></comment><comment><USER9> Congrats! I remember watching your YC experience through Medium Series. The journey seems super exciting :).

<comment><AUTHOR> Thank you! Happy to hear someone was actually reading that. The experience with using Medium Series as an author was not very pleasing to say it the least.

</comment></comment><comment><USER10> I've heard of a few other guys doing that... or maybe it was you already :-p.

Why are you better than the others ?

<comment><AUTHOR> Hope it was us! I think we are better for a few reasons.

1) We are feature-wise the most complete peer feedback solution on the market. This matters because very few classes and courses are the same and teachers like flexibility where product fit to their teaching.

2) Secondly we spend a lot more time thinking about the user experience for teachers and students in our product. Getting accurate grades and having a lot of smart features is of course important, but making it easy to use and setup is more important.

3) It seems that most other peer feedback solutions are built with a narrow mindset about just scaling grading. We are building Peergrade with a focus on feedback over grades and always looking at improving the way students interact with and learn from each other.

Hope that was an answer to your question :)</comment></comment>


Brain tunes itself to criticality, maximizing information processing - <AUTHOR> https://source.wustl.edu/2019/10/brain-tunes-itself-to-criticality-maximizing-information-processing/ <comment><USER3> This is a similar view to the emerging theory of Bayesian Brain, which views the brain as a system that tries to minimise the prediction error (which might be the same thing as "free-energy" in some related publications) by comparing expectations with actual information coming from the senses.

[https://towardsdatascience.com/the-bayesian-brain- hypothesis...](https://towardsdatascience.com/the-bayesian-brain- hypothesis-35b98847d331)

So far it seems that it explains quite a lot of data, and many mind illnesses (e.g. many diseases can be thought as the brain under-correcting or over- correcting for the prediction error).

By under-correcting, the brain is not learning enough on its mistakes, which may lead to delusions of superiority (e.g. being stuck in usual habits, or inability to change one's world-view based on new information). On the other hand, when over-correcting, the world may seem unpredictable, frightening - leading to self-doubt, anxiety and negative thoughts.

Being wrong around 15% of the time might actually be the optimal rate for learning... [https://www.independent.co.uk/news/science/failing-study- suc...](https://www.independent.co.uk/news/science/failing-study-success- machine-learning-a9186051.html)

<comment><USER4> I agree; Karl Friston's work is among the most interesting I have ever read, period. Interestingly, his 2009 paper ([https://www.fil.ion.ucl.ac.uk/~karl/The%20free- energy%20prin...](https://www.fil.ion.ucl.ac.uk/~karl/The%20free- energy%20principle%20-%20a%20rough%20guide%20to%20the%20brain.pdf)) / free- energy principle makes use of reinforcement learning, gradient descent, Markov blankets, Helmholtz machines, and other foundational tenets of modern machine learning ... In that regard, Geoff Hinton (a foundational figure in modern machine learning) overlapped with Friston while Hinton was in England at that point in his career.

<comment><USER5> Yes, interesting man. I encountered him on a workshop by Bert Kappen on stochastic optimal control. It shows that there are different control strategies for different noise levels separated by phase transitions.

I checked Friston again. He now also has this article: [https://www.frontiersin.org/articles/10.3389/fncom.2012.0004...](https://www.frontiersin.org/articles/10.3389/fncom.2012.00044/full)

CLE = Conditional Lyapunov Exponents.

"In short, free energy minimization will tend to produce local CLE that fluctuate at near zero values and exhibit self-organized instability or slowing."

I've to study it more what he means with self-organized instability.

</comment></comment></comment><comment><USER6> Any study about "criticality" needs to be taken with a huge grain of salt. The standard methodology is that criticality is synonymous with power laws. And power laws are straight lines on log-log plots, with slope equal to the critical exponent.

So when anybody says "we showed X was critical", they actually mean "we plotted a fuzzy cloud of data points on a log-log plot and fitted a line through it", nothing more. But you can fit a line through anything. Even a normal distribution shows up as a line on a log-log plot if your data has a small enough range.

Criticality studies trade on the reputation of physics, where the idea came from, and there it works fantastically. For instance, we can measure critical exponents for liquid/gas phase transitions to three or four significant figures, and even predict those numbers from pure theory. Applications outside of physics usually have barely one significant figure, if they're even measuring power laws at all, and no predictive theory.

<comment><USER7> I'm reminded of a story in Ulam's biography.

John von Neumann was at a talk where the presenter had put up a slide with a cloud of points, and had optimistically drawn a line through the cloud. Von Neumann muttered, "at least they lie on a plane."

<comment> hdrujvw-4579 I've been meaning to read that biography. if anything for its notes about Johnny von Neumann, who strangely doesn't have a biography of his own.

[https://www.amazon.com/Adventures-Mathematician-S-M- Ulam/dp/...](https://www.amazon.com/Adventures-Mathematician-S-M- Ulam/dp/0520071549)

</comment></comment></comment><comment><USER5> This article does not have much info.

What exactly does exhibit criticality? As correctly stated, all kind of phenomena can exhibit power laws.

Avalanches on a sandpile are sized as a power law. Typical example of self- organized criticality (Per Bak).

Back in the day I played with group renormalization theory to prove SOC, but most systems break down if there is loss on a microscopic scale. Intuitively, you need conservation laws on a microscopic scale or the very large events do not happen.

This is unlikely the case in a biological system and I won't expect it to be at a critical state, but only hovering around "an interesting area".

<comment><USER8> Hengen said: "Recently, people moved away from measuring simple power laws, which can pop out of random noise, and have started looking at something called the exponent relation. So far, that's the only true signature of criticality, and it's the basis of all of our measurements."

They measure neuron activity and spread of firing actions - if I understand correctly without looking at the paper. And they found that thanks to the sophisticated inhibitor neuron network the whole network balances around this mathematical criticality.

I guess it means if there were less inhibition then entropically there would be too many firing actions leading to a feedback frenzy, which is obviously not that effective for information processing.

And if there were more inhibition then the information wouldn't be able to spread to all the special small parts of the brain, thus making them too specialized.

Maybe.

<comment><USER9> Can that be boiled down to something like "the brain is optimised for maximum performance without breaking down."

Always being just bellow the activation threshold.

<comment><USER8> I think it's better phrased as that it has active controller feedback loops. If there is room for more specialization, if it can get away with less energy used, less neurons, or some other kind of optimization, then it seems it will do that.

And there are loops that work against these to prevent breakdown, forgetting too much, slowing down too much, etc.

Of course it's not really known yet what these control system are exactly. (At least I'm not aware we have good data and theories about this aspect of the brain.)

</comment></comment></comment></comment><comment><USER10> When we think of all the different neurotransmitters (dopamine, serotonin, etc) we sometimes forget that the vast majority of neurons are producing either excitatory outputs (via glutamate) or inhibitory outputs (via GABA). The other neurotransmitters are modulators of this basic phenomena of excitation/inhibition.

The brain has a tightly balanced feedback loop between excitation and inhibition. Too much excitation and the brain gets a seizure (positive feedback). Too little, and you black out.

TBH, it's quite a good example of the principle of balance in the concept of Yin-Yang.

<comment><USER11> Your observation reminds me of the sympathetic and parasympathetic nervous systems.

</comment></comment><comment><USER4> Interesting, but that article -- Ma et al. (2019) "Cortical Circuit Dynamics Are Homeostatically Tuned to Criticality In Vivo" [[https://www.cell.com/neuron/fulltext/S0896-6273(19)30737-8)](https://www.cell.com/neuron/fulltext/S0896-6273\(19\)30737-8\))] -- makes no mention of Karl Friston and his work (who is also mentioned elsewhere in this thread: @Agebor, re: 'Bayesian brain'), which seems highly relevant.

E.g.

* Friston, K. (2009). The Free-Energy Principle: A Rough Guide to the Brain? Trends in cognitive sciences, 13(7), 293-301.

[https://www.fil.ion.ucl.ac.uk/~karl/The%20free- energy%20prin...](https://www.fil.ion.ucl.ac.uk/~karl/The%20free- energy%20principle%20-%20a%20rough%20guide%20to%20the%20brain.pdf)

* Friston, K. (2010) The Free-Energy Principle: A Unified Brain Theory?. Nature Reviews Neuroscience. 11(2): 127.

[https://www.fil.ion.ucl.ac.uk/~karl/The%20free- energy%20prin...](https://www.fil.ion.ucl.ac.uk/~karl/The%20free- energy%20principle%20A%20unified%20brain%20theory.pdf)

* Solms M (2018) "The Hard Problem of Consciousness and the Free Energy Principle." Front. Psychol. 9: 2714. DOI: 10.3389/fpsyg.2018.02714 | PMCID: PMC6363942 | PMID: 30761057

[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6363942/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6363942/)

[https://www.frontiersin.org/articles/10.3389/fpsyg.2018.0271...](https://www.frontiersin.org/articles/10.3389/fpsyg.2018.02714/full)

<comment><USER4> Ma et al. include 72 references yet also fail to cite the following, which also seems relevant.

Thermodynamics and signatures of criticality in a network of neurons

[https://www.pnas.org/content/112/37/11508](https://www.pnas.org/content/112/37/11508)

"The activity of a brain—or even a small region of a brain devoted to a particular task—cannot be just the summed activity of many independent neurons. Here we use methods from statistical physics to describe the collective activity in the retina as it responds to complex inputs such as those encountered in the natural environment. We find that the distribution of messages that the retina sends to the brain is very special, mathematically equivalent to the behavior of a material near a critical point in its phase diagram."

</comment></comment><comment><USER12> Off topic, but seeing "wustl.edu" as the source brought up some memories.

In the early 90s, I used their ftp site at wuarchive.wustl.edu very frequently. It was a reliable source to download open source software like Perl, tcl, trn, gcc, and so on.

</comment><comment><USER13> This problem of run-away excitation in wetware reminds me of exploding gradients in artificial neural nets. We try to handle this with data normalization, batch normalization, and gradient clipping of different sorts (although unless the clipping is incorporated into the loss as in PPO (Schulman), it's very brittle and dependent on the data and network architecture.). So I wonder if we can glean something from these inhibitory neurons for artificial nets. The opposite problem of vanishing gradients results from too much inhibition, which happens in recurrent neural nets - <USER2> it's definitely a balance. Currently PPO does the best job IMO, but is specific to reinforcement learning.

</comment><comment><USER14> The article doesn't make much sense to me because it doesn't define criticality, quiescence or chaos.

<comment><USER15> They are using criticality in the same sense it used in physics (in the context of phase transitions). You may find the wiki article useful in this regard [1]

[1] [https://en.wikipedia.org/wiki/Critical_phenomena](https://en.wikipedia.org/wiki/Critical_phenomena)

<comment><USER14> This is a link which offers criticality as a metaphor with multiple meanings. You suggest phase transition criticality is close to what they mean, characteristic boundaries where matter transitions between solid-liquid, liquid-gas etc?

I won't spin mental cycles guessing. I'd rather the authors were explicit.

<comment><USER15> Well frankly I did not read the article. But I am all too familiar with discussions of criticality in the context of neuroscience and it is always meant in the same way physicists use the word.

I'm afraid this may be a scenario where some deeper knowledge is needed to fully appreciate the discussion. You would be well rewarded for putting in the effort though, it's a fascinating notion. I'd recommend starting with the Ising model [0] which is the canonical system exhibiting critical phenomenon.

[0] [https://en.wikipedia.org/wiki/Ising_model](https://en.wikipedia.org/wiki/Ising_model)

edit: if by 'this' you are referring the the wiki article on critical phenomenon, you're definitely missing the larger picture. The examples that wiki article lists aren't metaphorical, they're all essentially 'corollaries' (in a very loose sense) of the same underlying thing. Start with the Ising model.

</comment></comment></comment></comment><comment><USER16> I wonder how this relates to anesthesia.

</comment><comment><USER17> "Recently, people moved away from measuring simple power laws, which can pop out of random noise, and have started looking at something called the exponent relation."

Sadly no further explanation of this. Exponent-relation sounds like a synonym for power, too.

</comment><comment><USER15> The brain being poised towards criticality is a serious meme in the neuro community. Not that it's an uninteresting idea or one unworthy of pursuit. Just a bit hard to have people to take you seriously.

<comment><USER18> See also: [https://twitter.com/farlkriston](https://twitter.com/farlkriston)

Well, these ideas are very likely accurate, but so general that they are disconnected from solving practical problems. Fine, the brain is a prediction machine and it optimizes over some program space by annealing doing homeostasis/regulation, and maybe tends to occupy certain kinds of states now and then. This, however, _tells us very little_ what the learning rules for the synaptic weights should be and how we should wire things up. In fact, I believe human-relevant problems are best solved by such a special subregion of program space that one needs _pretty specific_ architectural priors as otherwise search will take too long. These are unlikely to be derived from general concepts, but are more likely evolved, either literally by evolutionary algorithms or by people doing the trial and error. The issue being that general concepts about prediction errors and program spaces know nothing about our specific world. E.g. none of these general concepts predict the usefulness of CNNs. CNNs exploit fairly specialized priors about object translation invariance and locality in image statistics, which are specific computations occurring in our universe when parts of it are perceived by geometric projections of EM rays onto an image plane with sensors. Hinton's capsules go into the right direction exploiting some more priors about spatial reference point invariance, but we need to go deeper. The brain disassembles the world into stable episodic chunks and operates on them, and it manages to backpropagate values through such episodic memories. Currently, no neural architecture does something like this.</comment></comment>


What I Discovered When I Went Vegan for 30 Days - <AUTHOR> http://www.raptitude.com/2011/03/what-i-discovered-when-i-went-vegan-for-30-days/ <comment><USER2> That's annoyingly normal - he went vegan, feels great and thinks everyone should try it for a week, now drinking milk and eating meat makes him feel ill.

He doesn't explore though; could he be feeling better simply from eating less? Or more? Or more greens, or more of a particular nutrient? Or less of one specific thing he doesn't digest well? Or does the change in diet make him sleep differently and that's why he feels better? Is it just the act of change itself that does it?

And does he now feel bad about eating animal products and that makes him respond badly? In the comments he refuses to test it and isn't interested in finding out. Does raw animal produce do the same? Unpasteurised milk, raw meat or fish? What about goat or sheep milk? Or byproducts?

I am of course interested in the mysterious weight which lifted from him such as the "annoyance of getting out of a chair", but all sorts of strange practices practitioners claim unverifiable things like that.

Does anybody like this measure anything quantitatively?

<comment><USER3> I suspect most of his effects were psychological. He expected going vegan to have wonderful effects, so it did.

</comment></comment><comment><USER4> Might want to read this for counter-balance: <http://voraciouseats.com/2010/11/19/a-vegan-no-more/>

I did try going vegan for a while - nearly two months. It made me feel cold, sick, miserable and lethargic. I have met some vegans and a lot of them do not look very healthy.

If you want to eat healthier, meat is not the problem. It's sugar.

<comment><USER5> Both are a problem. There is increasing evidence that eating meat causes many long term problems. (<http://en.wikipedia.org/wiki/Red_meat#Health_risks>) Additionally, see the news in the US in the past few days that supposedly ~50% of meat being currently sold in the US is contaminated ([http://latimesblogs.latimes.com/dailydish/2011/04/gross-.htm...](http://latimesblogs.latimes.com/dailydish/2011/04/gross-.html?cid=6a00d8341c630a53ef014e87d4e330970d)). And don't forget that raising animals for meat consumption is just terrible for the environment. I still eat meat, but I'm cutting way back and I feel really bad about it when I still do.

Perhaps you were just not getting enough protein in your vegan attempt? Or eating the right iron rich foods? One of my friends is a vegetarian, but he just eats pizza, pasta, and cheese and looks like a piece of giant dough. He's not doing it right and I wouldn't advocate anyone to follow his example. However, now is the best time to become a vegetarian or vegan. There are so many more non-animal protein sources available, it's unbelievable. It's not the 1960s anymore where you had to eat soy gruel.

</comment></comment><comment><USER6> I'm normally a vegetarian but I've actually gone vegan for lent, not religious, just a suitable date range.

I'm doing it for the perspective you get. It's real interesting to see much how dairy is in the products you buy.

Also you generally expose yourself to different products, which tend to carry over to once you stop.

I'd recommend trying it.

<comment><USER7> One of my kids is lactose intolerant.... then I discovered that milk powder is in SO many products as it's a cheap way to add a rich flavour to foods.

The net result is that through a genetic accident (the kid is half chinese half european and it's likely the intolerance comes from the chinese side) we all eat more healthily.

Referring to the article: When you have to be more careful about what you eat you tend to have to make more of your own food and, for me at least, the act of making food suppresses my appetite resulting in me eating less. I think this is because it effectively lengthens the time my brain is in 'eating' mode and it feels satiated after less food. I basically made that up though but I'm happy to live with that.

I wouldn't say I am any healthier but I have maintained my current level of unhealthiness with less food :)

</comment></comment><comment><USER8> Would be MUCH more useful if he detailed what he ate, even if it was just one or two days worth of meals.

I mean, there's a ton of good food out there, especially if you look in vegan friendly ethnic cuisine (Indian especially), but I'd rather get a menu than a "I felt ill after meat" diatribe.</comment>


Firing on all neurons: Where consciousness comes from - <AUTHOR> http://www.newscientist.com/article/mg20527520.400-firing-on-all-neurons-where-consciousness-comes-from.html?full=true <comment><USER2> Despite the headline, this seems mostly like an attempt to get more detailed information about the brain structure that gives rise to consciousness, not really an attempt to solve the "hard" philosophical problem of how it could even be possible that a brain structure (of any sort) gives rise to consciousness: <http://en.wikipedia.org/wiki/Hard_problem_of_consciousness>

</comment><comment><USER3> Interesting article, but I don't see that it even attempts to address the nature of consciousness. It talks about what the brain is doing when it is consciousness, but that's not even close to discussing why we experience consciousness when the brain does that.</comment>


The Dreams of the MeeGo Diaspora - <AUTHOR> http://bergie.iki.fi/blog/meego-diaspora/

<comment><USER2> OMG. That piece is an example of how hacker reality vs end-user reality diverges beyond belief. The N770 was a worthless piece of crap, period. All of the Nokia Internet Tablets flopped. There was nothing in any of them that was imaginative, cutting, edge, cool, or must-have. They were a flaccid repackaging of everything that already existed in terms of UI -- but with less functionality, less ease of use (hello, Dependencies!), and less reason to exist as a product. That HE found them to be compelling devices makes me fear for the future of MeeGo now.

<comment><USER3> Hacker reality? It's 2007 and you have a multitasking Linux device with:

1)64GB of storage 2)800x480 pixels in a screen almost the size of an iPhone 3)WiFi with great performance 4)Skype wherever you are 5)BT pairing with dumbphones with unlimited data plans 6)RDP/VNC connections over SSH 7)Python at your fingertips 8)Control over your device 9)Multi-boot

It's 2012 and that still doesn't sound that bad. Maybe that's why I still grab that out of my bag instead of the latest Android gadget sitting beside it when I need to do something quickly.

<comment><USER4> There is a difference between something being a technical achievement and a product.

<comment><USER3> You're correct. It's called advertising.

An example is a friend who oohed and awed over the Samsung Galaxy Note due to its size, who previously had slammed the Nokia tablets for being too big and bulky.

<comment><USER5> The famous "Apple is only successful because they have great marketing" delusion.

Advertising works to reinforce a product's strengths. It can't turn water into wine. And so if those Nokia tablets aren't appealing (and they aren't) then no amount of advertising can change that.

<comment><USER3> Apple chip on your shoulder?

Keep in mind, Nokia tablets weren't advertised. In fact it was almost impossible to get one through a retailer. In my initial attempts to purchase one online I had retailers cancel the orders after 3 or 4 weeks of being unable to secure stock.

And, really, have you ever used one of those tablets? The 770 is an awkward device compared to the N8x0s, but damn they work and they work well.

</comment></comment></comment></comment></comment></comment><comment><USER6> The main point of the article is something else, but this is a pretty thoughtful sentence:

"In a world where everything must go through the rules and regulations of an app store without any oversight we, the developers, will suddenly be in the same abused stage as artists are with their labels."

<comment><USER7> Developers of mobile native apps can choose from a bunch of platforms and app marketplaces. If they _choose_ to develop for iOS, they pay $99 a year, and they can offer their apps for free in the App Store, even if it's ad supported. If they offer paid apps, Apple will take 30% of the gross. The developer doesn't have to pay for bandwidth or credit card processing. Even some of the customer service and marketing will be done by Apple.

Compare that to the way how artists who sign with a major label are treated. It's clear who is getting the better deal.

What these two groups have in common is that their work is vetted, and the catalogs they wish for their work to end up in are curated. The chances of a musician being picked up by a record label are way, way, way slimmer than the chances for a developer to be accepted into Apple's developer program and having the privilege to publish their apps in the App Store.

Does Apple publish all apps that are submitted for consideration? No, and I'm glad that it doesn't -- there are plenty of lousy programmers out there. As a consumer browsing through the App Store, I regularly find lousy apps that aren't even worth downloading for free. If anything, I think Apple should be _more_ diligent.

</comment></comment><comment><USER8> I really really hope that Jolla takes off. It sounds like for a far too brief while, Maemo was the hacker's dream OS, which is pretty dang cool. It also sounds like the Nokia N9 was the first phone in which the beauty and usability of the device matched its hacker friendliness. That's all I'm waiting on. The thing I don't want to see in mobile is what happened to Linux, where yeah it's great that we have this open OS, but the experience itself is scattershot, questionable, or very very poor. If Jolla can do this -- and since some of the main people that worked on N9 are players here, they might have a shot -- then that's when I'll be paying close attention.

<comment><USER9> Is Jolla the Ubuntu of mobile linux?

</comment></comment><comment><USER10> MeeGo failed when they ran out of silly names to rebrand it with ;).

I kid -- I had one of those early N800s, it was nifty stuff. It would be great to see a true open source mobile OS.

<comment><USER11> A friend had an N810, inspired me to buy an N900. Still can't find a phone that matches all its features. There's something to be said for using a 3270 terminal emulator over VPN on my phone.</comment></comment>


Python IAQ (Infrequently answered questions) - <AUTHOR> http://norvig.com/python-iaq.html

<comment><USER2> Dupe (4 days ago): <http://news.ycombinator.com/item?id=1282408>

</comment><comment><USER3> while we're posting dupes of classic norvig pages, why not <http://norvig.com/21-days.html></comment>


Stay smart - <AUTHOR> http://www.buuyaa.com/2012/03/stay-smart/

<comment><USER2> Thanks for this post, it's all too easy to forget all this in your daily routine. If the OP reads this, if you work at a company where much of this isn't possible, why not move on?</comment>