HNHacker News
TopNewBestAskShowJobs

hambos22

106 karma · joined November 28, 2017

me[at]cpoul.dev
submissionscomments
hambos22··on Show HN: My first complete full stack web app, greekdeals.gr
I mean that if you visit [0] to see the translated version through google, JS throws errors: the sidebar won't render, search won't work and pretty much everything which needs JS doesn't respond. Using the in-place translate doesn't have that issue.

About the search part, imagine that in busy days we'll have at most 2-3K active deals, therefore Postgres can do the job really fine with that amount of data. Elastic search was in the table but I think it would be overkill for my use case. Also by having 100% indexable queries performance impact is small. PG provides a lot of goodies to get the job done.

You can try to play with it, just type an english word in the search bar eg "game" and then "geme"

[0] https://translate.google.com/translate?sl=el&tl=en&u=https%3...

[1] https://github.com/wolfgarbe/SymSpell

hambos22··on Show HN: My first complete full stack web app, greekdeals.gr
Hey HN,

I would like to present you my first full stack web app. A side project which took me 1.5 years of great effort to complete, for the sole purpose to upgrade my skills on many contexts outside of my daily job.

It's in greek language but if that bothers you, you can translate it to your language using your browser functionality [0]

I would really appreciate to hear feedback from you. Reading HN all these years, really altered my mindset which affected many design choices which I had to make.

----

Intro:

Greek Deals is a greek community where users can find and share -legit- deals & offers across every commerce sector eg from amazon online deals to local neighborhood market deals. To compel users to find & share deals, a point system has been made. When user creates a deal and depending of how complete it is (description, image, duration etc) he earns the analogous points. Users can also vote for deals. Votes have exponential effect to points. Users can redeem their points (WIP) for a variety of rewards (vouchers, netflix, services etc).

Tech stack:

* Front End: Next.js, React.js, Typescript

* Admin Dashboard: React.js, Typescript, Electron

* Backend: Flask, Python, a bit D, Postgres, Redis, Celery, Docker / compose

Key Features:

* Performant fuzzy autocomplete search with latin character support (greeklish), stemming, weights etc

* Deal faceted search

* Real time, daily and weekly deal alerts based on user's choices

* OWASP practices

* Dependencies to minimum

* No 3rd party UI frameworks, every React component is custom (except Mapbox).

* Automatic image conversion to WEBP, fallback to JPG for unsupported browsers

* Infinite scrolling with the ability to restore scroll position

* Took a good dive to Postgres. I leveraged many of its goodies, like geo queries, full / fuzzy text search, materialized views, CTE, functions etc

* Dynamic banner creation for og:graph by visiting a HTTP endpoint, suitable for social media use. That resulted in a decent increase of impressions & engagements through out our social channels. example [1]

Flutter app for iOS and Android is WIP

LOCs: ~30K

Monthly budget: $75 (2xDO droplets, DO managed db, s3, mapbox, rsync.net)

[0] unfortunately using the translate.google.com proxy breaks JS and the sidebar on desktop monitors won't appear. Using the in-place translation through the context menu works normally.

[1] https://api.greekdeals.gr/v1/social/images/deals/XobXd4D

edit: syntax & formatting

hambos22··on 16-inch MacBook Pro
I was thinking to buy that line of MB, but since September I fully switched to Linux after being OSX user for the last 14 years. I ditched my mbp for a Dell XPS 7390 (latest model, 16GB RAM, i7 10th). Me and my girl couldn't be happier.

Me, because I ditched that monopolistic machine, which you can't fully enjoy if you are not in Apple's ecosystem. The only Apple machine I have is macbook. Even my desktop was a hackintosh. As a developer Linux gave me extreme freedom. The only thing I miss, is the touchpad but I learned to live without it.

My girl because I gave her my Macbook Pro 2015 and moved away from windows, win-win situation, the machine will just "work"

hambos22··on Ask HN: How do you organise your hard drive?
I use OSX.

