HNHacker News
TopNewBestAskShowJobs

qooleot

112 karma · joined September 10, 2013

IVC, Inc. www.ivc.com
submissionscomments
qooleot··on Dow Falls 2997 points worst drop since 1987 crash
Are you sure COVID-19 didn't partially prick a systemic issue that was hard to see on the rise (as many also missed the housing crisis before the fall)? For example, the amount the stock rise was attributed to stock buybacks in an unsustainable manner caused by late stage government policies (tax cuts, low rates). There has been some pretty extreme levels of corporate debt that correlates with this.
qooleot··on Google Duplex: An AI System for Accomplishing Real World Tasks Over the Phone
Are you sure it wasn't Google's AI that wrote it?
qooleot··on Interns with toasters: how I taught people about load balancers
Although the OP didn't describe as such, but health checks that do a simple query are also testing the connectivity to the db. Someone might have hardcoded a db address in an environment variable, or there are connection pooling issues.
qooleot··on Interview with Ryan Dahl, Creator of Node.js
Promises made some very valuable improvements to code patterns relative to callback-based implementations, but as a broader "nodejs vs synchronous style code" its still much harder. You sound pretty versed, but other folks might struggle. Here is an example explanation:

https://pouchdb.com/2015/05/18/we-have-a-problem-with-promis...

If we're trying to show the simplicity of modern nodejs code with non-blocking I/O, I would suggest we lead with examples like:

const foo = await queryFooObject(id); await writeToFile(foo);

True, there's still plenty of value in promises, especially for things like:

await Promise.all(severalParallelQueries);

qooleot··on Visualize data instantly with machine learning in Google Sheets
Tableau did some research in this area, and found NLP queries were much faster:

https://pasteboard.co/dPeoSHM1s.png

qooleot··on RethinkDB is shutting down
We don't use postgres pub/sub for exactly "realtime", but do make use of it in single-page apps that use websockets. A couple notes:

-- LISTEN/NOTIFY has a payload size hardcoded maximum. For big documents, we have to send a record ID then fetch the document upon receiving a message. In practice, it adds 5ms of overhead.

-- One of the best features is that you can combine this with pg_try_advisory_lock to create job queues that use the core locking features of postgres, which are pretty darn reliable and well defined. We use nodejs, and if the server processing a job dies, the lock is released automatically and another nodejs process can pick it up.

qooleot··on PostgreSQL Foreign Data Wrappers
Hey I thought I'd reply here on the topic of the blog's usability to not hijack the whole thread....but I still wanted to help the author out with a quick fix:

This text's link doesn't work:

