skysight-inc/HackerNews huggingface dataset:
I actually like table inheritance. However there are all kinds of quite annoying cases about it and it gets misused in many cases.

What it works for really well

Table inheritance works really, really well for enforcing consistent interfaces to repeatedly used pieces of information which are independent for referential integrity purposes. For example, we've all seen horrors involving global notes tables with umpteen join tables.... Inheritance provides a very clean solution to that problem: have an abstract notes table (which can double for query purposes as a global notes table) and worker tables which have foreign keys which attach specifically to other tables.

For example, in LedgerSMB we have a note table, an invoice_note table a eca_note table (notes for customer/vendor agreements), and more. The nice thing is, the tables all have the same structure and can be managed structure-wise as if they were a single table.

For example, an alter table statement on note can affect all sub-tables in many cases (other than unique constraints, primary or foreign keys, etc). If I want to add a virtual column for full text searching, I can do this with a single function as follows:

CREATE OR REPLACE FUNCTION tsvector(note)
RETURNS tsvector
language sql immutable as
$$ SELECT to_tsvector($1.subject || ' ' || $1.note); $$;

Then eca_note.tsvector will just work (subject to limitations of this syntactic feature of PostgreSQL). I could even index the output of the function on any note subtable.

What It Does Not Work For

So inheritance is often sold as a way of tracking part/whole relationships and other type/subtype problems. The problem is that these currently break down where you need referential integrity enforcement across an inheritance tree. Consequently, while I see inheritance as a really, really useful feature, it is a feature that is largely useless for the problems it was originally intended to solve. Now, it is getting better (9.2 added NOINHERIT constraints, which allow you to apply different check constraints to parent and child tables, useful if you want to forbid all inserts to the parent table), but the really big problems have to do with the inability to properly inherit unique indexes, and therefore not to referential integrity enforcement against a whole inheritance tree.

In general in these cases, you are better off with a single table, and designing a structure without table inheritance to model the information.
Not from what I've seen lately. There are a lot of true believers in /r/dogecoin, and they're taking it very seriously.
https://appenlight.com - Unique application exception and performance monitoring that saves time.

Why it's great?

Combining performance metrics + powerful exception reports and pure logging into single package makes optimization and debugging way easier than having X solutions in separate places. Works especially well for complex applications.

One of cool features is that we offer access to all data like SQL queries even in free plan - unlike New Relic and others.
I used this for a while to push from hg to heroku, but it screwed up in a major way at some point and left the repo essentially useless.
A secret weapon against technical debt
Your first point isn’t correct: if you have a solitary element with display:table-cell it’ll generate the appropriate anonymous elements needed for display.

http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes
While one might lose their email losing a phone number is way way harder.

I'm not sure how it works in US but in Finland you have guaranteed transferring across operators. Guaranteed as in fines will tick if the operator from which the number is transferred away is having some 'problems'. Not surprisingly those kind of problems are almost nonexistent.
Thanks for the feedback, you can also hit enter, but I'll push a fix to change that too! :)

Oh, and yes! we're starting to cover some European banks and have plans for further European and asian expansion soon too.
I still prefer bash scripts.

And I think Gulp is much more complicated than necessary for 90% of the builds out there.

My 'bild' module is simpler for most things. Although I will stick with bash.
Fuzzers love assertions
So spending 20$ on parking instead of taking the subway is better use of your funds?
To demonstrate -
1. What CSS can do
2. What they can do with CSS
Imitate. We are imperfect mirrors.
Meh, video. Any TL;DW link?
Yes, it is opening up but you are being a little unrealistic. They do have their reasons. The average "knowledge worker" today, is not self-correcting and self-motivated enough to stay on the line of productivity.

That being said, it looks like you've made a mindset that autonomy of time is a sure-shot metric of the quality of a company. It is true, to a great degree, but the implication isn't reversible. Some of the best work in the world is being done by people with more or less fixed timings.

Don't let the timings and work-from-home option mark your final judgment over a good firm. There is so much more to it.
Hmm, i don't see much difference in configuration between grunt and gulp.
Both do the job.

And Performance? Which Performance? They call tasks that do something, and the task need performance.
Not sure what the other commenters mean with "HN is not the place for this". He is asking about an idea, he is not testing anything.

As for the app, and also as someone who loves tracking himself, I would like it. In fact, I did this manually in my google calendar at one point but only for a month or so because there was too much friction.

I am also interested in how it would detect being with someone. Seems strange. Another solution, which I am using in a personal tracking project, could be to simply send a local notification at the end of each day - asking "Who were you with today?". I've noticed that this works pretty well. I send one to myself once after 24 hours, and then twice (+24more) if the first one was not "answered".
The example of JavaScript's prototype here is the best I've ever seen! It's in the "Custom Objects" section.
Most of my best ideas come from misunderstanding other ideas.

