HNHacker News
TopNewBestAskShowJobs

jastr

561 karma · joined November 21, 2011

CSV Explorer - Open CSVs with millions of rows <https://www.CSVExplorer.com>

The Simple Postcard - Text a photo to send it as a postcard <https://www.TheSimplePostcard.com>

Pretty Print Please - Pretty Print Invalid JSON <https://PrettyPrintPlease.com>

jason (an @ sign) csvexplorer.com

submissionscomments
jastr··on πFS
Back in college, I thought I could compress my phone number by telling people its index in pi, but my 7 digit phone number is at an 8 digit index.

I didn’t have the compute to find my 10 digit number with the area code.

jastr··on A DuckDB-based metabase alternative
I had this too until I lowered it's memory limit. In ~/.duckdbrc `set max_memory='1GB';` or even less
jastr··on A DuckDB-based metabase alternative
By default, it tries to take 80% of your memory. I've found that you need to set it to something much smaller in ~/.duckdbrc `set max_memory='1GB';`
jastr··on Charts.css: CSS data visualization framework
You can be my first user!

https://postgraphs.com/ - it’s an old weekend project of mine that I’d like to finish up soon

jastr··on The dumbest way to solve a maze [video]
Similarly, watch a random walk solving a maze https://stripenight.com/random_walk.html
jastr··on Ask HN: Why is Python package management still a dumpster fire?
The best way to get software engineers to solve your issue with X is to phrase your question “Why is X so horrible? It can’t even do Y.”

The engineers will inevitably reply “That’s so simple. You just need to …”

The ecosystem for managing python dependencies has improved a lot: pyenv, virtualenv, poetry.

PATH isn’t innate to Python. Understanding PATH will definitely help with other issues in the future.

jastr··on Show HN: WindowHandler – Serverless functions that run in your browser
I hadn't heard of Opera Unite. It's similar and 10+ years older!

Thanks for the kind words - friends have been mostly confused by this project.

jastr··on Why companies move off Heroku (besides the cost)
Heroku's github integration has been down for 2 weeks
jastr··on Are Product Hunt's featured products still online today?
> there's actually proportionally less failures in Product Hunts busiest period

This is a really interesting post! I think there's a little survivorship bias. As Product Hunt grew 2015-2017, users posted old projects of theirs which were already popular and successful.

jastr··on Postgres is a great pub/sub and job server (2019)
This is advice that seems reasonable but is actually pretty harmful.

Take a startup with a few users. The senior engineer decides they need pub/sub to ship a new feature. With Kafka, the team goes to learn about Kafka best practices, choose client libraries, and learn the Kafka quirks. They also need to spin up Kafka instances. They ship it in a month.

With postgres, they’ve got an MVP in a day, and shipped within a week.

jastr··on Show HN: Google Sheets as a Database – Save HTML Forms to Goggle Sheets
This is a neat idea, but I think the site is a bit too barebones for people to want to trust with their data.
jastr··on SQL: The difference between WHERE and HAVING
The article does a good job of explaining the difference between WHERE and HAVING. The simplest resource I've found for this is Julia Evans' "SQL queries run in this order" [0], which points out for example that SELECTs are one of the last things to run in a query.

I've managed software teams and data engineering teams, and both teams get tripped up with even moderate SQL queries. To simplify, we encouraged teams to use a clearer subset of SQL. Most HAVING can be replaced with a WHERE inside a more readable and explicit subquery. Similarly, we got rid of most RIGHT JOINS.

[0] https://jvns.ca/blog/2019/10/03/sql-queries-don-t-start-with...

jastr··on Ask HN: Web App Environment Recommendation?
This is quite a bit of infrastructure for an app that hasn't launched yet. If it's not too late, consider simplifying by removing RabbitMQ or Redis. Perhaps even getting rid of both, and only using MySQL. Maybe your workers could become cron-jobs or threads.

For hosting, consider Heroku and Heroku add-ons for MySQL, Redis, and RabbitMQ. You could run workers in Heroku as well.

It would be possible to run this entirely in a VPS as well and fairly straightforward. I've also had success running the web app (with postgres and redis) in Heroku but the workers on a VPS.

jastr··on Tailwind CSS v3.0
When you first hear Tailwind's concepts, they seem to contradict everything you know about good software design. When you try it out and begin to remember some of the class names, you get into a great state of flow - it's the high developers are always chasing.

I can't help but feel that Tailwind detractors have never actually tried Tailwind or are too square to give it a chance.

jastr··on Show HN: Pretty print invalid JSON (or anything that looks sort of like JSON)
Hi HN! This was a python script I used on the command line for a while, before spending a weekend converting it to a microsite.

Pretty print json with single quotes or None or anything that looks like json, like python dictionaries/arrays or anything that PHP can spit out.

jastr··on My framework for building side projects as a solo developer
Lots of developers believe that if they think hard enough and choose the right side project, it will succeed.

I think the takeaway here is that chance plays a big role. So increase your chances by shippings lots of projects. And a tip to ship several projects is to stay emotionally, physically, and financially healthy.

jastr··on CoffeeShopWifi.com – An HTTP website for connecting to guest WiFi
Browser extensions will redirect HTTP to HTTPS as the request is made, so CoffeeShopWifi can't help you there.

Most sites will send a redirect to HTTPS, which CoffeeShopWifi does not.

So I decided it's safe to make a cert and support HTTPS.

jastr··on CoffeeShopWifi.com – An HTTP website for connecting to guest WiFi
Neat to see all the alternatives. I'm not sure what non-technical folks do when faced with this problem, so I picked a friendly domain name.

Ironically, if CoffeeShopWifi.com works successfully, the users won't see it.