(see http://www.whitedb.org).

qooleot··on 400 days of Go
"Well, Java isn't verbose."

Maybe its just the code I've read, but its generally much longer than other languages to accomplish the same thing. A bunch of little things add up, such as "extends" instead of ":" for inheritance. Naming things is often longer - maybe its not the language core itself, but a counter example is python coding standards keeps them much shorter. With Go, there's duck typing to not have to declare obvious types (such as for strings).

The goals of the programs in enterprise java apps probably differ by an emphasis on readability and not writing speed. I.e. lambdas are written quicker to write, but maybe a reader would understand a strategy pattern's goal quicker.

qooleot··on Project Sunroof
Often, the most economical answer is heating a water heater rather than storing via a battery.
qooleot··on Project Sunroof
Maybe panel prices have dropped enough in the last 4 years that partially-lit areas are now worth covering in solar (cost < savings * acceptable ROI months).
qooleot··on Ask HN: Who is hiring? (August 2015)
IVC | Full Time | Raleigh, NC

We're looking for a Sencha Extjs developer to work on a team for our SaaS product, with a focus on visual analytics, dynamically generated pages (grids/forms/layout are set by end users and stored in json metadata), and a responsive UI. We also use Highcharts, node.js for the backend (with code shared between front-end), and extensive use of websockets, and ES6 javascript features.

IVC is a custom Enterprise Application Software (EAS) development company specializing in database-backed web applications. We develop full-stack products in a variety of industries. Our company thrives within an agile work environment. We are looking for results oriented individuals with a strong desire to grow during this time of rapid expansion.

qooleot··on Ask HN: Who is hiring? (August 2015)
IVC | Full Time | Raleigh, NC

We are looking for a Full Stack Software Engineer at IVC. This position focuses on application development for SaaS projects, such as an analytics platform for salary and compensation planning used by 600+ Fortune 500 sized customers. If you are interested in an opportunity to make a significant impact at a growing software consulting firm, we would love to speak with you!

Key Responsibilities - Full-stack application development for service-based architecture, mobile and responsive apps, visual analytics, and general web development - Focus on front-end engineering of highly performant and rich interfaces, as well as integration with backend APIs in coordination with UX and design team - Develops database-oriented systems through the design of ETL processes, schemas, and coordinate with data scientists for analytics app designs.

Preferences to: - Strong design and coding skills with Javascript (both front-end and Node.js), Python, and Java - Experience with responsive design, offline or mobile-first development, and large-scale MVC/MVVC apps are key - Technical expertise using SQL - Experience with distributed/schemaless systems like Redis, Apache Spark (on hadoop), and InfluxDB (time series database) - Framework exposure in the following systems: EmberJS, Sencha, jQuery, d3, and Highcharts

IVC is a custom Enterprise Application Software (EAS) development company specializing in database-backed web applications. We develop full-stack products in a variety of industries. Our company thrives within an agile work environment. We are looking for results oriented individuals with a strong desire to grow during this time of rapid expansion.

Send resume to taras@ivc.com

qooleot··on Go 1.5's vendor/ experiment
I think NPM 3 is adding flattening. I.e. if A and B both are alright with 1.0.2 of C, then it'll not duplicate it under A and B.
qooleot··on Google, Microsoft, Mozilla and Others Team Up to Launch WebAssembly
I think the author is referring to using Swift instead of phonegap/cordova/transpilers, since performance will be improved and you're not limited to just javascript as the originating language.
qooleot··on Docker, Mesos, Marathon, and the End of Pets
"Red Hat have OpenShift and are making noises about turning it into a Docker+Kubernetes thing in version 3"

They've already decided that, and have even reached code-freeze. Their conference is later this month, so that's when it's going to all be announced and rollout plans detailed.

https://github.com/openshift/origin

qooleot··on Ask HN: Who is hiring? (June 2015)
Raleigh/Durham, NC | IVC, Inc. | On Site | Senior Devops Engineer

We are looking for a senior engineer to help with monitoring, orchestration on top of basic automation, log processing and anomaly detection. We would like to move our development workflow to containers (docker).

Tech stack from several projects, to get a sense of environment:

* Postgresql for ACID-compliant business data. We sponsor core contributions to the project. * Ansible * Elasticsearch, Kibana, and hekad for logs * Kafka + Spark data processing * Python and Julia for data analytics * Xen and various cloud platforms * Node.js and Django for web apps, and a large set of front-end frameworks

Contact: taras@ivc.com

qooleot··on Santa Monica council votes 7-0 to crack down on Airbnb
Our city (Raleigh) had the last B&B close, and the owners blamed it on Airbnb:

http://www.newsobserver.com/news/local/counties/wake-county/...

qooleot··on Postgres gets support for upsert
" never said popularity was an argument for quality. You did."

I'd tend to think your statement:

"And if MySQL wasn't robust then YouTube, Facebook, Twitter, Alibaba, LinkedIn etc wouldn't be using it for core parts of their infrastructure. It's definitely robust."

..points out that many (popular) sites use it, and a prerequisite is robustness, which thesaurus-wise, sounds a lot like quality.

I get that

a) you didn't actually say it, and

b) you could mean something much more specific, such as "companies with many highly-starred, complex open source projects which have also re-written major parts of their tech stack, but chose to leave mysql in place".

I know thats a bit more verbose, but it just seems to obviously close to the other author's interpretation with the ambiguity of the statement.

qooleot··on Oreos, Vomitoxin, and the Price of Wheat
"This raises an important question, which is, who was using that wheat that the FDA considers unfit for human consumption? I worry that my dog is eating a lot of vomitoxin."

From Wikipedia:

Vomitoxin is not a known carcinogen as with aflatoxin. Large amounts of grain with vomitoxin would have to be consumed to pose a health risk to humans.

Companion animals: Dogs and cats are restricted to 5 ppm and of grains and grain byproducts and the grains are not to exceed 40% percent of the diet.

qooleot··on Show HN: New IDE and GUI for R language
A second typo:

"This tools hepls"