One thing I'd add to this: Replicate work that you respect and appreciate, not work that seems to be successful. To me, that's the difference between copying and stealing in the often-quoted "Great artists steal..." line.
I have been using nVidia cards on Linux since the GeForce 2. I have never had any problems with their driver (apart from misconfiguration by me before X.org started autodetecting screens/GPUs and xorg.conf etc. was deprecated).
There's a difference between hoping to win and hoping to win being only reason of going there. If you ask me whether I hope to be a billionaire one day, I'd say, sure, why not, I'll take it. But that's different from actually working on becoming one.
http://www.quantabytes.com makes Bitcoin analysis simple. It's cool to work on because we know almost nothing about the structure of Bitcoin's block chain and how it is evolving over time.
The technology that's taking data science by storm
California's community colleges pay their lecturers.
> I despise the Java language as much as the next dev

It's not so much the language that I despise - I never touched the language because of the end-user experience I got from installing the runtime: the nagging updates and the constant security headlines involving JVM. That's why I will never take the language (or the JVM languages) seriously: I simply would never put my users through what I am somewhat forced to go through (for the select few Java apps I do have to use).
Create VirtualBox VM from the command line
Show HN: Generate hard-to-crack passwords for easy to remember patterns.
Ok. Don't be angry. I am just starting out with writing code that someone other than me see.
It drives me nuts. I spend probably 1/5 of my time doing front-end (but have been around through all of the generations you mention) and after re-org after re-org I've finally settled on a build system with a Makefile and browserify to package things up that isn't an enormous monstrosity of 1000 different node packages and bajillion-step build progress.

Frankly, I think that a large part the problems in front-end have to do with how hard it is to write maintainable JS w/ a proper separation of responsibilities, due to the way JS files are loaded/have no coherent module system (on the front-end that is). Because there is no standard module system (and yes I know about CommonJS and AMD loaders, but both have issues), to use a given component you oftentimes have to adapt an entire philosophy of package management that can lock you out of other packaging philosophies. In the end, we have millions of front-end programmers saying, "eh it seems like to much work to integrate this packaging philosophy, I'll just write my own duplicate copy/library." So basically projects silo themselves off and share little code until someone decides on yet another package philosophy (see: http://xkcd.com/927/).

People love to write build system after build system, in every field, a fetish I've never quite understood. Makefiles build some of the most widely used/complicated packages out there.

And as a final note, I'm really excited about emscripten in allowing front-end developers to move away from designing abstractions around JS/DOM in such a way that eventually we can stop relying on JS and rely on more the same primitives we use everywhere else in programming.
Shooting in Moscow school
This isn't a productive comment.

Whether you like it or not js is here to stay. It's the language of the web (and more). A lot of new capabilities are being exposed via browser makers (e.g peerconnection, webrtc) which only serve to increase its power. Calling it stupid and ugly is your unsubstantiated opinion. (Infinitely more useful: say why this is your opinion.)

I think this is a nice intro to the language. Why it's being posted now though is a little puzzling considering it's from 2006. It is obviously still relevant and interesting but readers should realize it's not very recent.
How about a negative economic impact? The event itself creates distortions that many unsophisticated merchants are not able to predict. I work at a restaurant, and the owner almost certainly lost thousands of dollars today due to very little demand. (We were severely overstaffed and also had to throw some food away. We weren't open last year so predicting this was non-trivial.)
Sorry, I rushed it out, prod server has different config :(

Everything will be fixed in 15 minutes.
... apparently, SQL is not dead yet. Again.

http://www.nosql-vs-sql.com/#no-tation
Socially Awesome Sysadmin Awards 2014
So there will be rise of "traditional" underground ones.)

In some sense "legal" hacker conferences sponsored by MS and Cisco is utter nonsense. Strong disliking of cargo cults, bandwagon and peer effects of brainwashed mediocrity is a part of so-called hacker culture.)
I popularize app-less procrastination killer: http://spiniot.com

Short story:

1. immediate effect of your effort is always fun

2. spinning something gives you that immediate effect

3. earlier phones were easy to spin, smartphones are like a brick, we wanted to change that.

I invited a psychologist to explain why ~600 users like to have a spiniot on their phones. He came up with these 3 ideas:

- immediate effect of effort gives you a rare positive sensation

- contrary to angular forms circular forms are engaging, when spinning your smartphone, you draw several colorful circular forms

- adults play for the same reason as kids

During occasional breaks, spinning your smartphone gives you a short but fulfilling positive sensation. After that you don't feel the urge to check all the usual distracting sources of procrastination (news, twitter, email...) and you are motivated to get back to what you were doing immediately.
Maybe for hardcore sport-like starcraft players this is true. But when I played starcraft I never did nearly anything like 100 apm neither my game ever required me to. Yes, that'd probably mean I'd lose miserably if I ever play 1-on-1 against a hardcore sport players, but that's not why I would be playing it and I'd probably never play with them anyway, I'm not in the same league. So I think for a casual player it would be OK. And hardcore players would have their hardcore setups.
There's a few things going on here that combine to cause this mess.

First, task runners, like templating systems and module bundlers, are easy to write so there are lots of them. Grunt in particular doesn't bring anything to the table that bash scripts don't.

Second, most open-source projects don't make their value prop clear (I learned this the hard way first-hand and I'm still dealing with it) and most people don't have a good rubric to evaluate technologies so they fall back to crappy ones like gzipped size, number of dependencies, or the twitter account of who wrote it. Increasing the level of understanding of performance and how system complexity evolves over time is an important next step for the community to take.