jastr··on PrettyPrintPlease – Pretty Print Invalid JSON
Hi HN, PrettyPrintPlease is a small weekend project that I’m excited to share.

I work at a hardware company and spent a few months with our logistics team integrating a lot of outdated APIs to automate moving hardware around the world. APIs to check shipping rates, taxes/duties, international banned entity lists, etc!

You wouldn’t imagine the horrendous software these logistics companies use. Pretty printing invalid json has been tremendously helpful for debugging issues!

jastr··on Ask HN: What is your passive income 2020?
https://PopcornNotify.com - API for sending email and text messages. About 3 weeks of work, making a little money.

https://CSVExplorer.com - Web app for opening big CSV files. Months of work to build, but now just a few hours of support a week.

https://TheSimplePostcard.com - Send Postcards via text message. A few weeks of work, now mostly passive.

jastr··on So you want to write your own CSV code (2014)
I have a saas for non-devs to open big CSVs, so code I've written has parsed thousands of garbage CSVs (and failed to parse thousands others).

Lots of pitfalls are easy to avoid if you already know them, which it sounds like you do. The author is saying that most engineers aren't aware of these issues, and the author is correct.

Writing a for loop is easy, but so is using a language's built in CSV writer.

jastr··on Ask HN: Who is hiring? (December 2018)
Markforged | Full-Stack Software Engineer (or frontend/backend) | Boston, MA | Onsite | Full-time or college intern | $100K+ and equity

We broke ground in 2014 with the world's first continuous carbon fiber 3D printer, and last year with the world's first sub-$100K metal printer. Our products are impeccably engineered and customers love us for it — our $70K printer has an NPS score of 85.

We have < 10 software engineers and are looking for a few more.

Our software stack:

* Webapp - Express.js / AWS backend, AngularJS / WebGL frontend, Electron for optional desktop client, all sanely-linted CoffeeScript

* Computational geometry engine for part slicing - Written from scratch in CoffeeScript and C++. Runs on EC2, in-browser, or on desktop client

* Printer touchscreen application - Node Webkit / AngularJS + Python -> migrating to Electron / VueJS + Python, all on top of a custom Debian image on a BeagleBone

* Printer firmware - embedded C on a custom board

Our team is all super full-stack. We generally distribute software tasks based on individual interest. As our nth software engineer, you will have tons of project ownership. Your ideas will influence the company's direction. You will do interdisciplinary work on physical systems and learn from best-of-the-best engineers across MatSci, Mech-E, EE, and SW, mostly MIT grads.

To succeed here, you need to be a quick learner and have a passion for software engineering. You don't need prior experience with 3D printing or our software stack, you can pick up those skills on the job.

You can email me directly jstrauss@ or apply online

jastr··on Optimization tricks in Python: lists and tuples
my_fixed_array = [None] * 10
jastr··on Ask HN: Is there server-side software that we are missing in 2018?
Some of the biggest advancements in recent years have come less from technological breakthroughs, and more from improvements in designs and abstractions. Tools like Ruby on Rails, GraphQL, and even AWS, while impressive technically, are breakthroughs because they improved developer efficiency. They also weren't "needed" until they were built, and have allowed many developers to work on broader parts of the stack.

Also, today's tech solves today's problems.

jastr··on SQL Loading CSV Errors and Fixes
Author here. I have \copy'ed lots of CSVs into Postgres. I thought I'd share command line fixes for the most common errors I've seen.
jastr··on Ask HN: Who is hiring? (January 2018)
Markforged | Full-Stack Software Engineer | Boston, MA or San Francisco, CA | Onsite | Full-time or college intern | $100K+ and equity

Markforged builds the world's best 3D printers to liberate mechanical engineers from decades-old, slow processes. MF broke ground in 2014 with the world's first continuous carbon fiber 3D printer, and this year with the world's first sub-$100K metal printer. Currently MF has 4 software engineers and is looking for a few more.

Software stack:

* Webapp - Express.js / AWS backend, AngularJS / WebGL frontend, Electron for optional desktop client, all sanely-linted CoffeeScript

* Computational geometry engine for part slicing - Written from scratch in CoffeeScript and C++. Runs on EC2, in-browser, or on desktop client

* Printer touchscreen application - Node Webkit / AngularJS + Python -> migrating to Electron / VueJS + Python, all on top of a custom Debian image on a BeagleBone

* Printer firmware - embedded C on a custom board

Them team is all full-stack. Software tasks are generally distributed based on individual interest. You will have tons of project ownership. Your ideas will influence the company's direction. You will do interdisciplinary work on physical systems and learn from best-of-the-best engineers across MatSci, Mech-E, EE, and SW, mostly MIT grads.

To succeed here, you need to be a quick learner and have a passion for software engineering. You don't need prior experience with 3D printing or our software stack, you can pick up those skills on the job.

Email jstrauss (then an at) markforged.com or apply https://jobs.lever.co/markforged/6cd283d8-0926-4e81-8e7c-636...

jastr··on Show HN: Merchant.js, a state framework for creating idle games
Are there similar games designed to be "hacked" with javascript in the console?
jastr··on My essential django package list
I don't think the parent comment is saying don't use the built-in user model. The comment is suggesting to sub-class/extend the built-in user model. So you can use much of the built-in functionality and add/change what you'd like, eg. to add a birthday field

There are obviously other ways to do this, perhaps by creating a Profile model that relates to a User.

jastr··on PopSQL – Modern, collaborative SQL editor for your team
Not quite directly SQL, but you can try CSVExplorer.com to work with huge CSV dumps from your db.

(disclaimer: I built CSV Explorer)

jastr··on Malicious software libraries found in PyPI posing as well known libraries
Whoops, remove the xargs
Page 1 of 6Next →