HNHacker News
TopNewBestAskShowJobs

mvindahl

414 karma · joined October 12, 2016

Too verbose.
submissionscomments
mvindahl··on Porsche introduces blockchain to cars
> "Taking 1.6 seconds, the process of opening and closing the car via an app is up to six times faster than before. In addition, efficient cryptographic encryption takes place."

A remote car key. You've invented a remote car key.

mvindahl··on Slack is the opposite of organizational memory
Yeah, I probably did. The "personal filter bubble" thing is very much how google does it. I don't know the details about pagerank but I imagine that they are constantly tweaking their secret sauce to increase revenue and that they would rather keep the juicy parts secret than having them described in details in a patent. Also, I'd imagine that other search engines, such as Bing, have developed similar algorithms although I'm sure thay take great care not to infringe upon the pagerank patent.

Disclaimer: Purely conjecture on my part. No particular knowledge of patent law, and only a high level understanding of the pagerant algorithm.

mvindahl··on Facebook lost around 2.8M U.S. users under 25 last year
But it doesn't call for a blockchain to address. It calls for a subscription based social network.

It wouldn't need to be expensive either to keep the servers running. There would be no flashy advertising displaying links that you would never click anyway and there be no sneaky algorithms trying to maximize your clicks or your attention since that would no longer contribute to the company results.

Everything would be far simpler. Getting there is less simple.

mvindahl··on Slack is the opposite of organizational memory
I think that if search worked, the Wiki could be a great hub of information.

For the search to work, it should make an effort to get to know you, that is, try to track which pages you have previously edited or opened, or maybe it could access information about which project you are currently assigned to in JIRA or which internal repositories you have recently committed to in git. Also, which pages are popular, which pages are mainteined, etc. This would enable its search engine to filter bubble you and provide far better results that I currently see Confluence doing.

Further, it should be able to contain pages which are just indexed mirrors of other resources. Some pages could be simply uneditable mirrors of markdown files in your repository, making it possible for developers to keep documentation alongside the code if this makes more sense to them. Other pages could be mirrors of Word documents or Excel sheets of PDF files on shared drives or where the company likes to keep this stuff. All of this stuff would be thoroughly indexed by the wiki and would show up in search results.

So I guess what I'm proposing is that wikis become an aggregator of information more than a single store of information. And that they really, really nail the search part.

mvindahl··on Slack is the opposite of organizational memory
True dat. Writing no documentation is also a bad path.

Personally I've come to favor keeping the technical documentation close to the code. That is, keep it as markdown files and check it into git. They are just as easily hyperlinked to as a wiki page on the bitbucket web interface (or whichever system is used). The main README.md should contain information on how to set up the dev environment. Other README.md files, located in the folder root of modules, provide more specific information.

Documentation of a less technical nature may still find a natural home in the Wiki, since we also need a place where various managers, testers, salespeople, support people, etc. can maintain their documentation.

mvindahl··on Slack is the opposite of organizational memory
The last three corporate wikis that I have worked with have tended to contain some very useful and well maintained sections detailing stuff like developer machine setup and tooling.

They have also contained large amounts of information from separate projects, none of it which was relevant to my task at hand, and on top of that they have contained a wasteland of obsolete pages, the contents of which was trusted by no one.

I don't have a problem with the concept of a Wiki per se but I do have issues with treating them as a magical virtual haystack on top of which you can shovel information and from the midst of which you can painlessly extract needles.

mvindahl··on Slack is the opposite of organizational memory
The last couple of places that I have worked also had a number of sensible rules in place to ensure quality. E.g. - never commit directly to master, always create a PR from a branch - always make sure tests are green before merging - branches should be traceable to JIRA IDs - checklists in JIRA - etc.

Apart from the checklists, which people tend to skip, most of it makes sense. Running everything through a pull request is a good example of something which slows down the process but which is still worthwhile IMHO.

That being said, I really dislike when too many of these constraints are enforced by the technology. In coding, like in driving a car, there are times when common sense overrides traffic rules. Sometimes, even in the best and most diligent teams, the build server turns red. In that situation you just need to quench the fire ASAP to keep it from spreading. You don't want to create a task in JIRA, you don't want to create a branch, you don't want to involve your colleagues in pull requests, and you don't want to wait for a hour for unit tests to pass. You just want to apply the simple fix or revert the commit.

And that's why I prefer moderate social pressure over some algorithm enforcing stuff. A good team will know why the rules are there, they'll be professional enough to stick to them 99% of the time, and they'll also be professional enough to break them the last 1% of the time.

mvindahl··on How to Work Out What to Charge Clients
I work as a freelancer on six month contracts, embedded into regular development teams at customer sites. Before that I have held regular SW developer positions.

