HNHacker News
TopNewBestAskShowJobs

kyle_u

175 karma · joined May 24, 2011

submissionscomments
kyle_u··on Ask HN: Is there any software you only made for your own use but nobody else?
I’ve spent five years and 100KLoC building https://github.com/kyleu/projectforge which helps generate and update other Golang projects I maintain. I use it daily.
kyle_u··on Ask HN: Who wants to be hired? (July 2024)
Location: Denver, CO

Remote: Yes

Willing to Relocate: No

Technologies: Go, TypeScript, Scala, Rust, C#, Java, Python, C/C++, SQL, HTML/CSS, JavaScript

Résumé/CV: https://kyleu.dev/resume

GitHub: https://github.com/kyleu

Email: hn@kyleu.dev

I've been creating software for more than 25 years, and coding is still my true passion. I specialize in software performance, simplicity, developer experience, and solving the difficult problems that arise with complex distributed systems. In my last role, I served as a Principal Engineer for a large engineering team, designing and building a large global web commerce platform where I created architecture, frameworks, and backend services, mostly in Golang and TypeScript.

I've built many open-source projects, with Project Forge (https://github.com/kyleu/projectforge) being the best representation of my work. It’s a solo project with almost 100KLoC, and has delivered significant value to the organizations I collaborate with, despite being currently unannounced and under-documented.

I'm seeking full-time employment as a Principal Software Engineer or similar role. I'm eager to bring my extensive experience to a new team, contribute to exciting projects, and work alongside other passionate developers. Feel free to drop me a line at hn@kyleu.dev if you think we could be a good match.

kyle_u··on Tell HN: Recruiters are lying about remote positions
Confirmed! I've been happily working at Fevo for years, more than a thousand miles from headquarters.
kyle_u··on Ask HN: Who is hiring? (April 2022)
Fevo | New York City or Remote (NA/Europe) | Full time | https://fevo.com

Fevo is an ecommerce platform specializing in social selling. We help people buy things and enjoy them together. Come build things with us!

What we do: We've been changing the ticketing industry since 2016, and now we are expanding into hospitality, travel, insurance and luxury industries.

Things we love about Fevo

- We've been fully remote since before COVID, though we have an office in the meatpacking district.

- Excellent compensation; we work hard and Fevo takes good care of us financially. All employees have stock options.

- We welcome diversity, and are an inclusive workplace. We're excited to work with you.

- We create useful software using exciting technologies, with an established and talented global team.

Stack

