HNHacker News
TopNewBestAskShowJobs

mcao

250 karma · joined March 19, 2011

submissionscomments
mcao··on Umami: Self-hosted open-source alternative to Google Analytics
The app is using prisma.io which does support SQLite. I just haven't had the time to implement it yet.
mcao··on Umami: Self-hosted open-source alternative to Google Analytics
It's all done in Photoshop. Just take screenshots, then transform, rotate, distort them to look flat. Then add some drop shadows for a 3d look.
mcao··on Umami: Self-hosted open-source alternative to Google Analytics
Hi everyone!

Author of Umami here. I totally did not expect this response so it looks like you all hugged my little server to death. The demo should be back up now.

A little background. This is a side project I started 30 days ago because I was tired of how slow and complicated Google Analytics was. I just wanted something really simple and fast that I could browse quickly without diving through layers of menus. So I created Umami to track my own websites and then open sourced it. The stack is React, Redux, and Next.js with a Postgresql backend.

Would be happy to answer any questions you have.

mcao··on Show HN: Umami – a self-hosted alternative to Google Analytics
Mobile has been fixed, thanks!

It's very similar to Fathom and Plausible feature wise, except it's self-hosted. I'm currently hosting the entire app and database on a $5 DigitalOcean VM which is a lot cheaper than their basic plans.

It also doesn't do email reports, but I just open up the dashboard daily.

mcao··on Show HN: Umami – a self-hosted alternative to Google Analytics
I think Umami has a few advantages,

- A lot easier to use, no unnecessary features

- Modern Javascript stack vs PHP (Matomo)

- MIT license vs GPL v3 (Matomo)

- Supports both Postgresql and MySQL

- Easily deploys to free hosts like Vercel and Netlify

mcao··on Astrofox – motion graphics program for turning music visualizations into videos
I plan on supporting third-party plugins soon so you or anyone else can come up with effects. I was never a fan of those kaleidoscope effects so that's why I didn't include it. I think the real advantage of the app is the ability to layer scenes together. If you scroll to the bottom of the website you can see more examples of what you can do. Thanks for the feedback.
mcao··on Astrofox – motion graphics program for turning music visualizations into videos
Hi everyone, creator of Astrofox here. This has been a side project of mine for several years now and I've just shipped it. Astrofox is a motion graphics app that lets you create custom music visualizations that you can then save to video. It's similar to Adobe After Effects except everything is done in real-time and is focused primarily on music visualization. Some of the tech used is React, Redux, Three.js, WebGL, GLSL, and Electron. Let me know your thoughts. I hope you find it useful.
mcao··on Astrofox – motion graphics program for turning music visualizations into videos
It should install just like any other Electron app. Are you able to install other Electron apps?
mcao··on SoundCloud launches Go: a subscription service
You can try 8tracks.com. They have curated playlists based on genre/mood/etc. I generally just search by an artist I like then browse through all the different playlists to find something else I like.
mcao··on Blog post id enumeration can lead to unwanted information disclosure
You can simply use the database integer identity column and convert it into a series of alpha numeric characters. With a little effort, you can generate randomized, unique values. I've written a library that does exactly that, https://github.com/mikecao/hashkit.
mcao··on Show HN: Jukedeck – create unique, royalty-free music for your videos using A.I.
The believe Shred Video app does something similar. You select an audio and video file, and it splices the video content to match the beats of the audio.
mcao··on Photon – Framework for Electron apps
I guess I don't understand what makes this Electron specific. It looks like a UI kit similar to Bootstrap and others. Maybe it's too early in the project, but some mention of how the Node portions of Electron are used would be helpful.
mcao··on Atom 1.0
It's because the shell (http://electron.atom.io/) is based on Chromium, which can be quite large if you include everything. But in the future, the size should get smaller. NWJS, which is also based on Chromium, is already making efforts to significantly shrink the binary size.
mcao··on Kantree – A better alternative to Trello
One deal-breaker for me at least is the lack of id numbers on the cards. It's much easier to tell someone, hey I completed card #8 than "Really long description of task". I know there is a bookmarklet out there that surfaces the hidden numbers, but getting an entire team of non-technical people to run it consistently is near impossible. It really should just be a configuration option.
mcao··on Atom's autocomplete just got better
I'm using Atom for a current project and so far I really like it. I think the main selling point is that you can install packages to customize it for your needs. For instance, I use Visual Studio as my main IDE, but it doesn't have support for JSX files. I open up Atom, install a few packages, and I now can edit/lint/compile JSX with full syntax highlighting.
mcao··on Lumen – A micro-framework by Laravel
Have you ever tried Flight, http://flightphp.com? It has a smaller footprint than Slim but still has the ability to drop in PHP components. Disclaimer, I'm the author of Flight.
mcao··on Use ReactJS to Build Native Apps
This is awesome news. I've been working on a desktop application using React, node-webkit and browserify and it's been a great development experience. Being able to leverage web technologies to build native apps has been a huge time saver. However, I'm relying on the NodeJS components in order to do things like access the file system and fork commands. I'm wondering how React Native will handle this functionality. Will it be an extended API or can you only do AJAX calls? Either way it's very exciting.
mcao··on Firefox.html: Rebuilding Firefox UI in HTML
The one thing that absolutely annoys me about the current Firefox is the location of the refresh button, which is a tiny icon stuck in the far right of the location bar. Worse of all you can't customize it natively. You have to download extensions to change the UI and still you won't get it to look 100% how you want it. Being able to modify a HTML based UI would be awesome.
mcao··on Hashids – Generate short hashes from numbers
I actually created something really similar, except with more options to fine tune the encoding/decoding process:

https://github.com/mikecao/hashkit

mcao··on Startup War Story: When The Team Falls Apart (Profitably)
They offer a free product and a $50 paid product. I don't think it was mentioned anywhere that those hundreds of new customers were paying customers. Maybe they just signed up to try the product then never came back.
mcao··on Show HN: Password validity hinting
I think in that particular section he is referring to the possibility of allowing to client to validate the hash, which would be bad because it opens up the possibility of brute forcing. I don't think he means you shouldn't use bcrypt on the server side.
mcao··on Slated aims to disrupt Hollywood as the AngelList for film funding
Just curious, how is this different from what Enron was doing? They are basically setting up shell companies to hide their losses right?
mcao··on The MicroPHP Manifesto
What I needed in a framework was exactly what the author mentioned, something simple to start but could scale to complexity when needed. I tried a lot of other full stack frameworks and just couldn't get them to do really simple things without extensive customization. They were all very rigid in "how" you do things.

This is the reason I ended up writing my own micro-framework, Flight (http://flightphp.com/). The goal is to be as flexible and extensible as possible, while providing a tiny footprint.

mcao··on How Spotify Works
Doesn't matter how amazing their technology is when they leave critical bugs in the client unresolved for over 2 years: http://getsatisfaction.com/spotify/topics/error_message_offl...
mcao··on Spotify Surpasses 2 Million Paying Subscribers
I love/hate Spotify. I love the product and use it all the time. I signed up for premium after using the free version for one day, so they definitely won me over. What I absolutely hate is they have a huge number of show stopper bugs in the application. Songs don't play, songs go missing, can't get online, etc. Some have been reported over a year ago and still haven't been fixed.

Sometimes you'll get the message "Offline access for this computer/device has been withdrawn", which essentially deletes all your locally saved songs. Spotify limits the number of devices you can have offline access enabled on, but their algorithm is so awful it ends up nuking all your devices. So beware if you're planning on taking a long plane ride and suddenly your entire library disappears.

mcao··on Netflix Splits DVD And Streaming Businesses
Netflix customer here.

It's a terrible move because how I go about finding a movie to watch is very important to me. I want to be able to search for movies, browse a genre, or rate movies and get recommendations all through one easy to use interface. I will decide whether I want to stream the movie or wait for it in the mail. How you handle it internally I don't really care. I'm even willing to pay for the services separately.

Now, let's compare to cable. If I sign up for Comcast cable with HBO, I would also pay for the services separately. But, I don't want to have two boxes with two remotes sitting next to my TV just so I can watch HBO separately.

When I log into amazon.com I can buy physical items like DVDs, or purchase digital items like eBooks or MP3s, or I can stream movies. Maybe they're handled internally by different departments. I don't know and I don't care. All I know is that I can do everything from one interface with one account. I don't need to go to amazulu.com to watch movies and kindlebooks.com to buy books.

Simply put, convenience is a HUGE value. Something that I am willing to pay for. I didn't even sweat the Netflix price hike because the value was still there for me. But if you're going to make it HARDER for me to find and watch a movie, I don't see how that's worth paying for.

mcao··on Redesigning the Technical Hiring Process
I find I mostly use google to see how others have implemented something rather find the exact solution. But either way you have a problem to solve and google takes you from knowing nothing to at least a starting point.
mcao··on Facebook Cites ‘Smoking Gun’ Proof of Fraud by Paul Ceglia
A duped drive would be useless. When you delete a file, the OS marks it as gone, but the data is still physically on the drive until you overwrite it with more data. The forensics team would need access to the original drive to uncover that data.
mcao··on Spotify Sued For Patent Infringement Just Weeks After Entering US Market
Sure, it may not help in THAT case but it would help with people hoarding patents for the sole purpose of suing others. There isn't going to be a single solution that solves the patent problem. It will be a combination of rules like 1) you must have a product on the market using the patent 2) no business method patents 3) software patents are limited to 2-3 years etc etc
mcao··on Why I Hate Frameworks
That sounds like something I wrote.

https://github.com/mikecao/sparrow

It's a simple class that builds and executes SQL, but you can customize query at any time.

← PreviousPage 2 of 3Next →