A bureau helps me out finding contracts so I spend very little time on self promotion. Also, I don't spend more money on equipment than I would otherwise have done (although, with tax deductions and all, I buy nicer equipment these days). Income tax is unavoidable either way.

I'm charging market rate, which is about 1.5x to 2x what I would get in a regular job with the same amount of vacation and sick days. On top of that, the bureau takes a cut, the details of which I don't know (I invoice them, and they invoice the customer).

On the negative side, being a freelancer is less secure and I may lose income between contracts. This hasn't happened to me yet, and in the current job market, it doesn't feel like an overhanging risk. I think the pay compensates.

Disclaimer: Danish job market, YMMV

mvindahl··on Governments Worry That Cryptocurrencies Could Be the ‘Next Swiss Bank Account’
I don't think any "real" countries have any interest in cryptos becoming a competitor to their respective national currency. That would be giving away control over the economy, and why would any government want to do that? Thus I think we'll see both South Korea and Japan taking an increasingly hostile stance towards cryptos alongside all other developed countries.

I could imagine, on the other hand, freeloader countries like the Cayman Islands adding cryptos as a supported way of stashing away money. Thus, they could become a gateway between the legit economy and the crypto economy in the same way that they are already a gateway between the legit economy and money raked in by tax evaders, drug lords, and dictators. Thing is, the crypto part doesn't really add any value to their offering. And the real question with respect to Cayman Islands etc. is why we don't simply outlaw bank transfers back and forth from these places.

mvindahl··on Write dumb code
Also, unlike the for loop alternative, it clearly expresses the intent. "I am filtering this array, using this condition". The functional programming style really shines here, and it shines even more whan you start chaining the operations.

I guess the rule of thumb is to write code to most clearly express the intent of it. Often harder said than done but a good goal to strive for.

mvindahl··on Governments Worry That Cryptocurrencies Could Be the ‘Next Swiss Bank Account’
Over the years, a lot of governments have outlawed offshore online gambling. They mainly do so by proxy, by making it illegal for banks or credit card providers to transfer money to unapproved gambling operations. In addition, to offer an alternative, most governments allow some kind of gambling to run in the country, but these are regulated and taxed.

I guess there are always ways to circumvent these government regulations and put your money in an online casino in Barbados or whereever but it takes a special kind of person to want to go through the hassle.

In very much the same way, governments could choke the flow of real money in and out of cryptocurrencies if they wanted to. They are probably planning to do so but it hasn't been on the top of their priorities just yet, the crypto bubble being more of an annoying mosquito than a threat to the economic stability. A government crackdown won't mean that crypto currencies will go away but it will be obvious to everyone that they'll forever be RPG play money, and only a small amount of enthusiasts will want to hold them. Prices will adjust accordingly.

mvindahl··on Governments Worry That Cryptocurrencies Could Be the ‘Next Swiss Bank Account’
Everytime someone trades fiat for cryptocurrency, someone else trades the same amount of cryptocurrency for fiat. Probably the first person thinks that fiat is overvalued, and maybe the second person thinks that the cryptocurrency is. The future will tell who is making the right bet.

On a side note, I've noticed that a lot of crypto people are pretty obsessed with the USD value of whichever cryptos that they may own. "Make fun all you want, my ROI in 2017 was xx%". Well, good for you, and happy that we have now established that you still use real money to measure value, and that you are in it for the short term profit, not for some abstract, idealistic purpose.

mvindahl··on One Bitcoin miner is buying 20,000 16nm wafers from TSMC per month
I think that as the value of bitcoin decreases, a lot of the mining will stop for want of profitability. Right now it's still Klondyke days and everybody is out there with his pickaxe. In a few months, slightly used pickaxes, or in this case GPUs, will be cheap and plentiful.

It's stupid while it lasts bit fortunately it won't. Bitcoin has no practical utility, neither as currency nor as a store of value, and you can't pick the blockchain apart to extract anything of value. Bitcoin is like my dad's books of completed sudokus: Proof of hard work but not of any value to anyone.

ATM Bitcoin is approaching the $10K mark from above. The press will soon be writing stories about people who lost this-and-this-much. The stupid money which fueled the bubble will dry up.

mvindahl··on JS Paint – A web-based MS Paint remake
On Mac, I personally like Pixelmator for pixel level editing. It feels a bit like the old versions of Photoshop which always did the job for me. At thirty bucks, it's also pretty affordable.
mvindahl··on Convert React JavaScript Code to TypeScript with Proper Typing
I really like Typescript. It's really well designed and gets typing right IMHO: Strong enough to help you where it matters, flexible enough to get out of the way where it doesn't.