qooleot··on Scrum seems to be mostly about having better alibis
Hey curious about downvote (honestly, want to know why). I didn't see anything saying that was a bad idea in the HN guidelines:

https://news.ycombinator.com/newsguidelines.html

I felt the typo was one where I had to do a double-take and make sure it wasn't some purposeful acronym. So, I posted a quick note since it looked like the HN poster also was the article writer, and my comment would drift to the bottom quickly and wouldn't get too far in the way of a larger discussion.

I could see maybe I should have made my comment more verbose so someone wouldn't interpret it as being short or something? Or is there an unwritten rule about not making quick editorial comments?

qooleot··on Scrum seems to be mostly about having better alibis
"Your Product Owner is more like a Shadow Product Onwer"

Typo with 'Onwer'?

qooleot··on Goodbye MongoDB, Hello PostgreSQL
Have you thought about JSON as a partial query placeholder, and all the native methods available for traversal, merging, plucking, etc.?

For example, here is :

{ type: 'select', columns: [{ expression: 'orgJobs.org_job_code', alias: 'job_code' }], joins: [{ table: 'org_jobs', alias: 'orgJobs' }], limit: 100, offset: 0 }

which yields:

select orgJobs.org_job_code as job_code from org_jobs as orgJobs limit 100 offset 0

and so its easy to do things like:

query.limit = 100;

and of course:

query.columns.push(additionalColumn);

and use something like lodash/underscore (or equivalent for your language) to add collection/array/object helper methods so you never have to write for-loops for things like mapping and property plucking.

qooleot··on Goodbye MongoDB, Hello PostgreSQL
"You still need to supply the local variables to your ORM"

That can be done automatically in many languages. At least in the sense you can do:

"where value=$(bar)"

and not:

"where value = ?", bar

OpenACS was an old web framework for the Tcl language, but it even had that 20 years ago!. The company backing it failed in the .com era, and the lack of types was a turnoff for many - but it made SQL much much more readable. And of course the queries were turned into prepared statements. A query looked like this:

select foo from table where age>:min_age and name != :user_name

Things like this can also be done in node.js (disclaimer: I wrote the blog post below):

http://ivc.com/blog/better-sql-strings-in-node-js/

qooleot··on Io.js 1.3.0 released
No Soup for You!

https://www.youtube.com/watch?v=svSGKJFSl-8

qooleot··on The Problem with Job Titles
Yes, that would be interesting data. Most companies would output reports from their HRIS systems in wildly different formats, and you'd have to adjust for industry, geo/currency, year, gender/ethnicity/language, and all sorts of things. But just getting that data and the sensitivity that goes with it would be near-impossible unless you were a salary survey company. And then, they get job-level data and not per employee. They charge serious money for the services of analyzing this data and do not make their data available.
qooleot··on Go kit: Go in the modern enterprise
Hey just curious, why did you pick spacemonkeygo/monitor over mozilla-services/heka for data collection?

I was thinking of using heka for a logstash-like project and just wanted to see if you had found several know issues, or that monitor really shined, or that maybe the feature set you needed just didn't overlap to the point they were comparable for your needs?

qooleot··on Better SQL strings in io.js
You can actually load libraries in plv8. Its cumbersome, and not a simple:

var _ = require('lodash');

but it works. Part of the reason is plv8 is a trusted language, meaning it cannot read code from the file system. Basically, the libraries are loaded as text into a table, and then evaluated by v8 using the library loader. Someone could make a gulp task to make that a quick command line tool if they did it often enough....

qooleot··on Better SQL strings in io.js
Followup on this. To avoid the in/not-in <array> expansion, the trick is actually to use:

foo=any($1)

where $1 is an array instead of in ($1, $2, etc.). != any($1) is the same as 'not in'.

qooleot··on Better SQL strings in io.js
RE: expand array for in-clause, its definitely not supported automatically by node-postgres:

http://stackoverflow.com/questions/10720420/node-postgres-ho... https://github.com/brianc/node-postgres/issues/431

which I confirmed:

promise catch err: { [error: invalid input syntax for integer: "{"45","56","33"}"]

but I can make this work by altering my 'sql' tagged template string function, and inspect for typeof <var> array and automatically expand. I wonder if there are there other purposes for arrays other than the in-clause syntax that I should check for.

Page 1 of 2Next →