Projects: I have a Shared folder on ~ which has bidirectional sync with my desktop (with Resilio[1]). Inside that folder are my current projects. The old ones, are on private git repos (the codebase) and on backblaze (full replicated production project, with rclone[2]). I use Resilio because its fast, reliable and it supports ignore patters (eg node_modules)

Dotfiles: For syncing my dotfiles, ssh keys and app settings across my machines I use Mackup[3]. Life saving tool. My macbook has the exact same settings as my desktop and vice versa. I keep all my settings in a Dropbox folder and they are symlinked automatically on the machine.

General: I have 3 subfolders on Downloads. Chrome, Attachments and Torrents. Each one is self explanatory. I like my downloads to be organized, because I clean them up occasionally. I use Desktop as a temp area, therefore I don't have permanent files there. All my documents (financial, reports etc) are on Dropbox organized by year.

[1] https://www.resilio.com/individuals/ [2] https://rclone.org/ [3] https://github.com/lra/mackup

hambos22··on Ask HN: What did you learn in 2018?
I started studying intensely math since May (~2-3h/day) to fill some huge gaps. Calculus up to multivariable, linear algebra and discrete math.

After those, some basic ML and I hopped straight to DL.

For CS related: Kotlin, Algorithms Design, Operating Systems & basic Networks. I'm preparing for OMSCS and I want to strength my application by earning as much MOOCs as I can. It was a very difficult -but enlightening- year.

hambos22··on Creating Windows XP Icons (2001)
Ah Royal Noir! I remember those days, my friends were pimping their bikes and I was pimping my desktop. I had to find Royal Noir on the internet because it wasn't embedded with XP, and with each download, one virus gift :D
hambos22··on Show HN: Dark Reader extension – Dark mode for every website
I use it daily in conjunction with f.lux and its been an essential combination for a smooth transition to late-night working/surfing/reading.

Specifically, after trying similar extensions, this one is the best. Its css rules fit perfectly for most of the websites which I visit.

hambos22··on Is it worth to learn Vim in 2018?
I forced myself to learn vim last year after my wrist started to hurt a lot. The reason was the right hand motion for reaching the mouse or key arrows, countless times per day. It took me ~1 week to be comfortable on home row and vim motion. I started learning it when I didn't have much work to do so it didn't keep me back from my workflow. Now I'm grateful for that decision and I find myself using the home row accidentally at unrelated apps. My productivity skyrocketed and my wrist is fine. For me its worth it 100%.

Most major editors and IDEs have Vim mode/plugins so users could try it without breaking their workflow.

hambos22··on Ask HN: Sorting 8k emails, any tools to make this easier?
I've used [0]Mailstrom before for about 35K emails and I've managed to clean 30K of them. Take a look of it, its cheap too ($7/month).

[0]mailstrom.co

hambos22··on Show HN: Granim.js – Create fluid and interactive gradients animations
I'm using this lib for about ~2 years now on some of my projects. Beautiful & elegant api
hambos22··on Ask HN: Companies using Racket?
Racket exists since 1995
hambos22··on Marta, file manager for macOS, goes beta
I just tried it and I really liked it. It looks very promising. I applause author's statements about its business model ("The goal for me is to create the best file manager for Mac, not to become rich.").

I have tried everything, from Double Commander, to Forklift,Pathfinder and fman.

I was fman user for about a year (OSX) but it was slow and the quick look (with plugins) was unresponsive and crashed all the time so I cancelled my subscription about one month ago and I was in search for a minimal but powerful dual panel file manager with keyboard functionality.

Thanks for making this, it looks like TotalFinder (which I am a user since the beginning) for power users. Especially the tabs functionality

hambos22··on Ask HN: Does anybody still use jQuery?
It depends on the project. For web applications and SPA I prefer using React. For ecommerce and smaller projects, the stack is jQuery for cross browser (and old browser) compatibility with the minimum effort.(And Vue for some commerce components like minicart, quickview etc)
← PreviousPage 2 of 2