Also, type definition hell is definitely a thing. Trying to match types to code often makes me feel like trying to match subtitles to a movie. Off to podnapisi, pick what looks like the best subtitles, fire up VLC, oh shoot, subtitles are ten seconds off, timeshift subtitles to match, watch movie until we reach the first director's cut scene, now subtitles are off again and wife in open rebellion. Which is probably the main reason that we subscribe to Netflix these days instead of trying to bootleg our way through. I'm digressing.

Anyway, it seems to me that after they started adding typescript typings to npm, everything has become more sane. At least for the more popular libraries, I rarely run into typing hell anymore. Less popular libraries, yeah, sometimes there is no typing, or sometimes the typing may still be off, but then I just give up and use "any". And these cases seem increasingly rare.

mvindahl··on Dude, you broke the future
> Will corporations develop religion

According to the Civ1 tech graph, which I consider the authoritative resource, they just need to develop philosophy and writing in order to research religion. They definitely got the writing part nailed. Also they are dabbling with philosophy. I think they'll make it.

On a slightly more serious note, some people (yep, I have read Sapiens) would argue that religions, ideologies, and corporations are all variations of the concept of shared belief systems. That is, the human ability to collectively make stuff up and pretend that it's real. Thus, corporations and religions are more or less the same thing. It's an interesting way to look at it IMHO.

mvindahl··on Spamnesty – A Bot to waste spammers' time
An even more beautiful idea would be if you could let your phone provider run the bot. Just press the magic button and the spam caller gets transferred to the upside down in the phone company data center, and your phone line is freed again (like hanging up, from your point of view). If he gets mad and calls back, Lenny picks up the phone. I don't know how billing works between phone companies but maybe your phone company could even make a profit from keeping spammers bouncing around in virtual Lennyworld. Which would be a nice incentive to do R&D on improving and diversifying the bots.
mvindahl··on Spamnesty – A Bot to waste spammers' time
Gamifying this kind of thing would be intriguing. I'm imagining some server that would work like spamnesty, i.e. you could easily let it handle your spam. But I'm also imagining the possibility of registering as a bot creator and plugging in your own algorithms. API-wise it would be super simple, much like creating a chatbot for Slack, but the logic could be as advanced as one would like. The server would then score the algorithms on established metrics such as "average number of responses" or what one might dream up. There would be leaderboards and stuff.

It would all work nicely until the spammers start creating their own bots to keep our bots busy. Bots would keep inane conversations going forever.

Then, I presume, Skynet.

mvindahl··on Why I am still a Bitcoin Maximalist
"The working class should seize the GPUs."
mvindahl··on How the Winklevoss Twins Found Vindication in a Bitcoin Fortune
Also, selling this many bitcoin at this time is a delicate thing. The sane thing to do is offload the tulip bulbs before the market collapses, yet offloading all of the bulbs at once might flood the market and trigger the collapse.

No matter what, they'll not be able to exchange all of their imaginary wealth to real wealth but they'll definitely make a killing. Unless they really intend to go down with the ship which would be poetic in its own way.

mvindahl··on Introduction to WebAssembly: why should we care?
Quoting from the article: "It will make developing for the web easier and more efficient."

Um .. no. It will make code execute faster but it will be more work to write and maintain.

For most of the daily bread-and-butter code that we produce, speed is not awfully important but clarity is. In this equation, you gain a great advantage from stuff like garbage collection, functional programming, and a well equipped package manager, i.e. Javascript is a pretty good choice (and Typescript an even better choice).

On the other hand, if you're writing very specialized algorithmic code which will be executed a very large amount of times, then WASM and fine tuning is in place. As cool a technology as WASM may be, a very small fraction of our code is like that.

My prediction is that WASM will find its place, mainly within some of the more popular libraries available on npm. If there is anything to gain from rewriting, say, parts of ReactJS in WASM then it will eventually be done. But it will be totally transparent to the user of said library.

Taking a view at the server side landscape is also instructive. There is a plethora of languages which execute faster than JS, yet nodeJS thrives. So it doesn't seem like people are eager to ditch JS. Hater's gonna hate, of course.

mvindahl··on Former Facebook exec says social media is ripping apart society
> It's an interesting thought experiment to imagine what the world might look like if people were held accountable indefinitely for the externalities caused by the work they conduct.

I don't think it would be practical to enforce, nor necessarily very fair. Would we want to, say, drag the coal miner into court over his personal contribution to global warming? The world is a tangled web of externalities and none of us would be in a moral position the throw the first stone.

That being said, there is definitely a void of responsibility in social media.

