I have been using Git on the command line most of the time, for as long as I can remember. There have been periods where I have used apps like Tower. Some of them are okay. Tower is a great one, but way too expensive for me, and Fork is another great option.
Git clients in IDE’s and editors on the other hand have always been really confusing to me. I can never understand how the hell to use them. The exception being the one in Visual Studio Code and Magit. What I really like about the one in VS Code is that the visual UI is just about about committing changes. You have some other UI like showing the current branch, and some nice wrappers for running git commands through the command interface and other places. But the main UI thing is committing.
I really like it, because it makes it all really intutive and easy to understand for anyone.
- Should I useState or useReducer?
- This benchmark is indeed flawed. – Dan Abramov – Medium
- 10 Node.js Frameworks Worth Checking Out: Express, Loopback, Hapi, and Beyond
- For coding, I was an Emacs user for 30-ish years, but I recently gave up the fight and switched to Visual Studio Code, which actually gives me everything Emacs did and more. - Jack Baty’s Weblog
- GitHub - sveinbjornt/Sloth: Mac app that shows all open files and sockets in use by all running processes. Nice GUI for lsof.
- Having Breakup Sex with My Ex Was the Worst Idea Ever - Broadly
- For Dell’s Billionaire CEO, Taxing the Ultra-Rich is a Joke - Inequality.org
- Assman, denied licence plate, displays name across truck’s tailgate | CBC News
- IDE is unusably slow when using a 4K display on OS X : JRE-526
- Above Avalon: AirPods Have Gone Viral
- Gray Areas
- SQL: One of the most valuable skills - Craig Kerstiens
- hyperspace-el/README.org at 4457c359713480aaf06eccbcd4d5b5bd07fd4e81 · ieure/hyperspace-el · GitHub
- Jessie Frazelle’s Blog: For the Love of Pipes
- Microsoft security chief: IE is not a browser, so stop using it as your default | ZDNet
- Manton Reece - New photos API
- Developers Are The Problem, Not Monoliths - codeboje
- Peak Design Tech Pouch — Tools and Toys
- What if the Architect is Wrong?
- GitHub - magit/forge: Work with Git forges from the comfort of Magit
- Clojurians Slack Alternatives - An Architect’s View
- Panic to rename Coda - Six Colors
- On blogging, ethics, and thin skin - BrettTerpstra.com
- Tabs to Links: A Mac Utility for Creating Link Lists – MacStories
- Clojure - Threading Macros Guide
- No, the problem isn’t “bad coders” – Sean Griffin – Medium
- Reddit users are the least valuable of any social network
- 2018 MacBook Air Review: Getting the Band Back Together – 512 Pixels
- Scaling back so I can think - Jack Baty’s Weblog
- Blog - Next.js 8 | Next.js
- Why Deliberate Practice Matters for Entrepreneurs
- Daring Fireball: On Covering Webcams
- Cameras and Microphones — MacSparky
- Millennials still recognise songs from music’s 1960s-90s golden age, study finds
- not-paid/not-paid.js at master · kleampa/not-paid · GitHub
- Opinion | Jeff Bezos, Please Release Your Dirty Selfies - The New York Times
- Hook – One app, infinite applications
- Networking tool comics! - Julia Evans
- Write your first React Hook! - Hashnode
- inessential: 08 Feb 2019 10:39:12 -0800
- Why starting a Business as a Software Developer is a Good Idea
- BBC - Travel - Asia’s ‘dead’ lake where boats can’t float
- why I stopped using Intercom – Gingerlime
- TechCrunch er nå en del av Oath
- GitHub - trimstray/nginx-quick-reference: This notes describes how to improve Nginx performance, security and other important things; ssllabs A+ 100%.
- Jeff Bezos on Peter Thiel: ‘Seek revenge and you should dig two graves’ | Technology | The Guardian
- React Hooks, the rebirth of State Management and beyond.
- Pika | Introducing: @pika/pack
- React-Redux Roadmap: v6, Context, Subscriptions, and Hooks · Issue #1177 · reduxjs/react-redux · GitHub
- Performing Async Actions using Hooks – gitconnected.com | Level Up Your Coding
- Build me a LISP — kirit.com
- xkcd: Invisible Formatting
- Mike Monteiro | F*ck You, Pay Me | CreativeMornings/SF
- Apple SVPs - All this
This was one of the first games I downloaded for my Switch. I think it was the first day when I got it and I downloaded a few games.
It is a great game, and I do enjoy it a lot, but I don’t love it. This is the perfect game when you just want to kill some time. I have played a lot of it on the train from and to work.
I think this is one of the games everyone with a Switch should get, because it is not expensive, and you get a lot of entertainment out of it.
The reasons I went for Clojure is:
- It’s the one with the most Hackernews traffic
- Great tools
- A lot of great documentation (and books)
My story with Kindle’s and e-book reading starts with my first modern smart phone. I got a HTC Hero back in 2010, and then I also got a iPod Touch a few months later.
I started to read some e-books on them, and then around when the first iPad came out I ordered a Kindle 3. It’s the last one with a keyboard on it. And I used that until late 2012 when I bought the first Kindle Paperwhite.
That one died a few years later, and I replaced it with a iPad mini. And when that died I didn’t replace it.
Some time after I didn’t have a dedicated e-book reader my e-book reading went way down. So this year I decided to finally get one again.
I went for the cheapest model, the Paperwhite. It is great, the reading experience is awesome, the side lights are great when you read in the dark.
The general feel of the UI is still klunky and slow though. And the process of setting up a new Kindle isn’t great. It comes paired with your Amazon account, but it still takes forever to download the books and all of that.
Anyways. It is a great device, and I recommend having a dedicated device if you want to read more e-books.
I’ve been a huge fan of powerbanks for years. They kind of changed how I think about using battery powered devices. Suddenly you’re not limited to the built in battery or having to sit next to the power outlet while it charges.
I ordered a new powerbank in the beginning of December. It is made by Mophie, it’s just called XXL. The main feature of it is that it is a real USB-C powerbank. You can charge it with your MacBook Pro USB-C power brick and it will take advantage of the power of it. And you can also charge anything USB-C, like the Swithc or even a MacBook.
It also comes with a A style port.
What I love about this thing is that it charges from empty to full way faster than anyhting I have owned. And it can charge anything USB I own. It have made by travel powerbrick situation a lot simpler.
It is amazing how many links I actually read each week, and consider interesting.
- Wasted Creativity in the GNU/Linux Distribution Diversity — text
- The addictive hobby of customizing mechanical keyboards - BrettTerpstra.com
- Introduction · HTTP/3 explained
- git reset vs git revert | Pixelstech.net
- Hacker Tools · hacker tools
- A Review of the iPhone XS Max Smart Battery Case – The Sweet Setup
- The Magic of the Fujinon XF 35mm f/1.4 Explained and Why Fujifilm Should NOT Make an XF 35mm f/1.4 MK II - Fuji Rumors
- GitHub - skywind3000/z.lua: A new cd command that helps you navigate faster by learning your habits
- Common Myths About Porn, Debunked by a Porn Performer - Broadly
- Bye, Bye, Google · Bogdan Popa
- A Cheatsheet for Emacs Smarparens example configuration · GitHub
- Why Semantic Versioning Isn’t · GitHub
- Getting Started With CSS Layout — Smashing Magazine
- CSS layout - Learn web development | MDN
- GitHub - tylerbuchea/graphqless: REST and GraphQL really aren’t that different.
- The Code Barbarian | www.thecodebarbarian.com
- Jack Baty - the Microblog -
- CSS Reference - A free visual guide to CSS
- A Post Mortem on Growth Hacking - Andy Johns
- Gray Areas
- React as a UI Runtime — Overreacted
- GitHub - PiotrGrochowski/Consolas: The Consolas font since I became a designer of it starting at version 8.0. It’s of course open source.
- 2.0.0 — Homebrew
- Emacs and Pairs
- Oracle’s Newest Audit Tactic: Focusing on Java
- Think Different | Boston Review
- CSS: From Zero to Hero - DEV Community 👩💻👨💻
- Scripting News: I wrote this for a friend
- CSS Cheat Sheet
- How To Learn CSS — Smashing Magazine
- Yarn’s Future - v2 and beyond · Issue #6953 · yarnpkg/yarn · GitHub
- Enforcing Code Quality for Node.js – Hacker Noon
- The npm Blog — Continuous Security
- GitHub - lukeed/httpie: A Node.js HTTP client as easy as pie! 🥧
- Jest 24: 💅 Refreshing, Polished, TypeScript-friendly · Jest
- How to Remove Array Duplicates in ES6 – DailyJS – Medium
- What is tree shaking and how does it work?
- Learning React: The Main Concepts - OwlyPixel Blog
- Styled components, the styling library for your React apps you don’t want to be without
I’ve been very skeptical about this app, for a really long time. I never got what the fuzz was about. It is a electron, subscription, freemium app. Talking about hitting all the hate points out there. But it is awesome.
It is a fantatic Git App, but it is not the best App in the world. It is very cross platform.
If you have used a git app for any amount of time, there are probably some stuff annoy yu a little bit. Like dealing with merge conflicts managing branches or even doing simple editing while committing. What Gitkraken seems to be doing is to make things a little bit better all places there are some friction.
Merge conflicts? You get a simple interface with checkboxes. Simple edits? It has a very basic text editor. Changing branches, upstreams and al of that junks are at most two clicks away. I have used it for a couple of months by this point, and I really like it. Not because it is a great app, it isn’t, but because it removes a lot of friction.
- Always run Visual Studio as Administrator – Paris Polyzos’ blog
- Interactive SICP
- The Secret Weapon to Learning CSS | CSS-Tricks
- Distraction-free writing with the Alphasmart NEO2 – Cheri Baker
- Revoking JWTs - FusionAuth
- Simon Pieters on Twitter: “https://t.co/FHI3Dy79Kx in which Mozilla developer @ecbos_ reports and fixes a bug in Chromium because “I don’t really want to deal with compat issues due to this.” 👏 @ecbos_ but also, it’s sad that it’s cheaper to fix bugs in the competition than to deal with compat fallout.”
- Understanding Fragments in React – Bits and Pieces
- The “Bug-O” Notation — Overreacted
- Why Isn’t X a Hook? — Overreacted
- My blog can’t keep up: 500 errors all over – Daniel Lemire’s blog
- Gödel’s Theorem
- Facebook Versus Apple - Ben Thompson - Jack Baty’s Weblog
- 4clojure - Problem Listing
- A Better Way to Develop Node.js with Docker – Hacker Noon
- Lee Unkrich on Twitter: “Letter sent to my Pixar family. ❤️… “
- inessential: Passwords and Muscle Memory
- Oatmeal - Basic blot blogging from the command-line -
- The Great Divide | CSS-Tricks
- A new way of including the weather in my Org Journal - Jack Baty’s Weblog
- Mid-Week Mini: Blackwing 10,001 Review. — The Finer Point
- M.G. Siegler micro.blog mention - Jack Baty’s Weblog
- Fossil: Fossil Versus Git
- Why Are Young People Pretending to Love Work? - The New York Times
- My Losing Battle with Enterprise Sales – Writing by Luke Kanies
- Why you should buy into the emacs platform - Two Wrongs - Jack Baty’s Weblog
- Top 10: JS Compilables - DEV Community 👩💻👨💻
- Jerry Saltz: How to Be an Artist
- PostgreSQL: Backend Flowchart
- Matias Ergo Pro keyboard: long term review - Zoë Smith
- Scripting News: Dave’s howto for MySQL on Mac
- The subscription-pocalypse is about to hit » Nieman Journalism Lab
- Matthew Lang · Benefits of the daily diary
- 42 performance tips for Ruby on Rails • Magnus Skog
- Journal 2019.4 - spec, surveys – Inside Clojure
- The Emacs C API | Irreal
- Overcast 5.1 with Instant Search – Marco.org
- Deploy your own Serverless service on your own infrastructure
- Oatmeal - A love letter to Blot, one week in -
- Why You Should Buy Into the Emacs Platform
- Tuesday Toolset, Scratch Notebook Edition — The Pen Addict
- Apple blocks Facebook from running its internal iOS apps - The Verge
- What I’m using Emacs for - Jack Baty’s Weblog
- Cheri Baker -
- Awesome List of Developer Podcasts - DEV Community 👩💻👨💻
- How to Write Fast(er) Emacs Lisp « null program
- FAQ · hlissner/doom-emacs Wiki · GitHub
- Revisiting Clojure testing - quanttype
- An Anti-Facebook Manifesto, by an Early Facebook Investor - The New York Times
- Functional Programming Fundamentals
You can write code in many different ways, some of them are more testable than other, even though many of the less testable ways are not bad or anyting like that. Like mutating a reference value like when something takes a output pointer etc. Or having most of the code in the controller.
None of these are “bad”. But it makes it harder to write unit tests for it.
If you think something is good, then try to make it as easy as possible to do it.
I don’t do test driven development, because I don’t think it is the best way to work. But I do think that writing unit and integration tests should be a part of the process, because having good tests and coeverage will save you time in the long run. And it is a must if you want to move to the next level and get into automated deployments.
If you start with a typical C# .NET Core REST API. Then you could do everything in the Controller. It would work well. And the code could be clean. Probably a little or a lot of duplication of code but still it could work.
The problem with this approach however is that there is nothing you can unit test, because everything is tied together. Then you are limited to integration tests.
What I usually do is that I take the Controller and I limit it to validating input, checking permissions (ideally done with attributes and filters) and calling a “service”.
The services takes input from the controller and is in charge of checking all the right things, doing all the correct operations and preparing the data structure the API should return.
Then all SQL stuff, and all the Redis stuff etc are put into repositories. And the classes that takes data and turn into something else are done in builder classes.
All of this are tied together with as many static methods as possible (where it is possible) and dependency injection.
The advantage of this approach is that you can actually write tests for the controller without it showing up in the database. And the same goes for the service and the builders. Because you can just fake the dependency injection crap.
If you want to have a project where most of the code is covered by tests, then you need to write the code in a way where it is possible.
- Hooks at a Glance – React
- How I built an async form validation library in ~100 lines of code with React Hooks
- Functional Programming Fundamentals
- transitive-bullshit/functional-typescript: TypeScript standard for rock solid serverless functions.
- Yarn’s Future - v2 and beyond · Issue #6953 · yarnpkg/yarn
- Multiple Class / ID and Class Selectors | CSS-Tricks
- Atom, Chlorine, and Windows - An Architect’s View
- Programming Fonts - Test Drive
- EBay (EBAY) CEO Devin Wenig Must Show Growth or Break Up Company - Bloomberg
- Intro to React Hooks | CSS-Tricks
- Interactive Text Animation with React Hooks – Bits and Pieces
- ‘Why BEM?’ for CSS in a nutshell
- What is let*? | articles.inqk.net
- Docker, React, and Security
- Every developer should have a blog. Here’s why, and how to stick with it.
- Is DocumentDB Really PostgreSQL? | EnterpriseDB
- Upgrading Bash on macOS – ITNEXT
- Switching to Windows | Excursions
- When to use loop/recur in Clojure?
- Now that I’ve deleted [Social Network]… - Jack Baty
- Docker, Homebridge, and My Journey Through 2014 — Liss is More
- Jeffrey Abbott’s Mac Setup – The Sweet Setup
- Postico – a modern PostgreSQL client for the Mac
- An Overview of JSON Capabilities Within PostgreSQL | Severalnines
- donavon/use-dark-mode: A custom React Hook to help you implement a “dark mode” component.
- joshwcomeau/react-retro-hit-counter: 🆕 Go back in time with this 90s-style hit counter.
- reduxjs/redux-starter-kit: A simple set of tools to make using Redux easier
- How To Set Focus On Input After Render In React 16 - React Tips
- Getting started with GraphQL, React and apollo client | Reactgo
- Parashuram’s blog: React Native’s new architecture - Glossary of terms
- How React Native constructs app layouts (and how Fabric is about to change it)
- Facebook manager quits after being ‘harassed’ over views on diversity
- A Complete React Boilerplate Tutorial — From Zero to Hero
- Don’t eject your Create React App – versett – Medium
- Bauhaus at 100: its legacy in five key designs | Art and design | The Guardian
- Reading in 2018 - Jake McCrary
- How to turn AirPods into hearing aids
- TACHYONS - Css Toolkit
- BEM — Block Element Modifier
- Bang & Olufsen H9i Review
- Attacking Jack Dorsey - Jack Baty
- swift-sh - NSHipster
- 25 years of coding, and I’m just beginning - DEV Community 👩💻👨💻
- Maintenance mode
- Open Standards, Open Web
- lukeed/sockette: The cutest little WebSocket wrapper! 🧦
- kudos-dude/react-best-practices: A comprehensive reference guide to kickstart your React architecting career!
- Daring Fireball: The R-Word
- Slack’s new logo is a penis swastika / Boing Boing
- Dashboard UI refresh - The GitHub Blog
- Grid Garden - A game for learning CSS grid
- Flexbox Froggy - A game for learning CSS flexbox
- Signal v Noise exits Medium - Signal v. Noise
- How Facebook’s P.R. Firm Brought Political Trickery to Tech - The New York Times
- Daring Fireball: Pentagram’s ‘Range of Possibilities’ for Slack
- Apple launches Smart Battery Case for iPhone XS, iPhone XS Max, and iPhone XR | iMore
- 99% code coverage - Do we have a good safety net to change this legacy code? | Rachel M. Carmena
- Unix Error Messages - GNU Project - Free Software Foundation
- Storybook 4.1: Need for Speed – Storybook – Medium
- Dan Abramov on Twitter: “Heads up: firstname.lastname@example.org and email@example.com are out — for people who want the latest build with Hooks enabled. (🚧The warnings about using alphas apply.) We’re back from vacations and are focused on getting Hooks into a stable release as our biggest priority.”
- enaqx/awesome-react: A collection of awesome things regarding React ecosystem.
- Say hello, new logo | The Official Slack Blog
- Quotes for developers
- Microsoft Pledges $500 Million for Affordable Housing in Seattle Area - The New York Times
I’ve done some changes to my site, so if you were subscribed to my feed you should update to the new url: http://feedpress.me/hjertnes
Zelda Breath of the Wild is a nuts game. It was the first game I got for my Switch, and it is one of those games I obsess about in certain periods.
It is a really hard game, and a big game. The thing about Zelda is that it is a game where you, after the first part, can do shit in more or less what ever order you want. This means that a lot of it is to figure out stuff to do.
It is not like Pokemon where you have a order, and a lot of side stuff. In Zelda there are some orders you have to do stuff, but there are also a lot of variations to the order you can do the different things.
In order to make stuff a little bit easier on myself I got this huge ass coffee table book on Zelda.
If you’re into Zelda, I’d get it. Both because it is cool, and because it makes the game easier and less confusing.
This list contains 5 awesome games to get for your Nintendo Switch, in different categories.
- Your first game: Super Mario Odessy: not super hard, but freaking awesome.
- Your second game: Donkey Kong: very hard but a lot of fun.
- The best: Zelda: I think this is one of the best games Nintendo have made, if not the best.
- Interesting: Splatoon 2. It is so awesome.
- Indie: Mounument Valley: this game is so good. A masterpiece by one crazy guy.
It’s a little bit weird, but I always think I don’t read much in Instapaper, but when I empty out my likes it always turns out to be a lot more than I thought.
- Aliasing module paths in Node JS | Arun Michael Dsouza
- The Book List: David Bowie’s top 100 reads – from Lady Chatterley’s Lover to 1984 | The Independent
- nREPL: Beyond Clojure | Meta Redux
- 2018 Recap - TOM BIHN Bags Blog
- Boot — (future (boot)) – degree9 – Medium
- Daring Fireball: On Getting Started With Regular Expressions
- Journal 2019.2 - survey, spec – Inside Clojure
- Real World core.async
- TypeScript 2.8: Conditional Types — Marius Schulz
- ChrysaLisp/README.md at master · vygr/ChrysaLisp
- Pinoy Noir on Twitter: “UX designer and software engineer at morning standup… “
- The npm Blog — npm, Inc. has a new CEO, Bryan Bogensberger
- thank u, next
- How to Choose a Startup to Work For by Thinking Like An Investor - Triplebyte Blog
- KidkArolis/jetpack: 🚀 Jetpack – webpack made more convenient.
- CSS doesn’t suck - Andy Bell
- Stepping away from Sass
- DIY Redux with RxJS: Part 2 – Hacker Noon
- The Most Common XSS Vulnerability in React.js Applications
- Why I Picked Clojure - DZone Java
- Neural Networks and Philosophy of Language – Towards Data Science
- The Emacs Year in Review · Emacs Redux
- A message to you from Mule
- Daring Fireball: Codea’s iOS Menu Bar
- Scripting Guide - Halo CE: Modding Tutorials - Open Carnage
- leoliu/easy-kill: Kill & Mark Things Easily in Emacs
- Re-frame: The Guide to Building Blocks
- CIDER 0.20 (Oslo) | Meta Redux
- The Clojure Style Guide Redux | Meta Redux
- SOLID Principles in C# - Liskov Substitution Principle - Code Maze
- 🐻📝 A sneak peek at what’s coming for Bear
- do’s and don’ts – Digital Digressions by Stuart Sierra
I have been thinking a lot about how to share links over the last couple of months. My old style was to add a post for each link. The reason I used to do that was because it started as a Micropub like, and I just kept doing it after I moved away from using Micropub. I have decided that I as a reader would prefer that someone collected them and posted it in one larger post instead of many smaller ones.
The way I consume content online these days is that anything that looks even a little bit interesting are sent to Instapaper, and the stuff I think was interesting or cool are marked as a favourite there. So what I am going to do is that once a week I’ll empty out my likes from Instapaper and share them here.
- Introducing ExistAPI: An open-source Swift framework
- 1.9.0 — Homebrew
- Things I Don’t Know as of 2018 - Overreacted
- React closes out dominant 2018 - Hacker News Hiring Trends (December 2018)
- Heroku in 2018: Advancing Developer Experience, Trust & Compliance, and Data
- Lessons Learned From a Year of Fighting With Webpack and Babel
- linux-noah/noah: Bash on Ubuntu on macOS
- divan/txqr: Transfer data via animated QR codes
- Bundler: Announcing Bundler 2.0
- New year, new GitHub: Announcing unlimited free private repos and unified Enterprise offering | The GitHub Blog
- WeWork’s SoftBank News Is a Visit From Financial Reality - Bloomberg
- Monorepos and the Fallacy of Scale
- Monorepos: Please don’t! – Matt Klein – Medium
- Bash-5.0 release available
- The notebook situation so far in 2019 – Jack Baty
- Bill Gates Just Published a Letter Urging US Leaders to Embrace Nuclear Energy
- Rose Orchard’s Mac Setup – The Sweet Setup
- Improve React Performance using Lazy Loading💤 and Suspense
- jorgebucaran/fisher: A package manager for the fish shell
- fish: Tutorial
- Sex Ed Is a Basic Human Right We Deny to Teens Every Day - Broadly
- Daring Fireball: Steve Jobs and Apple’s Last Previous Earnings Warning
- Daring Fireball: Apple’s Terrible No Good Very Bad Earnings Warning
- 2018 review
- latacora/caro: If jq and xargs had a baby
- clojure.spec for functions by example
- 10 life-changing minutes with Clojure (Windows) - DEV Community 👩💻👨💻
- A tmux Crash Course
- liquid/README.md at master · mogenslund/liquid
- 22 SSH Examples, Practical Tips & Tunnels | HackerTarget.com
- CIDER’s Orchard: The Periphery | Meta Redux
- CIDER’s Orchard: The Heart | Meta Redux