HNHacker News
TopNewBestAskShowJobs

freework

1,185 karma · joined September 11, 2012

submissionscomments
freework··on Server Migration with Zero Downtime
I've done this many times with fightlogg.in

This is the process:

1. Set up new server on new host (nginx/postgres/python/everything than needs set up) 2. Wait until 3AM or whenever traffic is at a lull. 3. Put up a message saying something about "server migration in progress". 4. Run pg_dump of the database on the old server. 5. scp that dump over to the new server 6. pg_restore that dump to new database server 7. Add an entry to new server's pg_hba.conf to allow connection from old server 8. change old server's app config to use the new postgres server (instead of localhost) 9. Move over A records.

The only downtime is the amount of time to do steps 6, 7 and 8. My entire DB is less than 1GB so it takes like 3 minutes to migrate.

This is made easy by me only having one datastore to move over. If the project has more than one datastore, it would probably take all day to migrate everything over.

freework··on Gravit – Open-source design tool
... but Joel Spolsky said you should never rewrite code ever ever ever...
freework··on Ask HN: Has anyone ever tried building an OS that doesn't use files?
I'm not building a filesystem. I'm building a non-filesystem. Not metadata jammed into a filesystem. A whole new system that is used by the end user in lieu of the filesystem.
freework··on Ask HN: Has anyone ever tried building an OS that doesn't use files?
https://github.com/priestc/LibraryDSS thats an old repo from when I tried to write code for this about a year ago. Most likely if I ever get around to working on it again, I'm going to make a new repo for it.
freework··on Ask HN: Has anyone ever tried building an OS that doesn't use files?
A Library Item is an abstraction above 'file'.

The user constructs a query then sends it to a server, the server returns a list of items that match the query. For instance this may be a query:

INCLUDING artist contains "Pink Floyd"

and the results will look like this:

[ {"artist": "Pink Floyd", "title": "Another Brick In the Wall", "mimetype": "audio/mpeg", "album": "The Wall", "url": http://drive.google.com/blahblah.mp3" etc }, {"artist": "Pink Floyd", "title": "Money", "mimetype": "audio/flac", "album": "The Wall", "torrent_url": http://drive.google.com/blahblah.torrent" etc. }, {"artist": "Pink Floyd", "mimetype": "image/jpeg", "album": "The Wall", "url": http://drive.google.com/albumcover.jpg", "purpose": "album artwork" etc.} ]

You can add more to the query to filter out the content you don't want. The query language is much like a SQL WHERE clause. The query language is meant to be super simple and something your grandma could figure out.

The app then can retrieve the actual file from the url. The end user has no idea about the underlying file crap.

freework··on Ask HN: Has anyone ever tried building an OS that doesn't use files?
What I'm buoding is most definitely not a "filesystem". Those use filenames and folders and crap like that. My system does away with that.

What you said about a glorified metadata search is right on.

Some people share devices, but most people we share with use other devices.

I'm glad you think its silly because all great things have haters (bitcoin, justin bieber, etc.)

freework··on Ask HN: Has anyone ever tried building an OS that doesn't use files?
Git is pretty much only for versioning (specifically annotation of versioning). My system is more for indexing/sharing data.
freework··on Ask HN: Has anyone ever tried building an OS that doesn't use files?
My system is only meant to be used by humans. Software will still use the traditional filesystem.

Instead of the user supplying a filename/path for new content, they submit arbitrary metadata. When retrieving content, they query via a language called LQL (Library Query Language).

Basically the system works a lot like ID3 tags for mp3 files. 'Arbitrary metadata' is a lot like the fields for 'title', 'date', 'album', etc except they are arbitrary (you can use any set of key/value for metadata items)

Libraries can connect to other libraries. A 'Library' is much like an email inbox, except its one user per machine instead of multiple users per machine. Each library is 'addressed' via a domain name. All communication between libraries is done through HTTPS.

Traditional filesystems use a permission system that is very archaic. In 1960 it was common for there to be multiple users on one machine, but in 2014, everyone has their own machine. File permissions are useless, since I'm th one person who ever uses this computer. "Permissions" in the 2014 sense is which of my facebook friends gets to see these photos.

freework··on Wikimedia Foundation now accepts Bitcoin
Willy wasn't the only reason bitcoin bubbled a few months ago
freework··on On Mining
One thing people keep forgetting: GHash.io is not a single entity. GHash is made up of miners who choose to be there. It is very easy for a miner to switch to another pool.
freework··on It's Time For a Hard Bitcoin Fork
The difference is that if GHash.io launches an attack, miners have the choice to move to another pool. If the US government inflates the currency (yet again) there is nothing to do.
freework··on Why Nerds are Unpopular (2003)
The word he means to use is "me". He says "nerd" in its place in the article. He's writing about why he wasn't popular in school.
freework··on Syncthing: Open Source Dropbox and BitTorrent Sync Replacement
One thing I've never gotten about these "syncing" apps...

Lets say I install this software on my phone, my desktop, and my work computer. I have 100+ GB free on my work computer and my home desktop, but I only have 16GB on my phone. If I add 20GB worth of movies to my sync folder, its going to fill up my phone.

freework··on Uncle Bob on DHH: Monogamous TDD
Great music comes from great musicians, not a mediocre musician following some kind of magical methodology. Great birdhouses are build by great woodworkers, not crappy woodworkers using a fancy $1000 drill. Great software is created by being written by great software developers.

If you're good enough to write a test suite that is so well done that all test pass means with 100% certainty that your project is 100% bug free, then you're probably an experienced enough developer to write that project without any tests and still have it work well.

I think TDD works best as a lesson.. If I were a college professor, I'd have my students write a class project where they had to do TDD. It teaches the students to only write code if there is a reason for writing it. Just like once you learn how to ride a bike you take off the training wheels, once you learn how to write software, you can leave behind TDD.

freework··on Why Do Decent People Accept Bitcoins?
this article was written specifically to piss of bitcoiners
freework··on Bizarre Shadowy Paper-Based Payment System Being Rolled Out Worldwide
> They were not hair-brained ideas established by anonymous individuals engaged in private debate outside of the forums of democracy

maybe not when they were founded, but thats definitely what the banking system has become in the year 2014...

freework··on Adrian and Jacob retiring as Django BDFLs
I don't have a problem with the pony either, but there is another community that uses the pony, and the Django folks would rather not associate with.
freework··on Official press release on the Silk Road arrests
Silk Road didn't sell anything, they were just the marketplace.
freework··on It's practically impossible for regular people to buy Bitcoin
localbitcoins.com
freework··on Bitcoin Reaches 1000 USD
If you can find a place to buy a macbook directly with bitcoins, you'll be OK. Selling BTC for dollars is whats tricky, as it requires money to pass through Gox's bank account. The banks don't really like BTC that much, so it's a pain. I've bought things directly with BTC before and it's an easy process.
freework··on Ask HN: For Bitcoin to be ubiquitous, what must happen?
Bitcoin needs to be understood before it can be used by someone. People's ability to understand bitcoin is the current bottleneck to bitcoin adoption.
freework··on Pass the Rap Genius Tech Interview, Get $1,000 Cash
> Is it a frat house?

Most startups are

freework··on Future Internet aims to sever links with servers
This sounds kind of like my project, LibraryDSS: https://github.com/priestc/LibraryDSS although, I'll probably never finish it

I was disappointed when the pursuit website turned out to be nothing but design documents and "mission statements". There doesn't seem to be any actual software anywhere...

freework··on Trial week: Our hiring secret
Its always funny how every time one of these articles gets written, the author mentions a small percentage of people (in this case 5%) who refuse to go along with the process. What they always seem to miss is that they are the top 5%. In other words, the ones who you want to hire. This goes for any whiz-bang candidate filtering mechanism.
freework··on Want people to trust you? Try apologising for the rain
Thats what I thought when I read the article too. I feel the same percentage of people would give their phone up if you said "So how about those [local sports team]".
freework··on Oboe.js: reacting to Ajax/Rest quicker by not waiting for it to finish
This is great for that 1 time out of 1,000,000 when you have an ajax call that would benefit from a tool like this. In the overwhelming majority usecase, this oboe.js thing is not going to be a "plug it in, automatically webscale" type of optimization. I'm not trying to rag on the authors of this project, but the wording of this submissions is going to lead noobs to mis understand the benefit. The authors should instead emphasize the usecase where an actual benefit comes out of using this library, instead of just saying "it makes your ajax faster!!"
freework··on Coding Interview Tips
Thats what I would do. Then again, I always get rejected when I do these type of interviews...
freework··on Coding Interview Tips
Its no that difficult to create a github project that can be completed in a weekend. I created the hacker new karma tracker and weedprices.biz in one weekend each.
freework··on USDA is down
How cute.
freework··on Firing and being fired
Culture is not a function of an individual, it is a function of the group. It is not valid for someone to say "you are not a cultural fit" ("you" referring to a human being).

On the other hand, it is valid for a person to say a group is not a "cultural fit". For instance a company that is full of greasy nerds who work 10 houra a day and play video games the other 14. Thats not my bag so I'm not going to work at that company because its not my culture.

For the company to say to me "you're not a cultural fit", is like Germany telling me I can't visit their country because I'm not "german enough".

← PreviousPage 4 of 11Next →