Traditional media is a useful frame of reference. Let's say that some journalist invented a totally bogus story involving a pizza restaurant, a child-sex ring, and a number of named persons. I think this journalist would be hard pressed to get this past his editor and into print, and with good reason, because the editor is responsible for the validity of the newspaper, and so is the newspaper itself. The most likely outcome would be a lawsuit which they'd lose big time.

Back to social media. Let's have a look at Facebook. This is a tech company, not a media company, so they are not really responsible for their content. The users are kind of responsible but a lot of users are fake anyway so no responsibility there either. Behind it all are The Algorithms, and The Algorithms are not really responsible either, it's just convoluted AI type stuff which no one really understands. But let's rewind a bit. Is Facebook a tech company or a media company? Being a tech company is really convenient in terms of washing their hands but should we let them get away with it? Or should we redefine them as a media company and let them own the responsibility of the content which brings in users and ad money? Could the buck land in any other place when you think about it? Sure, it would be a hassle for them, they'd have to employ a lot more people to monitor and moderate content, they'd need to put mechanisms in place for better validation of identities, and they'd be less profitable. But that would be their problem to deal with. Free passes are not always forever.

mvindahl··on Bitcoin ‘Ought to Be Outlawed,’ Nobel Prize Winner Stiglitz Says
There were always options to hedge against that eventuality. E.g. property, stocks, Krugerrands. Sure, your could add Bitcoin to that list but all in all I'd rather have a nice home that I've paid down than I'd own a pile of volatile cryptocurrency. YMMV.
mvindahl··on Bitcoin ‘Ought to Be Outlawed,’ Nobel Prize Winner Stiglitz Says
Really? 1000+? That's crazy.

There is a great irony in the fact that cryptocurrencies are designed to be finite in size to ensure their value, yet the number of potential cryptocurrencies in the world is pretty much infinite.

mvindahl··on NPM: Super fast algorithms for typescript
Hello Bubblesort, my old friend ..
mvindahl··on The Windows Shutdown crapfest (2006)
Entertaining blogpost. And reading the 2006 comment thread below is also pretty entertaining. All of the comments seem to be about ten years old. Most of them tend to agree that Microsoft seriously botched this feature. But there is also a very vocal minority who argue that Joel is a moron who should shut up and the thing that makes Windows so great is its flexibility, and all those 15 menu options make sense, and people should just shut up about their Macs and deal with the fact that Mac has just a teeny weeny market share.

Well, fast forward to 2017. MacBooks are all over the place. And when trying to shut down Windows 10, I'm faced with just three options: Sleep, Shut down, and Restart.

Vista really was the nadir of Microsoft in terms of UX, no matter how furiously some people contested this back in the day. And Joel was spot on.

mvindahl··on Elon Musk says AI could lead to third world war
But the same could be said of any snippet of bug-ridden computer code if we let computers run our ICBMs (and to some extent we do). Doing really stupid and self-destructive stuff doesn't require a lot of intelligence. Doing semi-random stuff, well .. a lot of code that I write seems to behave that way until I get it somewhat debugged.
mvindahl··on Elon Musk says AI could lead to third world war
Agreed. Large nuclear arsenals powered by glitchy software is a bigger concern. It's chilling how close humanity has been, on several occasions, to turning its planet into dust.g.
mvindahl··on Async/Await will make code simpler
I really like the succinctness of async/await, and I feel like it's the last step of a long journey. The single threaded callback based style of Javascript has always been a mixed blessing. It has allowed for great performance, and it gives better control that having to juggle threads, but it was all to easy to get into deeply nested callback hell.

If you see design patterns as indicators of language smells -- and it's a useful perspective IMHO -- then in this case callbacks were the smell and the various promise libraries were the design patterns. It's a nice thing that promises and their async/await sugercoating have fairly rapidly made it into the core language.

Now, for the one thing that I don't like about async/await: it's deceivingly simple and it's bound to fool both novice programmers and programmers arriving from threaded languages. If you don't understand the underlying concept of promises, you'll easily end up writing suboptimal code (e.g. executing stuff in sequence which would be better executed in parallel).

Still, a net win.

mvindahl··on Hard Lessons in Living Off the Grid
As I read the article, he went off grid to show everyone else that it was a viable idea. Meanwhile, the island power grid did some pretty awesome things with solar cell parks and battery storage, rendering his pioneering efforts futile. To his credit, he seems fully aware of this.

The whole story thus boils down to a nice, illustrative all-other-things-equal experiment of how off-the-grid self sufficiency stacks up against a renewable energy power grid "done right". The latter winning by a large margin.

That being said, there are plenty of sunny places on Earth where the power grid is dysfunctional, or is hard to access. Those would be more obvious places for DIY solar panels.

← PreviousPage 2 of 6Next →