HNHacker News
TopNewBestAskShowJobs

purerandomness

1,717 karma · joined July 14, 2013

submissionscomments
purerandomness··on Show HN: IHP, a batteries-included web framework built on Haskell and Nix
Today's PHP projects (at least the ones for which I've done consulting) are modern and clean code bases that use strict/strong typing, run static analysers and have stellar package management thanks to composer.

PHP 8 is due to be released this fall which improves the situation even more.

Symfone is the web framework that had the highest count of contributions over all frameworks in all languages.

The PHP community took a 180 degree turn from the 90's style flat files with a mix of HTML, SQL and code in the last decade. That times are gone (of course that kind of code is still laying around)

For someone who already knows PHP, starting a project in 2020/2021 in PHP is an excellent choice.

purerandomness··on Nginx UI – Access and modify the Nginx configurations files without CLI
Always run `nginx -t` before reloading to test the new config.
purerandomness··on Ask HN: How hard is it to change careers? Web dev – App dev
Instead of making a hard switch, why not ease into it by spending some hours moonlighting a few apps that you then can use as artifacts proving your expertise in that area?

After that, you can gradually remove web dev related technologies from your CV and LinkedIn so recruiters stop contacting you for, say, JavaScript gigs, and instead include Swift and iOS technologies.

You can shape your career and position yourself on the market without taking an income hit by starting from scratch.

purerandomness··on Advice to Young Web Developers
Yes, look at the examples at https://htmx.org/
purerandomness··on Advice to Young Web Developers
Have a look in your /usr/share/doc folder.

Run this:

    find /usr/share/doc -name '*.htm*'
You'll be surprised.

Your system's package manager is installing the HTML documentation right along with the software you install.

When you update your system, new package versions along with their corresponding documentation are downlaoded.

purerandomness··on The Return of the 90s Web
You might want to give the two first sources I've linked a visit. Both mention David Carson, and the Raygun magazine.

The sentiment I paraphrased was stated by designer Maximo Vignelli, although he didn't single out David Carson.

purerandomness··on The Return of the 90s Web
I recently watched the "Helvetica" documentary that was posted here a few days ago [0], where they briefly mention "Grunge Typography" [1], a seemingly dead-end branch of typography that, for some strange reason, became pretty popular for a short period of time.

After some years however, consensus amongst designers formed that what they've created was a pile of illegible garbage, and realized that there was no other way than completely dismiss that branch, go back to the roots, and evolve from a few steps back.

I feel the same kind of consensus is slowly forming around ideas like SPAs, client-side rendering and things like CSS-in-JS.

We saw the same happen with NoSQL and many other ideas before that.

We recently deployed an entire SaaS only using server-side rendering and htmx [2] to give it an SPA-like feel and immediate interactivity where needed. It was a pleasure to develop, it's snappy and we could actually rely on the Browser doing the heavy lifting for things like history, middle click, and not break stuff. I personally highly recommend it and see myself using this approach in many upcoming projects.

[0] https://www.hustwit.com/helvetica/

[1] https://www.theawl.com/2012/08/the-rise-and-fall-of-grunge-t...

[2] https://htmx.org/ (formerly "Intercooler")

purerandomness··on Bootstrap 5 alpha
I had the same issues with major breaks between Bootstrap 4.x alphas and betas, but to be honest, their migration changelog [1] was truly helpful and you could simply search and replace most changes.

It's the price of choosing the bleeding edge I guess.

[1] https://getbootstrap.com/docs/4.5/migration/

purerandomness··on Bootstrap 5 alpha
Sub menus are really hard to do right on a mobile device.

Mobile is important at least since Bootstrap 3, when Bootstrap became "mobile first" (e.g. you define breakpoints with the smallest screen in mind by default, adding exceptions for wider screens)

After all, Bootstrap is, like the name suggests, a "bootstrap" for your own project, and if you think the accesibility problems that come with nested dropdowns are worth it, you're totally free to implement that, and even create a GitHub project with your CSS clases.

There's no reason your solution wouldn't be merged if you provide a truly novel approach to all the other failed approaches.

purerandomness··on Bootstrap 5 alpha
I simply have the documentation open, which is really excellent and doesn't require any other sources.

I begin with copying one basic example and building from there.

Then I'll tweak the HTML+CSS live in the browser's DevTools until I feel I understand what's happening in the CSS, I switch back to IntelliJ and bake my tweaks into my own custom SCSS extending bootstrap's classes and building on them.