For example I think the excitement around Gulp is legit because the tasks are composed as in-memory streams which is a scalable way to build a performant system. Browserify not so much, since it doesn't bring anything new to the table except maybe that it's so damned easy to use ("philosophy" does not count as bringing something to the table). Webpack, on the other hand is a whole different story since it accepts that static resource packaging (not just single-file JS modularization) is a problem that needs to be tackled holistically and necessitates a certain level of complexity.

I named specific projects not because I have any vested interest in them (I don't really use Gulp for anything) but because I wanted to show concrete examples of how to evaluate technologies on real merit.

Finally, the web frontend community has a huge problem with NIH (not-invented-here) syndrome which is encouraged by npm. For example, there are lots of copycat data binding systems that claim to be "lightweight" or "simple". They're usually written by people that don't know about all of the important edge cases which necessitate certain design decisions or library size. It goes the other way too -- a lot of people are building monolithic app frameworks without doing due diligence on existing systems to see if they can be reused.

If we can slow down and try to respect what others have done and acknowledge what we may not know, I think we can fix this problem.
This post reminds me of the joke about the Native Americans getting ready for winter[1]

[1] http://voices.washingtonpost.com/capitalweathergang/2008/11/...
"Students by definition aren't able to directly evaluate the educational experience up front"

And government regulators with no technical background would? Please tell me you're kidding.
A list of minimalist frameworks (simple and lightweight)
Did you even read the comment? This community only functions because people post constructive content.
Public scientific research?
> NVidia is probably not targeting top500, so is focusing on the 99% of market.

Nvidia definitely targets the Top 500 and is currently (Nov 2013) providing the GPUs for #2 and #6 in the Top 10 of the list and dozens more lower down the list. There's a lot of money in supercomputers, in the Top 500 scale and smaller installations too.
http://elections.io/ (site not available just yet) - open data platform with historical election results and candidates.

Launching in the next few weeks for the EU Parliament, UK 1/3 council, London borough, and mayoral elections.
I've gone through number ports in the US three times (seven if you count each number separately) without a single problem. Each was completed within several hours, and dual service time was somewhere between minimal and non-existent (suddenly the old phone stopped and the new phone started). This is in line with what I've heard from friends and relatives, too.

I've read some porting horror stories online over the years. Yours is probably something like the 6th or 7th. I assume things do sometimes break, but it doesn't seem to be particularly frequent, considering millions of people switch carriers every year.
BlackBerry Could Come Back If They Build A Padfone-like Device
The problem with the frameworks is the very definition of the word. Not every problem/process fits in the workable frame, and then you end up with a pentagon shaped framework with dingles off the end, and nobody knows what the hell you did except you. Better to just write straight prototype OOP and use a preprocessor thatll add KVO to accessors/modifiers if you really need events (which most apps do.)

Emscripten is good for that. And there are many languages that have KVO that will compile to JS using emscripten. Really, JS isn't ideal for large projects, and these frameworks are silly, because they're targeting this lowly base for UI when a better language with better standard libs could be used to do lots of the logic, ie. Clojure.
Geez. In what world is that a sensible response?
http://www.chat-correct.com

Free video chat using WebRTC for teachers/students doing online English lessons. You can click on a chat bubble and correct your partner's English. The app then automatically color codes and annotates the mistakes. The app will also track your mistakes (by type) over time.
To me it sounds like "I am a decent programmer, but I cant work in teams".

Hope he gets a job tho :)
As someone who uses virtual machines on both providers (and a few more) - benchmarking a single virtual machine and taking that as the single conclusion is not going to give you accurate results which reflect the entire network of servers which either provider has.

Both providers are likely to have certain host servers which are relatively empty, and others where a number of busy servers are going to really skew your results.

The one thing I'd recommend is to install monitoring which can keep an eye on your servers to ensure the performance hasn't dropped significantly since you first provisioned it. Munin http://munin-monitoring.org/ graphs disk IO latency by default, keeping a track of this allows you to make a decision on if you want to migrate a virtual machine elsewhere on the same provider - to see if you can avoid the noisy neighbours problem.