- Backend: Golang (we've already upgraded to 1.18), some modern Java (via Quarkus)

- Frontend: Typescript, React, Redux

- DB: Postgres

We are looking for enthusastic engineers with 3+ years of experience. We are open to candidates in North America and Europe, and we require that your workday has some overlap with core-east coast hours (9-5 EST).

Please reach out to hn@fevo.com to apply or discuss. A full list of roles we are hiring for is at https://jobs.lever.co/fevo

No recruiters were involved with putting together this post - it was written solely by engineers at Fevo.

kyle_u··on Show HN: Database Flow – Modern web database client using SQL or GraphQL
Hey HN, I've been hacking on Database Flow for the past year, it feels great to finally release it. You can find the source at https://github.com/KyleU/databaseflow
kyle_u··on PySolFC – A collection of Solitaire games for Python
Jan has been incredibly helpful, improving my open source Scala solitaire game (https://solitaire.gg) with Github bug reports and feedback, and even suggested using it as a new frontend for PySolFC (which I'd love to do).
kyle_u··on HTML5 Games Workshop: Make a Platformer Game with JavaScript
I haven't made a single cent off it, but my solitaire game (https://solitaire.gg) uses Phaser, I found it to be a great engine, if a bit heavy for a card game.
kyle_u··on Cracking Minesweeper with Z3 SMT Solver
I'm the same way with my solitaire game!

https://solitaire.gg

We should build a collection of web remakes of the built-in OS games.

kyle_u··on Klondike: Solitaire for Mac, continually updated for 32 years by same man
There's something very zen about Solitaire games. I've been building them for over a decade, spanning the gamut from http://kylecards.com (no updates in over a decade!) to my latest game, https://solitaire.gg - I really admire this person's dedication, maintaining an app like this is hard work - particularly when it takes place over decades.
kyle_u··on Announcing Scala.js 0.6.8
I built Boilerplay for that exact purpose - https://github.com/KyleU/boilerplay

It uses the excellent sbt-scalajs to provide code shared between server and client, and a websocket controller that can receive those shared messages. It's tied to Play, sihouette, and postgres-async.

kyle_u··on Minefield: HTML5 Massively Multiplayer Online Minesweeper
I love it when people put a modern twist on a ubiquitous game like this. I'm reminded of http://bombermine.com (no longer up?), a massively multiplayer Bomberman clone. Personally, I've tried to modernize Solitare with http://solitaire.gg , but haven't figured out a way to make it massively multiplayer yet...
kyle_u··on Microsoft Solitaire was developed by a summer intern
Fixed, thanks for the report!
kyle_u··on Microsoft Solitaire was developed by a summer intern
Heh, I almost never test in IE, so I expect the reverse. Let me know what errors you're seeing via the game's feedback form.
kyle_u··on Microsoft Solitaire was developed by a summer intern
Great feedback, sorry for your laggy connection. I'm working on a fix now, but glad offline mode is working for you!
kyle_u··on Microsoft Solitaire was developed by a summer intern
Having it client/server eliminates the possibility of cheating, lets me get exact timings for analytics and data mining and whatnot, and lets me implement cool things like "Observe Game" (coming soon!).

After the feedback from this thread, I'm going to move to a "hybrid" model where the model logic all happens locally, but still fires websocket events to the server. Best of both worlds.

kyle_u··on Microsoft Solitaire was developed by a summer intern
Yep, this. Went perfectly, and thanks to Akka Persistence, end users (hopefully) just saw a minute of lag before their game resumed.
kyle_u··on Microsoft Solitaire was developed by a summer intern
Linux 32-bit Build: https://s3.amazonaws.com/solitaire.gg/linux/Solitaire.gg.x32...

It looks like I exceeded your texture memory. I use pretty high resolutions (targeting 4K displays), and dynamically build the card textures at runtime based on your screen size. Let me know if the native app improves the situation.

kyle_u··on Microsoft Solitaire was developed by a summer intern
Good idea, and a simple change. Thanks!
kyle_u··on Microsoft Solitaire was developed by a summer intern
I use http://phaser.io for scene management (animated resizing of the game, tweening cards to predefined points on the table, etc) and the particle effects, as well as dynamically building the card images. I've been really impressed with Phaser.
kyle_u··on Microsoft Solitaire was developed by a summer intern
Holy crap, I've been waiting for someone to ask me that (I need more coding friends). The entire game is client/server. The client is pure JavaScript, and communicates with the server using only a few messages (select card, move card, etc). Normally, it connects via WebSocket to my Play Framework/Scala app, and the server processes moves and sends the results and a list of potential moves back to the client.

If you download any of the native apps (iOS, Android, Linux, Win, OS X), you can play offline. This is the magic of Scala.js. The same code that my server uses gets compiled down to JS, and the client calls it directly, forgoing the socket connection. You can also see offline mode in the browser by replacing the word 'play' with 'offline'.

kyle_u··on Microsoft Solitaire was developed by a summer intern
Yeah, I've started work on 600 or so games, but haven't tested them all. Russian Solitaire is a glaring omission, and will be corrected right away.
kyle_u··on Microsoft Solitaire was developed by a summer intern
Thanks! Phaser.io has a great tweening/animation system I use for some things, but the momentum animation was just a few lines of custom code. You basically just set the angle to a smoothed (distance travelled in last 500ms).
kyle_u··on Microsoft Solitaire was developed by a summer intern
Great advice, thanks for the feedback. I'll get on that tonight (right after the right-click bug that everyone hates).
kyle_u··on Microsoft Solitaire was developed by a summer intern
All good now - thanks, AWS! And thanks to everyone for the feedback. Wasn't expecting to launch my game today, but I'm glad I did.
kyle_u··on Microsoft Solitaire was developed by a summer intern
Darn it, you hugged it harder than my tiny Amazon box could handle. Resizing the box now.
kyle_u··on Microsoft Solitaire was developed by a summer intern
In practice, for my game, I use a single positive signed int as the initial seed for the Scala/Scala.js PRNG (Amazingly, they implement the same algorithm), meaning only two billion or so possible games. If I re-seeded the PRNG each time I moved a card ordering, then the full [52!] shuffles could be generated. I only use initial seed, so that a given seed will always generate the same shuffle/deal order.
kyle_u··on Microsoft Solitaire was developed by a summer intern
Acknowledged. I'll fix it up tonight, thanks! Cross-browser mouse events have been the biggest hassle.
kyle_u··on Microsoft Solitaire was developed by a summer intern
I'll probably open source it in the future, there's a lot of code there, and not much money to be made in Solitaire. I did extract some of the best general parts of the app (the admin, authentication, etc) into a project template I call Boilerplay (https://github.com/KyleU/boilerplay). If anyone's interested, I could also publish my pipeline to turn the Scala.js webapp into native apps for OSX, Windows, Linux, iOS, and Android.
kyle_u··on Microsoft Solitaire was developed by a summer intern
I don't know what it is, but I love implementing Solitaire to learn new languages and frameworks. It's always a fun exercise, and the engine gets better with every iteration. My latest attempt is https://solitaire.gg - it's a Scala/Scala.js WebGL/websocket Phaser web/native app with hundreds of games.
kyle_u··on Ask HN: What stack would you use to build a CRUD web app on the JVM today?
Being the author, I'm of course biased, but I made Boilerplay (https://github.com/KyleU/boilerplay) for this very reason. It's a Play/Scala app, uses postgres-async for database access, and provides most of the boilerplate you'd need for non-trivial apps (admin, metrics, reporting, sign-in, etc).
Page 1 of 2Next →