What's a shame is they didn't compare it to far superior devices in the same price range like the Nvidia Shield or the OSMC Vero 4k. The fact that you can't stream all 4k HDR content on a device billed as 4k is pretty unforgivable (you have to create specific files tuned for the AppleTV). Add to that a lack of native support for standard lossless audio formats that have existed for 12 years(DTS-HD/MA) and it just isn't viable for a home theater.
My apologies, and why I linked the other project. README goes a long ways, cause at the end of the day you're trying to release a project in an ecosystem where (for better or worse) that's what gets shown to users looking at your project.
If they can't get a fundamentally simple feature right, why would I give them the benefit of the doubt that other features are thought out? bcp does _not_ escape commas or newlines in a field, you have to write sql to replace() those characters on select.
I can tell you your app would be super useful to airline employees if you could disregard airfare for ranking! Pretty small user subset, but aside from hardcore skiers like yourself I don't know how many people will consider resorts outside their local geographic area due to airfare.
I considered messing around with your project, then immediately gave up due to lack of documentation. Sure I could spend the time reading through all your code, but one of the benefits of using a library by someone else is I can treat it as a module, learn just the interface, and be productive. Check out the mongodb driver for erlang for a great example of documentation:
I'm sorry but I just can't take MSSQL Server seriously when it cannot export valid CSV. It does not escape commas for CSV or tabs for TSV, and has no option to. If they had their own flat file export that could be re-imported I could forgive it because I could write my own library for that format, but there simply is no way to cleanly export data from MSSQL. I had to write a SQL query that was ~2000 lines of 80 columns in order to export a database to CSV and properly escape each field manually, and it took FOREVER.
There's a lot of great advice here which can be broken down into two categories: specialist vs generalist. A really important thing to figure out is what kind of developer you are. Which sounds better:
a. Constantly being challenged to learn new things, a rapid paced environment where lots of change and challenge are introduced
b. Organized environment where work is split up by expertise, groups have a narrow focus where they become experts in their domain and iterate to perfection
Obviously you should have a nice balance of both, but I've found many company cultures to lean more one way or another, and the advice on this post seems to divide similarly. If you like option A I'd recommend getting a good overview of a variety of languages, data stores, and tools/frameworks so you can at least have an idea of which one you'd learn more of for a given problem. If you like option B I'd do a deep dive into algorithms and CS fundamentals with one language (C, Java, etc) and target companies that work with that language. They're also more likely to have a well defined intern/junior dev role than the fast paced shops, but a slower pace of learning/advancement.
At many bay area startups I've worked for we would do whiteboarding sessions but I would stress that the candidate "treat me like google". I would actively encourage them to ask questions of the type they'd look up, to be comfortable being collaborative. This to me showed much more about a candidate's ability to work on a team, learn quickly, and apply what they've learned than any whiteboard session entirely from memory could prove. This becomes even more important the further out of school a candidate is; some of us took algorithm classes decades ago.
Have you looked into using ets storage instead of bitcask storage? Millions of keys at ~12bytes value would fit just fine in memory without the bitcask overhead and as long as your N value is > 1 you shouldn't have to worry about data loss unless your whole cluster loses power.
Have you talked to any teachers? Teachers are facing budget cuts and being laid off left and right, so even if you're price sensitive your're going to be trying to reach a small group within the larger teaching community. Have you thought about how you'd achieve that?
An absolutely necessary feature for me is auto-discovery. Zabbix really has this down with recent versions. If your system has comparable templating/groups and the ability to autodiscover in IP ranges you'd be +1 on most solutions. If you then added better dashboards (ala Zenoss?) and the ability to acknowledge events from emails etc then you'd really have something I'd try out.
Here's the bar for me: If I spend a few solid days on zabbix per "server class" (ie: mysql, web server, etc) I can have everything I need automatically monitored with zero effort for me going forward (to ~1000 servers). That said, acknowledgement of alerts, etc is a huge pain in zabbix.
I find it takes about 3 weeks if I start reading the text with a real-world use in mind. A week into it I'll try to write something towards that real-world goal and it will be horribly broken, but it will force me to really research what I'm not understanding as I'm going through the book instead of going back to re-read it 2 months later when I'm trying to use the new language/technique/etc.
Most definitely yes! Any time you can reduce steps to conversion without sacrificing the design elements you're going to increase conversion. One company I worked for introduced a free tier with a 2 field signup on their homepage and it got about double the signups vs. the free tier on the product page. If you have the ability to do some A/B testing then you could take the guesswork out of the decision.