Never bought templates as I have the feeling that template authors don't really have the time to really grasp the concepts of bootstrap, nor do they care, and simply tend to pile tons of rules until they have some effect they desire. I felt it's always easier to simply read the docs, and occasionally jump into IRC in ##bootstrap or #css or their Slack when I'm stuck.

purerandomness··on Bootstrap 5 alpha
The beauty of Bootstrap is that it's easily tweakable with SCSS variables. If you do, make sure you use Bootstrap's color-yiq() function so you'll always have the same color/text contrast, in dark and in light mode.

Read more about Bootstrap's color-yiq() here: https://getbootstrap.com/docs/4.5/getting-started/theming/#c...

purerandomness··on 25 Years of PHP
Did you just deliberately redefine 'reload' just to incite a flamewar, or do you really not know what's different in your example?
purerandomness··on 25 Years of PHP
> Stuff that's in comments SHOULD NOT AFFECT RUNNING CODE.

To clarify, comments never affect running code in PHP, ever.

What's often done however is that tools like ORMs, or web frameworks offer a 'compile' step that parses these annotations (just like it's common in Java) and dumps a PHP file that maps things in the annotations into actual PHP code.

For example, you can use it in Symfony to wire routes to handling functions in controller classes; or in Doctrine to help the mapper wire Entity classes to database tables.

If you don't like the idea of preprocessing annotations, you can totally not use them and configure everything using external YAML/XML files.

purerandomness··on Ask HN: Career and life advice for a 30yo
Just as with everything else, you become better at it with more experience.

It's an acquired skill that can be learned, trained, coached, and shared.

purerandomness··on Ask HN: Career and life advice for a 30yo
There's a wide community of people feeling just like you, assembling in "Maker communities", as they call it.