Never assume that you'll get the same performance on a daily basis.
I'm still not sure what browserify really adds over concatenation. Never noticed any speed increases, I guess the one thing would be explicit dependencies, but I've always found you can do that with module patterns anyway, and it breaks half the libraries you want to use.
The Danish Computer History Museuem is currently restoring a Programma 101. Right now we're trying to construct some magnetic cards for the card-reader.

http://datamuseum.dk/wiki/Olivetti/Programma_101/Revive
Freenode DDoS'ed
This is my first post to HN and I was dreading a backlash, so I appreciate your tone and candor.

I definitely think my pursuit of the ideal has made me blind to other benefits offered by the companies I've interviewed at. I guess I'm just a little tired of every company having the same attitudes towards remote work no matter how "hip" they want to seem that I've zeroed in on that as the only metric to judge them by.

Food for thought, so thank you.
Thank you all for your comments.

The intent of the post was to share experiences and lessons, not to promote what we did at Pingjam. We already went through that discussion several months ago when we were working to get Pingjam accepted by developers. Some developers (including very respectable apps) liked our service and tried us out, some did not. To each their own.
Since I don't think it's useful to discuss what we did - I'll refrain from fully explaining what we did, why we thought it was a good thing, the value that the service provided to users or how we made sure to follow best practices on opt-ins, opt-outs, privacy, etc'. You are welcome to think what you want about our service.

Regardless of whether you like the service we provided or not, we went through a certain set of experiences that can be useful to others. If you choose to take anything from that - I hope it helps you in whatever you are doing.
When the story first hit Venture Beat I stuck to reading what the BPPE actually said, and then I checked out the website to try and dig up the regulations.

Unless someone has information I haven't been able to dig up "crack down" just means that they've been requested to comply. BPPE decided that these sorts of programs are under their purview and so they need to cough up some amount of cash and submit some paperwork.

Quotations in the Venture Beat article very clearly state BPPE are not going after them, just notifying them of their need to comply under California law.

So much polemic either on government regulation or on the merits of these programs. BPPE places schools into either "approved" or "accredited" categories. These programs need only be approved. As far as I can tell BPPE is fairly minimal in its requirements basically ensuring the schools are real things and not diploma mills.

This isn't anywhere as much of a crackdown as CPUC making it harder for ride-shares (for a bit). Discussion of the programs makes sense, but in the context of an imagined witch hunt it just seems strange.
> Management-wise I struggle with giving critical feedback to people as their "boss".

Don't be a boss. Ask for "Lead [...]" in your job title, and get your colleagues to do what you tell them because of technical seniority, not hierarchical seniority.

As for your path: convince your company to let you develop a product with an Open Source license. Tell them it will provide them with free advertising, increase their notoriety in the industry, and mean they'll get other companies to work on their project for free.

Contact other companies and promote your project, this is simply a trojan horse for building a great contact list. This then leaves you free to move on to freelance down the road by charging for features, but fixes and support. It also allows you to find work really easily.
>What harm was done by this?

Plenty. Anybody with ill intentions could set up a similar wifi network or tamper with the existing one and suddenly thousands of people's traffic/passwords are all being sent via MITM.
What You Need to Know About Satya Nadella; Probably the Next Microsoft CEO
It's not impoverished, it just has a different function. You could equally say "classical music is impoverished by its dismissal of danceability" (and you'd be equally wrong)
The most important thing you can do is relax.

Sure, life is pretty grim in the sense that you can't do whatever you want unless you're rich. On the other hand, your life as a coder is far, far higher quality than e.g. a construction worker's or (regrettably) a teacher's.

One thing you could do is try to grow a source of passive income. See patio11 for insights on achieving this.

Also, three failures isn't anything to worry about or lose confidence over. Just remember how many times Jobs failed. Most of the successful people on here have a similar background of failures. The path to success is usually through failure, as paradoxical as that sounds. Sometimes you'll just be unlucky multiple times in a row. That's just life. But that's also a reason to keep your spirits high, because it's far less likely you'll fail ten times in a row. So, keep trying.
Sounds about right. Keep in mind the vast majority is drivers for ludicrous amounts of hardware.
Monitise acquired Turkish mobile app developer Pozitron for $100
Aah good riddance to the older approach. Its a major fail from UX perspective. The long sync key was ridiculous to type.
How'd you get that domain name?
A distributed, encrypted file backup system.

https://github.com/ConceptPending/fincrypt

Backups are verified at regular intervals to reduce the amount of trust needed in the system, and every file is stored multiple times.

Eventually the goal is to attach a marketplace where end users will pay for the space they use and those who provide storage will get paid for doing so.