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.
HN user
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
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.
I had this too until I lowered it's memory limit. In ~/.duckdbrc `set max_memory='1GB';` or even less
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';`
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
Similarly, watch a random walk solving a maze https://stripenight.com/random_walk.html
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.
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.
Heroku's github integration has been down for 2 weeks
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.
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.
This is a neat idea, but I think the site is a bit too barebones for people to want to trust with their data.
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...
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.
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.
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.
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.
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.
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.
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!
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.
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.
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
my_fixed_array = [None] * 10
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.
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.
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...
Are there similar games designed to be "hacked" with javascript in the console?
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.
Not quite directly SQL, but you can try CSVExplorer.com to work with huge CSV dumps from your db.
(disclaimer: I built CSV Explorer)
Whoops, remove the xargs