Good entry points are the IndieHackers podcast, and conferences like MicroConf (watch their conference talk recordings here, especially Patrick McKenzie's aka patio11 [0])

The basic idea is to create a sustainable job you love for yourself, the people that depend on you, and many others. The antithesis of "Our incredible journey", aka VC sellout.

Once you've done this, you can do whatever you want. Build a game company. Pursue academia [1]. Join the demoscene, tour the world, join demo party competitions and write sick 64k intros. Commit to open source and help the Haiku project. Hang around at your local hacker space and help create an independend mesh-based ISP.

I know exactly what you're talking about. I watched the Netscape documentary "Project Code Rush" [2] with Jamie Zawinski and loved the spirit and the feeling of doing something important. It feels like it's in such a stark contrast to many people's reality, pushing JIRA tickets in a toxic AdTech startup. However, I think it's an illusion. There never was a "golden age", and people simply forget that bullshit jobs always existed, you just don't see domcumentaries of them, nobody would watch them. For me, what helped me was realizing that the world, or the "industry" doesn't owe me anything, and I'm completely on my own, and if I want to do something meaningful, well, I'll have to create my own sustainable job to support myself and my loved ones.

There's a longer writeup by Alex Hillmann (who runs "Stacking the Bricks", with Amy Hoy) here [3], I'm just scratching the surface of the basic idea here.

[0] https://www.youtube.com/channel/UCHoBKQDRkJcOY2BO47q5Ruw/vid...

[1] Side note: academia seems mostly only broken in the US at the moment. In the rest of the world, it seems just fine - apart from the usual problems academia inherently has, but at least you can pursue an academic career without accumulating debt here in Europe. If you feel like it, why not move?

[2] https://www.youtube.com/watch?v=4Q7FTjhvZ7Y

[3] https://dangerouslyawesome.com/10k-independents-project

purerandomness··on SQLancer, a tool to automatically test DBMSs to find logic bugs
Not possible as their licence explicitly forbids to "disclose results of any program benchmark tests without Oracle’s prior written consent." [1] and a listing of bugs found in different RDBMS by an automated approach would likely be considered a benchmark.

Same applies for Microsoft's SQL Server.

[1] http://www.oracle.com/us/corporate/pricing/olsa-ire-v122304-...

purerandomness··on I'm resigning from my job at Facebook
Politics affect your profession and your life. You cannot separate politics from your life.
purerandomness··on The ideal tech stack for a personal developer blog in 2020
Have you been around last time, when CoffeeScript definitely was here to stay?

Or that other time, when Dart was almost here to stay, and on its way to replace JavaScript?

purerandomness··on Org Mode – Organize Your Life in Plain Text
Also, people forget that their favourite SaaS-du-jour probably won't be around after their "Incredible Journey" ends and there won't be a migration path, or it's going to cost too many hours to be worth it.

Emacs will be here for us in the next decades, even well after our career ends, and then some.

purerandomness··on Simple Personal Finance Tracking with GnuCash
Jen, thank you so much for LunchMoney. It feels like you really love developing it, and it shows.

I've first heard of it from the IndieHackers podcast featuring you [1] and remember myself signing up and thinking "wow, this is exactly how I would design and build something like that".

Everything is polished, thought through, and the pace with which you push out new features is crazy.

Thank you!

[1] https://www.indiehackers.com/podcast/150-jen-yip-of-lunch-mo...

purerandomness··on It's 2020 and I'm using image maps
Flexbox (for one-dimensional layout) and Grid (for 2-dimensional layout) really improved the situation and finally made floating and positioning obsolete.

There are plenty gamified learning tutorials like https://cssgridgarden.com/

purerandomness··on Ask HN: Why did Uber lay-off thousands of employees
1. No one knows how long the pandemic will last. It could be 6 months, but it could be longer, after a 2nd and 3rd wave.

2. Even if the pandemic would end in exactly 6 months, no one knows whether consumers, after having lost their jobs, will have the money to spend on such a "luxury" like rides. It might take 2 years for consumers to fully recover from the money lost.

3. Everyone realized they actually don't need that commute, so chances are that car traffic, in general, will decrease, because people who realized the can work from home will do so more often.

4. Similarly, pop-up bike lanes are popping up everywhere, with people switching to bikes (at least here in Germany), so you could argue that permanent mobility shifts will happen.

5. Game theory: If a legislation allows for mass firing like those, you have to justify NOT firing during bad times like these, to the stakeholders whose VC money you're burning, especially since everyone else does it. You'd lose out by not using every one of the tools your legislation gives you. In other legislations (most of Europe), such firings would simply not be possible and couldn't be considered as an option to extend runway.

You use the word "withstand", which carries a very positive meaning, and the idea that the company will "come out stronger" after that.

Sadly, this concept doesn't exist for a company, especially not VC funded ones. There is simple not enough incentive to keep burning VC money, especially when your margins are low, you're not profitable, and the whole game is to take over the market, or go home.

purerandomness··on 40-60% of the unexposed produce Covid-19 antibodies due to earlier cold exposure [pdf]
Loss of a home or an insurance can be temporary.

The loss of a loved one is never temporary.

purerandomness··on Show HN: kutty, jQuery-free intercooler.js
Intercooler/Kutty is truly a remedy to modern web development's accidental complexity.

Love it, thank you for putting so much effort into it!

purerandomness··on The modern HTTPS world has no place for old web servers
It's not authorities, anyone setting up a router can peek into this information, and more importantly, tamper with it.

Remember Upside-Down-Ternet? [1]

[1] http://www.ex-parrot.com/pete/upside-down-ternet.html

purerandomness··on Apple unveils biggest update to Logic since the launch of Logic Pro X
The Windows port was discontinued the same day Emagic was sold to Apple.

I always assumed that the goal was to strengthen the Apple brand and signal that it's a more suitable system for creative work.

purerandomness··on Lidl to Launch Rival to AWS
They tried to integrate the business into SAP for seven years. Which still is fairly recently in non-startup terms, but I agree it's still a great sign they decided to cut the losses instead of falling for the Sunk Cost Fallacy.
purerandomness··on We at $Famous_company switched to $Hyped_technology
* Anything CSS-in-JS

* any new Nxxt.js framework that looks a lot like PHP 4, with HTML, SQL and JavaScript mixed all over the place.

purerandomness··on Convincing-looking 90s fonts in modern browsers
* No scroll-jacking

* browser history actually works

* middle-click or ctrl+click on a link actually opens links in a new tab.

* No loading spinners, content is rendered immediately.

This site performs better than most SPAs.

purerandomness··on Driving engineers to an arbitrary date is a value destroying mistake
I guess the key here is that you can totally immerse yourself in something that doesn't feel like work; a project that fullfills you from the deepest of your heart.

That tends to happen once every 10 years.

It doesn't tend to happen in day-to-day grunt work at an AdTech shop, pushing JIRA tickets.

← PreviousPage 10 of 18Next →