hacker news with inline top comments    .. more ..    20 Apr 2014 Ask
home   ask   best   4 years ago   
Screenshot Saturday
59 points by screenshot  6 hours ago   93 comments top 40
fiblye 5 hours ago 3 replies      
I'm working on a game titled Aerannis about a female assassin who may or may not be schizophrenic. She fears that she's losing touch with reality entirely and trapped in a world of her own delusions, but comes to realize that she may really just be the center of a global conspiracy.





Nothing as complex or inventive as the other projects here, but it's all that I'm working on at the moment.

bemmu 1 hour ago 0 replies      
Added a set of questions that customers can answer after starting their Candy Japan subscription. Hopefully this will let me understand them better and help with setting the tone in the way I write, possibly influence product choices and help with marketing.


It's amazing what a nice bunch my customers are. Out of 500 subscribers already 70 have volunteered their time to answer the question set that I just sent out. For typical ecommerce emails, 14% might be the number of people who open an email, but here they not only opened, but clicked through some obscure link on the bottom and spent time answering a long questionnaire for me.

I haven't collected the answers yet, but here are the questions.

- Why they subscribed

- Who will eat the candies?

- Do they have kids?

- Are they into anime?

- Have they been to Japan?

- What are their hobbies?

Also included some that might help with online advertising:

- Age

- Gender

- Education level

- Married?

- Social networks they use

- Other websites they visit (5 people mentioned Hacker News)

I'm thinking of writing up a blog post describing what I learned, will post it later.

jamesisaac 3 hours ago 3 replies      
I'm working on a web-app which starts like a feature-rich to-do list app, but shifts the focus towards planning out larger life goals, and tracking progress:


In particular this week, I've been working on solidifying the quantification side of the app (see the first two screenshots) - i.e. making day-to-day productivity (and lack of productivity!) towards big goals something that's measurable and the user can be held accountable for as they look back over past performance.

I've added more of an explanation to the imgur captions.

The site's currently in a launched-but-heavy-iterating stage at https://nachapp.com

dclowd9901 41 minutes ago 0 replies      
Working on getting a '94 miata I recently bought track ready. So far I've installed a rollbar, bled and replaced the brake fluid and fixed a leaky valve cover. I have a brake rotor dial indicator coming in soon so I can diagnose whether the rotors need replacing or not (which will probably be next Saturday's project).
bichiliad 6 hours ago 1 reply      
I'm working on a music and member management system for my university's radio station [1] as part of an independent study. I'm cheating and using FlatUI [2] for the interface. Using Bookshelf.js + MySQL/Express/Angular/Node

Screenshots here: http://imgur.com/a/uw8I1#0

[1]: http://www.wrct.org/[2]: http://designmodo.github.io/Flat-UI/

clay_to_n 1 hour ago 0 replies      
I'm building a book-reader app using the Spritz API. I started this at LAHacks with help from Spritz developers, but I've decided to keep working on it and try to get it in the App Store.

Main view when paused:http://imgur.com/2IyQkSG

Main view when reading:http://imgur.com/yukcvyW

If you don't know what Spritz is, it's a technology / service to let you read more efficiently, by displaying each word in the same place. Your eyes don't need to scan to find the next word, and most people can increase their reading speeds by a lot because of this. Many dyslexics find reading with Spritz far more comfortable than reading printed text. I'm not going to argue it's use for reading in ranges upwards of 1000 wpm, but I do think it's comfortable and usable for general reading (300 - 400 wpm personally).

Features already integrated:

- Chapters.

- Change the speed as you're reading with a slider. Most Spritz applications don't have this, and it's a shame.

- Pause, play, jump back a few words.

Things left to do:

- EPUB & MOBI support. Shouldn't be too hard. Currently it just reads TXT documents.

- Add Books. From URL initially, next step will be GDrive + Dropbox.

- Bookmarks. Very easy to do with .txt documents, maybe a bit different for e-book formats.

ttty 5 hours ago 4 replies      
UPDATE: WOW! Thanks, currently there are more users than the whole week. :D

I've been working on a minimalistic game collection site with Flash and HTML5 games: http://playszone.com/

Why to play here?

    - Big images that actually shows the real game at almost 1:1 scale;    - Social integration: when you like an item, like on facebook, share on facebook      or tweet about it, it will be stored on my server. (You have to be logged in       in order to work.)       - Why this is cool? - You have a feel of accomplishment as you will always try to do all the social tasks.       - Where exactly is this? - Everytime you play a game, you have a right navigation with       6 buttons. Those are the buttons.       (The only problem is the like button which takes a lot longer to get accounted)    - No ads, at least not in my site. The flash games and some html5 games comes bundled with ads (Any way to remove them?).    - Minimalist UI, which can be closed (Click on the 3 bars at top right of the page).    - Played games have an watermark (Only for logged in.).
Interesting views:

- Main: http://playszone.com

- In game (flash) Road of Fury: http://playszone.com/games/id:5334632f8984d74232b8925d/road-...

- In game 2 (flash) The Peacekeeper: http://playszone.com/games/id:5339d19cc6af0b434c2dc9d2/the-p...

- In game (non-flash): http://playszone.com/games/id:5332e034775c56a02cc4a1cf/flapp...

- Submit game: http://playszone.com/submit-game

- Login or register: http://playszone.com/login-or-register

- Categories: http://playszone.com/games

Login required:

- Manage games: http://playszone.com/manage-games

Technology used:

    - Node.js + Express    - MongoDB + Mongoose    - Server side rendering with React.js
Anyway, I find very very very hard to promote such a site. :/

granttimmerman 5 hours ago 2 replies      
kevinsundar 1 hour ago 0 replies      
Highschooler here building a reddit bot that can be summoned to create posters, tshirts, mugs, mousepads, etc from images and comments posted on reddit.

It's around 70% done. The hard parts: creating the posters from comments (imagemagick) and creating a product page (zazzle api) are both done.

Now i'm just working on getting a rabbitmq cluster up and running so that it can process multiple comments at once.Also working on the design of the the items because right now it's pretty bland with just b/w text.

Here's a screenshot: http://i.imgur.com/8SOMHBl.jpg

jplur 1 hour ago 0 replies      
Working on a design & layout app for html. I recently switched to om/react.js and it's been a huge improvement in my workflow. http://i.imgur.com/fvUiUpa.jpg
mkal_tsr 6 hours ago 7 replies      
I've been working on https://thesquatrack.com/

It does workout, nutrition, and body measurement tracking and I'm in the midst of deploying the routines and meta-routines - https://thesquatrack.com/soon over the next few weeks.

* Better search result info - http://i.imgur.com/RassIwF.png

* Flexible nutrition goals - http://i.imgur.com/8dabrHg.png

* Some meal fast logging - http://i.imgur.com/PdOBm0U.png

* Improved the dashboard a bit - http://i.imgur.com/hbs8ZTS.png

I'm not a UI/UX or business person, but I love code, so as long as it's functional, I'm happy.

100% solo founder and 100% bootstrapped ... it's been a heck of a fun journey :-)

Ryel 5 hours ago 0 replies      
This has been my first project working server-side. It's like, more complex than Pinterest and less complex than Tumblr.


One thing I have really enjoyed in this app is having built something in an industry which I have 0 knowledge and almost 0 interest. (fashion, beauty, health). I believe it's allowed me to build much more effectively and detach many of the emotions from building and any preconceived ideas about a particular industry. I normally work in front-end and because I'm looking for a job now I've seen a lot of employers give me a stink eye when I dont have experience in a particular industry or even an interest. I think it's odd and I can see their concerns but I also sometimes like to point out that I can also add to the team something nobody else can, a fresh perspective.

In order to stay motivated I have found inspiration not through the industry and the space itself, but through efficiency and learning new tools that power this website. One of the things I'm most proud is a prototype of a client side feature in which I'll be allowing users to create 'hotspots' anywhere in the image they upload. A typical use-case would be for a user to create a hotspot over a particular item of clothing or accessory and reference a referral link to that product. I've also re-created this hotspot feature in mobile and in videos on top of the Youtube API.

JamieLewis 6 hours ago 0 replies      

I have had some time off this week so decided to work on something a bit different. I have been working on a concept fuzzing framework for security testing. In the screenshot you can see some of the files produced by it - The bottom right is the configuration used to generate the file format (for this case Bitmap, although I have tested a few others like WAV)

Bottom left is a bitmap produced with no defects. The top shot is a bitmaps produced with some random changes - you can see the green bitmap is now corrupted due to a change somewhere in the format.

sfdev14 5 hours ago 0 replies      
I'm working on an app to help me find a job: http://i.imgur.com/sam9Cgt.png

I'm using it right now to search through a year's worth of HN "Who's hiring" threads and starring places that I want to work at / hiding those that match criteria that I don't want.

Pretty soon I'll be adding the "application management" piece to it so that I can start to track my applications, correspondences, phone screens, etc.


Backbone.js frontend powered by a Rails API with MongoDB as the datastore. Wanna hire me? sfdev14@gmail.com

mnicolosi 52 minutes ago 0 replies      
I'm working on a parallel EEPROM programmer using Arduino. I'm not using the Arduino IDE since it's a pain and instead using vim and cmake.


I'm experimenting with SPI to transfer the addresses to the shift registers faster and as you can see by the serial output, it's not quite reliable yet. Debugging timing issues is tricky.

I'm also making a PCB. I plan on making it using toner transfer method once some blank PCBs arrive.

will_lam 1 hour ago 0 replies      
Been learning Ruby via Learn Code The Hard Way for a part time Rails course that I'm taking over at BrainStation.it https://www.evernote.com/shard/s51/sh/b463df04-03b4-44cc-9f0...
ac1294 5 hours ago 2 replies      
I'm working on my first (major) project -- an app that will show live winning probabilities for each team in ongoing NBA games. I'm hoping to get it done before this year's NBA playoffs are over.

I just started, and I'm scraping JSON play-by-play data. This is my first experience with databases, so hopefully it works out well.


syjer 5 hours ago 2 replies      
Working on a agile task tracker with some friends (similar to trello, but more dev oriented): http://imgur.com/a/4PF4z .

(written with spring mvc for the server side, angularjs for the client side, use websocket/socks.js).

Will be available as a open source project.

hrbrtglm 4 hours ago 1 reply      

The CRM webapp I'm working on with the basic features I think such a system should have :

  - Customers, suppliers and leads management.  - Calendar  - Tasks (billable time tracking)  - Opportunities, Quotes, invoices, credit notes and purchases  - Expenses (rebillable)  - Products and services with inventory and moving average costs  - reporting  - customer dedicated page

brandonhsiao 5 hours ago 1 reply      

Trying to filter oDesk job postings using a naive Bayesian filter. Using method described in pg's A Plan for Spam.

Adrock 2 hours ago 0 replies      
I've been doing a lot of 3D modeling recently and have wanted to sign my work, so I added text rendering to the Clojure library I've been using:


Learned a bit about font rendering and Java's awt packages.

TD-Linux 1 hour ago 0 replies      
Javascript-based axial flux motor simulator. http://imgur.com/Iv5qbFC

Being used to play with parameters for an in-hub solar vehicle motor. The next step is integrating it with FEA-derived flux densities for higher accuracy.

realrocker 5 hours ago 0 replies      
I'm working on a mini-spreadsheet app for Android. The core idea is to keep notes in a key-value format and do basic spreadsheet functions. I have a prototype but not sure if anyone wants it and if I should invest more time to finish it. Here's a screenshot: https://docs.google.com/file/d/0B17zGMpsqZu-clk1RkNfSnNxLXc/.... So, anyone wants this?
adambard 6 hours ago 1 reply      
Edit: Ah, I missed the point. Here it is in screenshot form: http://adambard.com/img/screenshots/extsearch.png

My idea is to deliver a fully-customizable drop-in search widget in the form of a javascript snippet. I saw a gap in Adwords coverage for similar searches (I hope it wasn't just Google quashing competition), and thought there might be potential. I did a bit of proof-of-concept coding, and now I'm trying to validate the market.


Before edit:

A competitor to Google Custom Search (yeah, I know) called ExtSearch. Right now there's just a lander at http://getcustomsearch.com/

krapp 3 hours ago 0 replies      
apologies for the repost (had to fiddle with something), but here is a quick and dirty userscript to display imgur links in hacker news threads. I thought it would make screenshot saturdays nicer.


the screenshot i'm posting is everybody's screenshots ^^

karangoeluw 6 hours ago 1 reply      
After the huge success [1] of SoundCloud Instant [2], I started working something else using the SoundCloud API.

For the purpose of surprise, I'll just leave the screenshot here: http://i.imgur.com/PP4LN2J.jpg

The prototype is ready and it does what it's supposed to, but it's not ready to be released yet. If you'd like to know when it's ready, you can join my (new) email list: http://eepurl.com/SRIPT

[1] https://twitter.com/TheKaranGoel/status/457563836225056768[2] https://news.ycombinator.com/item?id=7602045

cagriaksay 5 hours ago 0 replies      
I have been working on a salary crowdsourcing platform http://salaryfairy.com

After receiving great feedback from a show HN, we are glad to have been able to implement almost all of the suggestions we received from HN.

screenshot: http://salaryfairy.com/static/fairy/images/report_page_new.p...

robhack 5 hours ago 2 replies      
Real-time FFT analysis of mic/line-in, with logarithmic scale showing the corresponding music notes.http://i.imgur.com/3WJcXTK.png
leemcalilly 5 hours ago 0 replies      
Working on a Shopify backend for my startup http://originalfuzz.com. We make handwoven Peruvian guitar straps.

Here's my local dev setup:http://i.imgur.com/cb0WuDH.png

New backend uses node and grunt along with the shopify theme manager. I can develop locally and keep it in git. Grunt watches the changes and the shopify theme manager uploads the new files. So I'm able to develop locally with haml and sass and deploy to my Shopify store as I work.

Also using https://github.com/toolsforliving/foundationify to integrate Foundation with Shopify. It's a good setup for anyone that needs to make an e-commerce site.

RyanHamilton 4 hours ago 0 replies      
Working on sql dashbaords that allow charting databases in real time:http://www.sqldashboards.com/help/video-tutorial/kdb-databas...
fnbr 5 hours ago 0 replies      
Have you spoken to Snapchat devs about your project? It seems like it violates the ToS, and I suspect that they will shut it down once they hear about it.
Pfiffer 5 hours ago 0 replies      

I'm busy adding splay tree[1] support to OlegDB[2]. The idea is to use them for searching/cursor iteration. If you haven't seen them before they're basically binary trees with the caveat that newly inserted elements are at the top of the tree. Of course, segfaults abound until I get it working...

[1] - http://en.wikipedia.org/wiki/Splay_tree

[2] - https://olegdb.org/

clxl 5 hours ago 0 replies      
This should be an automated post (like whoishiring).

I'm working on a command line spreadsheet app. Screenshot: http://i.imgur.com/snyBhYH.png

qsun 5 hours ago 1 reply      
It's Easter break in Australia - 4 days weekend.

I'm working on http://www.hackathonwatch.com It's a hackathon discovery site - it helps you discover new hackathons.


I've been working on it for several months, but did not really get a chance to add "watch/monitor" feature.

[1]: optimize contractor work flow to increase my ROI

[2]: adding "watch/monitor" feature

karangoeluw 6 hours ago 0 replies      
So, how's it different from the gazillion SE's?
do 6 hours ago 0 replies      
A QA test case management tool integrated with Github Issues.


Designed to be easy to navigate with the keyboard and replace the spreadsheets I normally use on projects.

If anyone out there needs something like this please shoot me an email. Planning on launching a V1 this weekend.

Mankhool 4 hours ago 0 replies      
Downvoted? I'm crushed by that kind of response. Deleting now. Apologies. I'll post again next week. Thanks for this great thread.
stripeofmirrors 5 hours ago 0 replies      
Working on a mitre sled experiment for use on a table saw. This will allow me to get precise mitres between wood panels. Using Rhino3D/Grasshopper. A few more real-world tests before I redesign it parametrically.


icolor 4 hours ago 0 replies      
I'm working a new product addition for my startup, here's an example of what job postings will look like. We're marketed as a "dating site for companies and people", we help people get their dream jobs and help companies grow in the best way possible.


tarpman1 5 hours ago 1 reply      
Ask HN: Your favorite YouTube channels?
281 points by stevenspasbo  1 day ago   125 comments top 86
petercooper 1 day ago 2 replies      
https://www.youtube.com/user/Confreaks record high quality videos at many programming conferences each year and then share the recordings on YouTube. So much to enjoy here, especially if you're open source leaning, like most of the events they do.

O'Reilly puts up lots of good stuff at https://www.youtube.com/user/OreillyMedia although the webinar recording quality leaves a lot to be desired. A real random set of tech topics though and often something worth watching.

Entrepreneur - https://www.youtube.com/user/EntrepreneurOnline - usually puts up lots of short videos with a business tip in or something. Sometimes longer interviews. Usually worthwhile if a little superficial at times.

The guy who founded Something Awful has a ridiculously addictive channel - https://www.youtube.com/user/lowtaxico - he generally plays horrifically poorly produced indie games with his sidekick Shmorky and I could listen to their absurdist banter all day.

It's a bit of a mish mash but https://www.youtube.com/user/Bisqwit always blows my mind when he does his coding videos such as coding a NES emulator in C++11: https://www.youtube.com/watch?v=y71lli8MS8s

https://www.youtube.com/user/Shmee150 is awesome if you're into supercars. He's currently doing a tour of European supercar events and factories putting up a video each day.

Far Lands or Bust - https://www.youtube.com/user/kurtjmac - is a guy who started to walk towards the 'far lands' in a Minecraft maps years ago. He's something like 10% of the way but is still plodding along recording his progress. This is a real pilgrimage with all the highs and lows that entails.

MrThaiBox123 - https://www.youtube.com/user/MrThaibox123 - is a British IT expert who seems to have an endless supply of cash to buy gadgets, phones, and amazing computer setups.. and he does incredibly well recorded reviews of them. He also has a vlog at https://www.youtube.com/channel/UCrXrOof3iFRZYJGqqApH3Ng which I find interesting to see behind the scenes of someone's life on a daily basis.

nostromo 1 day ago 0 replies      

Numberphile is a channel of really pleasant and interesting math videos. It's intended for a general audience; any level can enjoy it.

Perhaps you should show these videos to your kids too? When I was young I thought math was boring. It wasn't until college that I found out it was secretly very interesting.

armansu 1 day ago 2 replies      
I have this hard-to-break habit of watching at least one startup/entrepreneurship/creativity video before going to bed at night, so I hope I'm somewhat qualified to answer this question. My personal favorites from the channels I'm currently subscribed to are (sorted by preference; in descending order):

- https://www.youtube.com/user/EverySteveJobsVideo - All the Steve Jobs videos in one channel

- https://www.youtube.com/user/1veritasium - Veritasium: an element of truth

- https://www.youtube.com/user/webofstories - Stories from Donald Knuth, Benoit Mandelbrot, Marvin Minsky

- https://www.youtube.com/user/PandoDaily - the fireside chats with Peter Thiel, Elon Musk, Fred Wilson, Brian Chesky, John Doerr, Tony Hsieh are especially recommended

- http://www.youtube.com/user/ThisWeekIn - my favorite episodes are those with Naval Ravikant, Phil Libin, David H. Hansson, Chris Sacca, Chamath Palihapitiya and Eric Ries

- http://www.youtube.com/user/ecorner - Look for the talk by Phil Libin

- https://www.youtube.com/user/bigthink - Larry Wall and DHH

- http://www.youtube.com/user/kevinrose - Ignoring the raccoon toss video :D

- http://www.youtube.com/user/AtGoogleTalks - Look for a converstaion with Garry Kasparov

- http://www.youtube.com/user/KasparovCom - Into the night with Garry Kasparov and Peter Thiel

- https://www.youtube.com/user/techcrunch - Dont laugh, but I love watching TC Cribs.

- http://www.youtube.com/user/UCBerkeleyHaas - Look for Guy Kawasaki!

- http://www.youtube.com/user/masterlock77 - Trial by Fire: Yabusame

- http://www.youtube.com/user/leweb - Look for Gary Vee!

- http://www.youtube.com/user/StartupGrind - Check out the fireside chat with Vinod Khosla.

- http://www.youtube.com/user/atotaldisruption - Justin Kan!

- http://www.youtube.com/user/500startups/ - Marc Andreessen & Dave McClure!

- https://www.youtube.com/user/building43 - small teams BIG IMPACT' by Robert Scoble

- https://www.youtube.com/user/stanfordbusiness - Look for the fireside chats with Elon Musk and Marc Andreessen

- https://www.youtube.com/user/princetonstartuptv - Princeton Startup TV

vailripper 1 day ago 3 replies      
I enjoy woodworking when I'm not coding, so I have several woodworking channels I enjoy:

https://www.youtube.com/user/urbanTrash - Frank Howarth - Beautiful projects and his videos are very creative.

https://www.youtube.com/user/DrunkenWoodworker - Interesting work.

https://www.youtube.com/user/mtmwood - amazing geometric work

gkya 1 day ago 2 replies      
- Art of the Problem, provides introductory videos on Information theory, https://www.youtube.com/channel/UCotwjyJnb-4KW7bmsOoLfkg

- Fosdem talks, https://www.youtube.com/channel/UC9NuJImUbaSNKiwF2bdSfAw

- Minimalist Programming with jekor, stuff on haskell, like a teardown of Pandoc, implementation of redo, Minimalist Programming with jekor

- Veritasium, mainly physics, https://www.youtube.com/channel/UCHnyfMqiRRG1u-2MsSQLbXA

- Vi Hart, the best thing about mathematics that's online, https://www.youtube.com/channel/UCOGeU-1Fig3rrDjhm9Zs_wg

- Brady Haran's channels on various scientific topics, http://www.bradyharan.com/

Goosey 1 day ago 1 reply      
Not exactly tech/programming channels, but really good brain snack food...

https://www.youtube.com/user/Vsauce --- IMHO the best youtube channel in existence. Every video is a rabbit hole of interesting questions and tangents with fantastic presentation and weirdly uplifting closing points.

https://www.youtube.com/user/pbsideachannel --- Smart thought provoking videos that use internet memes, gaming, anime, and such as the launch off points.

https://www.youtube.com/user/1veritasium --- Well presented science videos with a focus on the joy of learning.

bane 1 day ago 0 replies      

Incredible indie singer, original songs and some ridiculously good covers https://www.youtube.com/user/mreebee3



Retrogaming/computing (somehow I find these endlessly relaxing):



https://www.youtube.com/user/CGRundertow the old videos where they cover the games are great and funny, they've moved their game content off of youtube due to overzealous copyright enforcement)

https://www.youtube.com/user/Chrontendo probably the most scholarly look at the NES ever made




https://www.youtube.com/user/MrGameSack incredibly well produced show)

https://www.youtube.com/user/Gamester81 (another great show, guy also produces his own Coleco games)



https://www.youtube.com/user/lukemorse1 (a retrogaming legend, lives in Japan an fixes up old arcade games)

https://www.youtube.com/user/MetalJesusRocks (one of the best produced shows around)





Foreign Travel - Asia





mkhattab 1 day ago 2 replies      
https://www.youtube.com/user/NextDayVideo --- Mostly Python talks at conferences, meet ups and other venues

https://www.youtube.com/user/Confreaks --- Like above, but mostly Ruby

https://www.youtube.com/user/emacsrocks --- Emacs Rocks (not updated frequently)

https://www.youtube.com/user/EEVblog --- Electronics Engineering Video blog. This is an excellent resource for electronics hobbyists. This doesn't cover programming much, unless it's micro controller firmware or FPGA programming.

ludwigvan 1 day ago 1 reply      
Some conference channels that are high quality:

- JSConf: http://www.youtube.com/channel/UCzoVCacndDCfGDf41P-z0iA

- InfoQ is very high-quality, especially for Java: See http://www.infoq.com/presentations/ (See QCon videos, StrangeLoop videos)

- redev videos: http://oredev.org/2013/videos

- Channel9 by Microsoft has some top notch videos: http://channel9.msdn.com/ Don't assume that these are all .NET or Windows specific, for example here is one series on Functional Programming by Dr. Erik Meijer: http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Func... Lots of similar videos by Leslie Lamport, Rich Hickey, Simon Peyton Jones. See http://channel9.msdn.com/search?term=%22expert+to+expert%22 for example.

Patrick_Devine 1 day ago 1 reply      
I've been trying to learn how to play Chess properly lately, so the two channels I'm subscribed to are:


ChessNetwork is run by a national master named Jerry who is absolutely hilarious.

iglookid 16 hours ago 0 replies      
I'm subscribed to ~200 youtube channels, and I highly recommend veritasium, Brady Haran's network, CGP Grey and minutephyics that others have already mentioned. Here are some other channels that don't seem to have been mentioned so far:


TommyEdisonXP - A jovial and friendly blind guy, who talks about, and answers questions about, how it is to be blind:


Arvind Gupta - He makes simple toys out of cheap materials, and explains the physics behind the toys. He does this full time, and works to popularize science at a premier Astrophysics and Astronomy research institute in India.


Grand Illusions - Like Arvind Gupta, this guy has collected toys and curiosities from around the world, and has dedicated a channel to document them:


Backyard Brains - They perform simple and interesting experiments on nervous systems of organisms:


Bite Sci-zed - A brilliant science channel run by self-confessed science nerd, Alex Dainis:


smalin / Music Animation Machine - Brilliant, brilliant visualizations of western classical music pieces, that help you understand the structure of the music much better if you're a beginner:



For example, see the 2nd movement from Beethoven's 9th symphony: http://www.youtube.com/user/smalin

Talking Animals - Human voices dubbed on viewer-submitted videos of pets. Funnier than you might expect!



I haven't sampled the following channels very well, but they seem promising.


Backstage Science: https://www.youtube.com/channel/UCP16wb-IThCVvM8D-Xx8HXA

It's Okay to be Smart: https://www.youtube.com/channel/UCH4BNI0-FOK2dMXoFtViWHw

Household Hacker: https://www.youtube.com/channel/UCI4I6ldZ0jWe7vXpUVeVcpg

The Slo Mo Guys - As seen on TV: https://www.youtube.com/channel/UCUK0HBIBWgM2c4vsPhkYY4w


Youtube "Leanback" for discovering channels and videos. Slick interface, but doesn't seem to surface quality content. Seems to just prioritize trending items.


networked 1 day ago 0 replies      
BSDs, game design and computer history:

https://www.youtube.com/user/bsdconferences/videos collects talks from various BSD conferences. An interesting non-technical talk from the collection is "A Narrative History of BSD" by Marshall Kirk McKusick (https://www.youtube.com/watch?v=ds77e3aO9nA).

https://www.youtube.com/user/Froblyx/videos lectures on game design and development by Chris Crawford (Balance of Power, The Art of Computer Game Design) uploaded by the man himself. "The Dragon Speech" of his can be found elsewhere on YouTube (https://www.youtube.com/watch?v=_04PLBdhqZ4).

https://www.youtube.com/user/VintageCG/videos early computer graphics demo reels, mostly from the '80s.

3rd3 1 day ago 0 replies      
Speaking of YouTube: Its possible to subscribe to your subscription list via RSS as described here:


Unfortunately there does not seem to be a way to get the watch later list as a feed. But youcan subscribe to custom lists like so:

Just replace PLAYLIST_ID accordingly. (Note that this is limited to 50 entries per feed.)

paddy_m 1 day ago 0 replies      
http://www.youtube.com/user/KEF791 Keith Fenner runs a machine shop and makes videos of his projects. He is thoroughly experienced and does some interesting projects.
pdkl95 22 hours ago 0 replies      
Periodic Table Of Videos


All the people posting Brady's [1] various channels (numberphile, sixtysymbols, etc) left out the best one: periodic videos. Not only is it interesting chemistry in the same format as numberphile/sixtysymbols, it also features the best mad-scientist HAIR on the planet [2].

[1] http://www.bradyharan.com/

[2] https://www.google.com/search?tbm=isch&q=Martyn+Poliakoff


Extra Credits


Incredibly detailed and insightful discussion of games from a what you might call a sociological perspective. They speak both as a game designer and as a player. A special emphasis is given to showing how "games" are a type of art, enabling certain new kinds of expression.

I'll caution that I don't mean "game theory" (Nash Equilibrium, etc) - Extra Credits discusses things like "interactive experience" vs "passive reading/watching", how mechanics can be used as a storytelling medium, industry issues, abusive (or just plain annoying) design choices, and theories such as the Uncanny Valley and the illusion of choice.

All packed into short ~5-6min, almost-animated, fun little videos.

dannyking 17 hours ago 0 replies      
If short educational videos are your thing, here's a pretty comprehensive list of the highest quality channels out there:

(My personal favorites are Vsauce, Veritasium, SciShow, Crash Course & CPG Grey)

ASAPScience - Fun, short interesting facts/explanationshttps://www.youtube.com/channel/UCC552Sd-3nyi_tk2BudLUzA

BigThink - Predominant people talking about interesting issues in short segmentshttps://www.youtube.com/channel/UCvQECJukTDE2i6aCoMnS-Vg

CPG Grey - an awesome professor talking about interesting factshttps://www.youtube.com/channel/UC2C_jShtL725hvbm1arSV9w

Computerphile - short videos explaining concepts in CShttps://www.youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA

Crash Course - beautifully designed courses for several subjects segmented into short videos. Highly recommended!https://www.youtube.com/channel/UCX6b17PVsYBQ0ip5gyeme-Q

Engineering explained - learn everything you wanted to know about car internalshttps://www.youtube.com/channel/UClqhvGmHcvWL9w3R48t9QXQ

IFLScience - short science news updateshttps://www.youtube.com/channel/UCvOTgnW7oj9ZWDd2y5TEApw

Minute Earth - beautifully animated short science fact videoshttps://www.youtube.com/channel/UCeiYXex_fwgYDonaTcSIk6w

Minute Physics - as above, but purely about physicshttps://www.youtube.com/channel/UCUHW94eEFW7hkUMVaZz4eDg

SciShow - this was one of the first short science video channels - awesome.https://www.youtube.com/channel/UCZYTClx2T1of7BRZ86-8fow

SciShow Space - as above, but about spacehttps://www.youtube.com/channel/UCrMePiHCWG4Vwqv3t7W9EFg

SixtySymbols - short videos talking about interesting symbolshttps://www.youtube.com/channel/UCvBqzzvUBLCs8Y7Axb-jZew

SmarterEveryDay - awesome science explanation videoshttps://www.youtube.com/channel/UC6107grRI4m0o2-emgoDnAA

Veritasium - very high quality science explanation videos - awesome guyhttps://www.youtube.com/channel/UCHnyfMqiRRG1u-2MsSQLbXA

VSaurce - mindblowing videos, usually around 10m, taking you on a tour of interesting facts and ideas. Check out Vsauce2 & 3 too.https://www.youtube.com/channel/UC6nSFpj9HTCZ5t-N3Rm3-HA

Spittie 1 day ago 0 replies      
I don't follow many channels, but I'm always impressed by this guy: https://www.youtube.com/user/Fredzislaw100

He has lots of videos with circuits that seems impossible, but that are just full of hacks. He goes as far as putting circuits inside his components (leds, switches...).

imkevinxu 1 day ago 1 reply      


I have a soft spot for RoosterTeeth, they make Red vs. Blue and hilarious Let's Plays and other geeky humor videos. It's one of those shows you can watch in the background while eating or something

corywright 1 day ago 0 replies      
My favorite YouTube channel is that of Matthias Wandel:

A software engineer by training, Matthias was one of the first 10 employees at RIM, and after he "retired" a few years ago he began making woodworking videos. His videos are great because of his background (he grew up working on his father's sawmill) and he brings an engineer's approach to woodworking. I've never done any woodworking, but I enjoy his videos because of the way he approaches and solves design problems.

Some of the marble machines he's made are incredible.

herrherr 1 day ago 0 replies      
Currently without a doubt: https://www.youtube.com/user/mathematicalmonk

An extensive series about machine learning (100+ videos).

ericb 1 day ago 1 reply      
The king of random. Hacks, experiments, explosions:


jmpe 1 day ago 0 replies      
I'm mostly into hardware, these two provide me with top content:

Ben Krasnow, physics for the underfunded:


Ham Radio Now, lots of SDR talk and good content:


I have many others (e.g. CCC), but on mobile inside an observatory atm.

daturkel 1 day ago 0 replies      
Frank Howarth does awesome woodworking projects and makes incredible videos showing how he makes them. Usually the videos are narrated with an explanation of the process, but sometimes he does them in a stop-motion style where you never see him at all, so the projects just build themselves: https://www.youtube.com/user/urbanTrash
Oculus 1 day ago 0 replies      
I haven't been able to find any programming channels I'm absolutely in love with (comeback everyday to), but I do have a couple channels that keep me entertained:

Seananners - https://www.youtube.com/user/SeaNanners

GassyMexican - https://www.youtube.com/user/GassyMexican

TheMrSark - https://www.youtube.com/user/TheMrSark

dfc 1 day ago 1 reply      
It is unfortunate that this "AskHN" turned into a link dump. This could have been a much more interesting discussion if people capped their list of favorites at two or three channels.
d0m 1 day ago 0 replies      
That will go in the /whatever, but here's a very good less kownn metal guitar player.. https://www.youtube.com/user/charlieparradelriego/
wsc981 1 day ago 0 replies      
I like CodingMadeEasy[0]. It's made by a guy (college drop-out) that is working on his own start-up of sorts, trying to become a game developer. He has a nice MonoGame tutorial, for example. His other tutorials are mostly related to game development as well, I think. And certainly not limited to C#.

[0]: https://www.youtube.com/user/CodingMadeEasy

deadfall 1 day ago 0 replies      
Computerphile - british channel - professors/students/scientist talking about computers/programming/history https://www.youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA

edit -- whatever category

Yogscast - british guys playing computer games like minecraft (their arguments are very funny) - https://www.youtube.com/channel/UCH-_hzb2ILSCo9ftVSnrCIQ

news - VICE and VICE news channels for real journalism.

bowmanb 23 hours ago 0 replies      
Some not-yet-mentioned I subscribe to:

Indie game dev: https://www.youtube.com/user/WolfireGames

Clojure talks: https://www.youtube.com/user/ClojureTV

Android: https://www.youtube.com/user/androiddevelopers

A filmmaker I enjoy: https://www.youtube.com/user/caseyneistat

[Shameless plug] Computer science paper presentations: https://www.youtube.com/user/PapersWeLove

theboss 1 day ago 0 replies      
I follow two youtube channels very closely and I think HN should check them out. Both deal with Powerlifting. These two youtube channels are particularly interesting because they both follow two guys who work really really hard.

The first is Ben Rice's: https://www.youtube.com/user/Rev198The next is Pete Rubish: https://www.youtube.com/user/PeteRubish1

These guys are strong as hell and watching them continuously work hard to get such small returns (5-10 lbs) is really motivating for me.

prezjordan 1 day ago 0 replies      
Matthias Wandel (https://www.youtube.com/user/Matthiaswandel) has a woodworking channel that I consider to be a massage for my brain. I know nothing about carpentry, but his videos are so relaxing.

I also like carsandwater for his "Red-Hot Nickel Ball" videos. https://www.youtube.com/watch?v=9qSEfcIfYbw&list=TLIZX0Wqcq2...

Numberphile has some great recreational math videos. https://www.youtube.com/user/numberphile

And, as a few others have mentioned, Veritasium.

erikstarck 1 day ago 0 replies      
If you're in Sweden I hope you follow the Swedish version of hacker news on youtube, Hackernytt TV: http://youtube.com/user/HackerNyttTV
nsxwolf 15 hours ago 0 replies      
Matt Barton's "Matt Chat" has a wealth of interviews with early PC gaming legends. John Romero, Brian Fargo, and many many more.


smoyer 16 hours ago 0 replies      
The GoogleDevelopers channel you reference is great, but now that I've fallen back in love with JavaEE it has to be Adam Bien's channel: https://www.youtube.com/channel/UCksTNgiRyQGwi2ODBie8HdA.
takeoutweight 1 day ago 0 replies      
I have been enjoying learning Go (the game) and Nick Sibicky has a great lecture series. It's hard to find introductory material that goes deeper than just the basic rules of the game so this has been a valuable resource.


tezza 1 day ago 1 reply      
Zero Technical Angle, yet still amazing: FailArmy


akhiluk 1 day ago 1 reply      
I'm more into general information on Youtube. Do check out Vsauce [ http://youtube.com/user/vsauce ] and CGP Grey [ http://youtube.com/user/cgpgrey ] if you haven't already.
chestnut-tree 1 day ago 0 replies      
Not programming related: I like this recipe channel - recipes are filmed and posted every week. The presentation is clear and straightforward (with a dash of humour). There's plenty of variety in the recipes too: meat dishes, vegetarian, cakes, bread etc


sp332 1 day ago 0 replies      
I like freddiew's channel, RocketJump. He messes with the medium, check out http://www.youtube.com/watch?v=-e_NiwPz-MQ and the "behind-the-scenes" for example.
unchocked 1 day ago 0 replies      

A jet engine mechanic way up in the Canadian north. If you've always wanted to get hands-on with a gas turbine, this is your guy.

ivank 1 day ago 0 replies      
https://www.youtube.com/user/ThreadbareInc/videos is doing a detailed Let's Play of Deus Ex
captainmojo 1 day ago 1 reply      
If anyone wants to curate all these links as a group, here's a subreddit: http://www.reddit.com/r/hnyoutubechannels/
EliRivers 1 day ago 0 replies      
World's most famous Australian, Natalie Tran. https://www.youtube.com/user/communitychannel

As I type this, the leading video is an unboxing :)

pkrumins 18 hours ago 0 replies      
MIT OCW is my favorite one http://www.youtube.com/user/MIT. I'm always on a lookout for new MIT courses.
matiasp 1 day ago 0 replies      
lateguy 1 day ago 0 replies      
Stanford E-corner:Knowledge and inspiration, one entrepreneur at a time. Stanford University's Entrepreneurship Corner offers videos featuring entrepreneurship and innovation thought leaders.


tfn 1 day ago 0 replies      
If you're looking for talks on Java and related, you're missing out a lot of good videos from the JavaZone conference by limiting yourself to YouTube:


rexreed 1 day ago 0 replies      
The digest of everything that happens @ TechBreakfast: http://www.youtube.com/tekbreakfast
fasteddie31003 1 day ago 0 replies      

Applied Science is pretty cool. He is a master with electronics and fabrication.

d0ugie 1 day ago 1 reply      
This thread made me wonder if there's any way to export and import one's Youtube channels (as one could with RSS into an opml file), this is the most promising article I could find (but didn't test): http://www.iliketomakestuff.com/heres-how-to-export-your-you...

Any other leads?

sown 1 day ago 0 replies      
It's kind of interesting that so many people have included Youtube into their media consumption diet, perhaps in the place of Radio & TV?
thesoonerdev 21 hours ago 0 replies      
Can I add videos from Vimeo? I love the Microconf videos on Vimeo, quite suited for the HN audience I would think.http://vimeo.com/search?q=microconfThe AMA by Peldi Guilizzoni (Balsamiq) is an excellent one.
ajayjain 1 day ago 0 replies      
https://www.youtube.com/user/sixtysymbols - really interesting and well made physics videos

https://www.youtube.com/user/flitetest - fixed wing and (multi)copter builds and flights. Mostly mechanical, electrical, and aerospace.

minutephysics, minuteearth, and crashcourse are also great.

inovator 1 day ago 0 replies      
Any one know a good iOS youtube channel?

I only have http://www.youtube.com/user/rwenderlich

kplex 14 hours ago 0 replies      
More Mythbustery goodness.


shankysingh 1 day ago 0 replies      
For Hobby short-movie makers like me:1. Film Riot : https://www.youtube.com/user/filmriot2. Indy Mogul(now defunct): https://www.youtube.com/user/indymogul
jonmarkgo 1 day ago 0 replies      
atmosx 20 hours ago 0 replies      
Thanks for those links, I didn't even knew I could find so interesting channels on YouTube! :-
hanley 1 day ago 0 replies      
For Python people, http://pyvideo.org/ aggregates videos from conferences and meetups.
wskinner 21 hours ago 0 replies      
d4mi3n 1 day ago 0 replies      
The Idea Channel is pretty good. It's funded by PBS and is generally geared towards presenting interesting topics for people to think about and discuss: https://www.youtube.com/user/pbsideachannel
tixzdk 1 day ago 0 replies      
For tougher treatment of complex math subjects I really enjoy matematicalmonk's Khan Academy style videos:


slvv 1 day ago 0 replies      
I'm amazed no one has mentioned The Brain Scoop yet! Natural history, dissections, all kinds of awesome stuff.


zamabe 1 day ago 0 replies      

Sixty Symbols

CGP Grey


Smarter Every Day

The Brain Scoop



Crash Course

(Sorry for the lack of links, but that takes forever)

(And the formatting. I don't know how to make it \n)

Jamie452 1 day ago 1 reply      
hevsuit 1 day ago 0 replies      

Internet Culture and Tech Stuff

pepon 1 day ago 0 replies      
1Veritasium, SmarterEveryDay
InclinedPlane 1 day ago 0 replies      
- https://www.youtube.com/user/1veritasium (wonderful science education stuff)

- https://www.youtube.com/user/EEVblog (electronics stuff)

- https://www.youtube.com/user/lindybeige (irreverent but informative takes on historical stuff)

- https://www.youtube.com/user/bkraz333 (Ben Krasnow, amazing DIY home laboratory stuff)

- https://www.youtube.com/user/urbanTrash (Frank Howarth, fantastic wood crafting)

- https://www.youtube.com/user/minutephysics (well explained science stuff, see also:)

- https://www.youtube.com/user/minuteearth

- https://www.youtube.com/user/wickiemedia (if you've even been curious about pro audio, live or recorded, this channel has tons of great tutorials and explanations)

- https://www.youtube.com/user/setiinstitute (SETI talks, probably boring unless you're really engaged with cosmology, astronomy, exobiology, or space exploration, but if you are then there are some amazing talks)

Also, I've found defcon and ccc talks to have some amazing content occasionally. Try searching for "defcon" or "30c3" to get started.

j_s 1 day ago 1 reply      
Solidy in the 'other' category - any recommendations for kids?
james-bronze 23 hours ago 0 replies      
Thank you so much, I've been looking for good YouTube channels!
whatevsbro 1 day ago 0 replies      
Ask HN: Creating a query builder for end users
28 points by systematical  12 hours ago   29 comments top 22
d4nt 8 hours ago 2 replies      
I built QueryTree (http://querytreeapp.com) as a response to this sort of problem. It's a domain specific visual programming language designed for working with tabular data. So people who want to build a custom query on a database can do it just by dragging and dropping the right "tool" onto the "worksheet".

It's a desktop app rather than web, although it is actually built using HTML, canvas and JavaScript.

It can do almost anything SQL can. It can't do "IN" queries yet but I have a plan do that in a way that's consistent with the general drag and drop approach of the app. It doesn't explicitly handle BETWEEN queries but they are easily achieved by using two filter tools one after the other.

I think there are two types of complexity to be dealt with when enabling users to build reports/queries. One is the complexity of the concepts involved, the other is the complexity of communicating what you want to happen to the computer. I built QueryTree because of a belief that many people understood they the concept of a filter or a join, but just didn't like text based programming languages. I replaced the SQL syntax but left everything else in place. If I didn't think my target users were up to understanding the conceptual complexity I would have restricted it a bit more and would probably have ended up with something like IFTTT.com but for data. Mostly, people seem to "get" QueryTree though, especially when they're using it on data that they're familiar with.

aaronblohowiak 10 hours ago 1 reply      
I've done this when building the reporting side of a survey product.

The vast majority of your users won't use the complex filters.

Ask your customers what kinds of reports they want to build, usually it will be a series of AND requirements.

You can look at email filter builders for inspiration.

Usually it is something like building a series of :

Field (drop down) operator (drop down) value (text)

The tricky part in the ui is combining these (and/or) and if you really want to get fancy, supporting parena to change the precedence of the operators. A AND (b or c).

You must not convert this to SQL on the client side. You must validate the fields submitted are in your approved list on the backend (indexes/security).

nairteashop 9 hours ago 0 replies      
> The tricky part is striking a balance between usability and power.

Yeap, this is indeed the big issue. One thing that helps is to tune the UI for your specific domain so that it has just enough power to be usable in that domain, but no more. We had to build a query tool for retailers in my last gig, and tuning the UI just for retail helped a lot.

For example, make it easy to specify a BETWEEN operation in your UI if that tends to be used often, provide commonly-used domain queries as templates so your customers can learn by looking at and modifying these templates, etc.

For inspiration, you may also want to look at other products that have query building as core feature. Two that stand out to me in terms of usability are mixpanel and chart.io:https://mixpanel.com/segmentation/ (see "Goodbye SQL" section)http://chartio.com/product/tour (see "Drag and Drop Chart Creation")

stephenr 10 hours ago 1 reply      
I faced the same basic concept a number of years ago, and we had to make it work for barely computer literate police.

Basically, we used a single piece of software's single feature as our reference, for describing it to others and for how to handle the experience.

iTunes Smart Playlists. (https://www.evernote.com/shard/s136/sh/7f5f39a1-6c85-4853-aa...)

I have yet to see a better interface (than iTunes) for building what are essentially custom queries.

jschmitz28 10 hours ago 0 replies      
I've done this before in dojo framework + dgrid. Our system is based off of a dynamic metamodel where users define classes (e.g. Task) and attributes under those classes (e.g. State, owner, project reference) from a set of predefined types (e.g. Enum, user, reference). The defined metamodel ends up as a class hierarchy and is presented as a tree for the query builder. After defining a class, you can then instantiate that class and set attribute values on it.

For building queries, you drag classes and attributes from the metamodel tree into either the filter tree or the report fields section. The filter tree is a tree of AND's and OR's constructed as you drag attributes into it. Selecting an item in the filter tree then brings up a value editor based on the attribute type that allows you to filter your query based on values that make sense for that type. So if you define your tasks state as enum(unassigned, assigned, started, completed) you get a combo box with those values and options to select in, not in, null, etc.

The report fields section is a list of attributes you want to see in the result set. Basically just a select on that attributes value for the query system. Imagine a todo list created instantly by filtering on tasks with owner == current user and state not in completed, but also wanting to see and sort on the priority, and not showing the owner since you know it's you. The report fields area allows setting of sort order, and ascending or descending.

As you drag attributes into the filter or fields sections, a results pane underneath automatically gets new columns added (for fields added of removed) or new results based on a modified filter tree. After saving a query, users can then register for updates of items that match the query. If any data is changed that affects query results, the updated item or removal is pushed via websocket and that item is updated or removed from the results grid. With this, users never have to refresh the query since all the data is live.

Screenshots are slightly edited and a little out of date, but you get the idea.

Query builder: http://i.imgur.com/AV071JV.png

Dashboard (powered by query/report building): http://i.imgur.com/BvBW7L3.png

petercooper 8 hours ago 0 replies      
My advice regarding the usability vs power issue is to have multiple stages. You'd have a DSL/query language that you parse, is secure, etc. And then you'd have a UI over the top of that which automatically creates the right queries.

The win here is that you then have an easy interface for 90% of users but the remainder with more bizarre or complex requirements can still get to where they want to go by either writing a query themselves in an "advanced" field of some sort, or you could even do it for them for $$$. Embedded JavaScript is an option here.

I would contrast this with something I would not advise, having a visual interface go straight to a database query behind the scenes.. because then you're basically limited to what you exposed in the UI.

jwdunne 11 hours ago 0 replies      
This is interesting because I'm building the exact same thing, which also has the be plugged into a Cake app.

For choosing the tables to query, my idea is to present a grid. Each cell has the table name and tables available through relations. When a table is selected, the cells either remain "on" or are disabled based on relations available. These will typically change depending on tables selected. Relations are discovered as defined, say hasOne, hasMany, etc. this is step one.

Step 2 involves selecting the fields to include in reports. These are typically prefixed with the model name and with underscores replaced with spaces. So User.first_name becomes "User's first name", User's country name or Country name, which I haven't worked out fully yet. I suppose some intuitive way to combine these into virtual fields would be nice.

The hairy bit is selecting conditions. I get requests to hard code queries such as finding the number of product ordered by users who have taken an online course or an in-person course so I have to be flexible. This part is tough to express in a UI simply, because X AND (Y OR Z) isn't the same as (X AND Y) OR Z. However, having some way of grouping conditions and requiring that such groups also have a binary operator by dragging and selecting seems the way to go, a la selecting icons on a desktop.

All of this can be saved as a "virtual table" for reuse. Output is typically a CSV for marketing purposes but my intention is to have this so I can plug in a PDF renderer with nice charts and what not, like Google Analytics.

Though something tells me building all this may be overkill if I can find a package that handles analytics and custom-defined events, along with the ability to upload backdated data!

grdvnl 7 hours ago 0 replies      
I have worked on an app that gave the exact functionality to the users. The users could create queries using the query builder, and also schedule when the queries could be run.

The challenges of course was training the users to use the operators correctly and in a way that made logical sense. It did take a while for the end users to learn to build queries.

On the UI front, most of the fields and tables could be chosen by double-clicking or drag and drop. Certain operators could not be used with fields based on their types. We also provided a AST like tree to help users understand the operators.

On the optimization front, letting users build their own queries could also lead to very costly queries. We had to profile the user created queries regularly and fine tune our query generator to handle such uses. We ended up creating a lot of materialized views in Oracle to handle specific frequent uses of joins in the table.

The users who were using this tool were top level finance and accounting folks, who wanted to produce reports for the CFO has he dreamt up different data points to work on!

j_s 7 hours ago 0 replies      
This blog post demonstrates grouping values under the associated filter expression:


There are also number of projects implementing JavaScript query builders that can be found from there, including Red, YUI, jQuery and Ext Grid query builders.

ideaoverload 7 hours ago 0 replies      
I was working on such system for performance measurements. Basic assumption was that user would never see any mention of tables, joins, column names nor any other SQL concept.

1.Table selection - there is predefined set of joined tables we call views. Views have descriptive names e.g. 'Temperature measurements', no underlying tables are shown.

2.Column selection - user selects columns from views using descriptive names , not actual column names . UI clearly indicates columns that land in 'group by' section by calling them dimensions. There is predefined aggregation strategy for all columns that are not dimensions - e.g. average for temperatures or sum for number of measurements. In some cases more that one aggregate is available e.g. average or maximum temperature. User just selects maximum or average temperature not aggregation operator.

3. Filters: user can select simple filters on columns: =<> and string matching for text. All filters are ANDed

4.Sorting: user can select columns to sort on.

5.Display: results are displayed as tables or charts. More that one section may be placed on single report.

The real system has tons of additional features but basic design as design as described above has worked great for years.

bryanh 9 hours ago 0 replies      
You might look at how Wufoo's rule system works. Designed for not-very-technical users and it is pretty powerful.
olalonde 8 hours ago 1 reply      
MagentoCommerce (also PHP) has a query builder, maybe you could have a look for inspiration? http://www.magentocommerce.com/wiki/_media/welcome_to_the_ma...
mingabunga 9 hours ago 0 replies      
We've been doing exactly this for our antispam app, we started off with a working custom filters web app (Angularjs) which you can see at using text or regular expressions (the regexp has a bug in it). This also shows the query in plain english as you build the query. Original design credits for the test app to https://github.com/kindohm/knockout-query-builder/

This is the design we've come up with so far, which incorporates grouping of queries. We've tried to make it readable, but we also display the query in a sentence as you build it. http://cdn.firetrust.com/images/misc/customfilter.jpg

eitally 7 hours ago 0 replies      
I spent ten years of my career building and then altering something like this and would be happy to talk with you about it.
HeyImAlex 10 hours ago 0 replies      
Check out HTSQL, should be able to act as your API.
ecolner 11 hours ago 0 replies      
I've done this when I was working on the Playstation Network so business users could define storefront categories that contain products based on their own custom logic. We didn't get a lot of requests to change the feature and it was stupid simple. I wouldn't get too fancy unless your users get really excited about it and ask for it to do more.
mkal_tsr 11 hours ago 0 replies      
You could start with an intermediate stage, with say a query-builder wizard that walks them through the process.

1. What type of report would you like to create? (define the domain)

2. What are you looking for? (define the topic)

3. What limits are there? (define the data boundaries)

4. How do you want it displayed? (report output format like excel, pdf, etc).

See how a select group of customers like it and get feedback on it ... some might immediately say "yes we want something more powerful" or what you have will be just fine. From there you can decide if you want to pursue exposing the query-builder more openly than a guided wizard, and if you want to charge extra for it.

santialbo 10 hours ago 0 replies      
Mac Finder's query builder is, in my opinion, the friendliest you can get.http://i.stack.imgur.com/YdUSq.png
camus2 8 hours ago 0 replies      
there are a lot of query builders out there, i'm pretty sure you dont need to write one. Doctrine has one :


which deals with pure PHP objects.it follows a java standard,you can write SQL like queries with it.


bra-ket 8 hours ago 0 replies      
SQL is pretty good
petilon 10 hours ago 0 replies      
Take a look at Pebble Reports. It is exactly what you are describing. Although it is a Windows app, not web.
Ask HN: Non-specific negative feedback on product ideas.
2 points by sithu  2 hours ago   2 comments top 2
anthony_franco 6 minutes ago 0 replies      
Make sure to interview as many people as possible to to ensure that the consensus is generally positive. But expecting 100% approval is a pipe dream.
jeffmould 1 hour ago 0 replies      
Situations like this used to bother me greatly. In fact there have been several times in my life where I dumped ideas simply because someone told me it was a bad idea, only to watch that idea turn into a million dollar opportunity a year later with someone else. Over time I have learned that not everyone is going to like every idea or product. You could have the greatest product in the world and there will always be detractors who have no interest or a bad opinion. Unless every body you talk to has the same reaction I would not worry about the few who could care less.

Even Henry Ford had people who thought cars were a crazy idea and they would never use them. Now look where we are with vehicles. In short, don't worry about it.

Ask HN: Who are some of the must-follow Twitter users?
5 points by karangoeluw  6 hours ago   4 comments top 4
callmeed 2 hours ago 0 replies      
Here are a few of the software/startup people I follow. (I don't know any of them personally but I've met/emailed a few)

















@VCdelta (this is a bot that tweets changes in VC portfolio pages)

gales 4 hours ago 0 replies      
Aral Balkan - https://twitter.com/aral

A very humble person, who hopes to empower people to own their own data. Currently working on http://indiephone.eu/

krrishd 6 hours ago 0 replies      
Danielle Morill and Marc Andreesen are pretty popular, but still worth mentioning here, some of the most valuable content on my feed comes from them.
megaman22 6 hours ago 0 replies      
John Carmack
Ask HN: How do you plan to view family photos is 60 years?
12 points by DougN7  12 hours ago   15 comments top 9
gyom 4 hours ago 1 reply      
During the transition period between the old media and the new, they'll have the opportunity to transfer everything.

We had VHS tapes for our family videos. Now we have them as video compressed with h264. If that format is getting phased out, we'll just transfer to the latest format. Some degradation may occur when switching codecs, just like when transferring from VHS to digital, but that's fair.

You don't have to come up with a solution that lasts 80 years. You just need to survive 10-20 years until you transfer to the next media that makes sense for you. Keep redundant copies off-site.

lazyjones 6 hours ago 0 replies      
I try to keep multiple copies of digital pictures and occasionally I use a Fujifilm Instax camera to take instant photos (which should last a few decades if treated properly - but it's a bit of a gamble, since noone I know has convincing arguments to support that claim).

For exceptionally good photos, I'm considering prints on aluminum. These should last 50 years or longer with a little less care than Polaroids/Instax (i.e. they can be exposed to light).

ishbits 4 hours ago 0 replies      
My wife occasionally gets those hardcover albums printed up. I suspect that collection will require, and barring a fire will carry in.

I do pretty well and backups of our ever growing photo collection (about 100gb) now. But at some point I may hit an age or health state where I don't care. I guess I can hope one of my kids will have an interest.

Really I should trim that photo collection down to a must have set.

snowwrestler 11 hours ago 1 reply      
If you want paper pictures to persist for decades, you have to be careful about how you store them--a hot attic, or damp basement, can destroy prints or slides over that timespan.

So, you need to be careful with digital pictures too. Keep copies locally and remotely, and carefully keep track of passwords for hosted services.

This is not just limited to pictures. How do you manage your finances? Do you have the passwords stored in a place where your family can get to them in an emergency?

jdhopeunique 6 hours ago 0 replies      
This seems like a perfect use case for print your own book services. You could create a book with a family tree, organize photos by history and have captions and titles, and have copies to give to family. One day historians may discover your family book and learn something about our time.
dorfuss 11 hours ago 2 replies      
A very good question. Some time ago I've heard that big libraries and archives print digital photos back to film because it is much more durable than the modern media and the picture really exists and is visible. A different problems I have with text files which would seem much less of an issue. But I have already thousands of e-mails and text, how can I be sure that in 40-80 years there will be machines or programs that could read my old text files.
tekknolagi 5 hours ago 0 replies      
A guy came into my class and talked about his product, http://liveon.com.

I haven't personally looked into it, and it looks like they are still testing, but this seems to answer your question.

utunga 4 hours ago 0 replies      
I'm a programmer and my wife is a qualified paper conservator. A year or so ago I registered materialsonpaper.com with the idea that it could combine our two skillsets.

I envisioned a service where we'd help you curate your digital photos (and other important documents), print them on archival paper, and box them in a way that will keep them cool and well cared for and then post back to you. We also contemplated that we might also provide storage services for a second copy.

Would anybody here be interested in such a service?

001sky 8 hours ago 1 reply      
Consider making prints on archival paper. Although this seems "lo-tech" making 20 prints a year for 40 years would give you 8 volumes of 100 images. That would be a nice archive, not so unweildy as to be a problem, yet also readily shared and visually inventoried.

The issue of even file-formats is problematic when it comes to digital images. One has to ask are NEF and CR2 files going to be infinitely readable? Are canon and nikon themselves going to last 40 years? And if so, provide backward compatibility? and if Not, when and where and to what quality should we trandfer the information to something more archival?

It's not clear at all. So I think this is a great question to ask, consider, and ponder solutions for.

An Update on HN Comments
310 points by sama  2 days ago   261 comments top 43
bravura 2 days ago 7 replies      
I appreciate the changes. But while we're on the topic, could I throw out a thought?

It should be easier for a late-arriver on a post to add a useful comment, and have it be promoted. Have you considered using randomization to adjust the score of certain comments?

HN comments seem to exhibit a rich-get-richer phenomenon. One early comment that is highly rated can dominate the top of the thread. (I will note that, qualitatively, this doesn't seem as bad as a few months ago.)

The problem with this approach is that late commenters are less likely to be able to meaningfully contribute to a discussion, because their comment is likely to be buried.

One thing interesting about the way FB feed appears to work is that they use randomization to test the signal strength of new posts.

Have you considered using randomization in where to display a comment? By adding variation, you should be able to capture more information from voters about the proper eventual location for a comment. It also means more variation is presented to people who are monitoring a post's comments.

alain94040 2 days ago 10 replies      
I'd love to able to fold a nested conversation once I think that particular branch is going nowhere. HN should treat the folding as a signal similar to a down vote on that particular sub-thread. I often don't think any particular comment warrants a down vote, so I have no way to tell HN that the thread should be pushed back.

Plus everyone has been asking for a way to collapse sub-comments (and many plugins do it already).

jseliger 2 days ago 5 replies      
dang and kogir tuned the algorithms to make some downvotes more powerful. We've been monitoring the effects of this change, and it appears to be reducing toxic comments.

That's interesting to me because I find myself downvoting much more often than I used to. But the comments I downvote are not that often toxic in the sense of being nasty. They're more often low-content or low-value comments that don't add to the conversation.

The jerks and trolls are out there but I'm not positive they're most pernicious problem.

rdl 2 days ago 6 replies      
I wish there were multiple kinds of downvotes. "This is actually bad" (spam, etc.) vs. merely useless, vs. factually incorrect but reasonably presented.

I mostly only downvote spam or abuse; I try to ignore "no-op" comments, and would rather reply to someone with information about why they might be wrong vs. downvote, but I'm not sure if this is universal.

codegeek 2 days ago 3 replies      
"make some downvotes more powerful."

Yes this will be great. Any comment that has personal attacks,abusive language, racial slurs, trolling, off-topic self-promotion/marketing etc. should allow downvotes to be more powerful. Usually, comments like these get a lot of downvotes pretty quickly but I am sure there are a few who upvote those comments as well for their own reasons.

May be comments like those should not be allowed upvotes once it reaches a number of downvotes ? Also, not sure if you guys already do this but really bad comments should be killed automatically once downvoted a certain number of times within a short time span ?

Now, when it comes to unpopular comments which are not necessarily outright bad, I am sure those are tough to program because how do you handle the sudden upvotes and downvotes at the same time ?

minimaxir 2 days ago 9 replies      
While on the subject of HN comments, I have a request: could the "avg" score for a user be readdressed?

The avg score is the average amount of points from the previous X comments a user has made. However, this disincentivizes user from posting in new threads which are unlikely to receive upvotes. I've lessened my own commenting in new threads because of this.

stormbrew 2 days ago 1 reply      
Something that I've been finding lately is that replies to my posts have been downvoted when to me they're fairly reasonable disagreements with what I said. I've actually taken to upvoting replies to me that go grey a lot of the time, even though I don't particularly agree with what they're saying.

To me it seems like a lot more stuff is getting downvoted than used to, and I'm not sure I see a meaningful pattern in the places I see it happening.

biot 2 days ago 3 replies      
Will there ever be the ability to upvote a story without it going into your "Saved stories" section? 99% of the time I upvote a story it's because I want to save it for future reference. I'd like the ability to upvote (and downvote) stories based on whether they're HN-worthy without it impacting the "Saved stories" section.
kposehn 2 days ago 5 replies      
I'm glad to hear that these changes seem to be working. One thing I am (slightly) concerned about is the occasional funny/witty/hilarious comment that will get downvoted into oblivion rapidly. It isn't necessarily that it is a troll posting, but maybe someone injecting a bit of humor.

That said, I do understand if the mods/community do not feel that witticisms have as great an importance on HN - yes, seriously - so this is not a criticism, just an observation.

chimeracoder 2 days ago 2 replies      
> The majority of HN users are thoughtful and nice. It's clear from the data that they reliably downvote jerks and trolls

I have to say, I'm a bit confused now. Aren't "trolls" the sorts of comments that are supposed to be flagged[0]? (I understand that spam is meant to be flagged, but HN gets very few true spam comments[1]).

What is the difference between downvoting and flagging for comments specifically - and more importantly, what comments should be downvoted?

I've read conflicting arguments (both sides quoting pg, incidentally) that disagree on whether or not downvotes should be used to signify disagreement, or whether one should downvote comments that are on-topic but have little substance (ie, most one-liners).

[0] I guess this depends on your definition of "troll", but I think a well-executed troll is similar to Poe's law: the reader can't tell whether the commenter is being flippant/rude or sincere. In other words, it's just enough to bait someone into responding, without realizing immediately that it's a worthless comment.

[1] eg, ads for substances one ingests to change the size of a particular masculine organ, or (less blatantly) direct promotions for off-topic products.

Serow225 2 days ago 1 reply      
Dang and friends, any chance of tweaking the layout so that it's not so easy to accidentally click the downvote button when using a mobile browser? This is commonly reported. Thanks!
mbillie1 2 days ago 1 reply      
> The first is posting feedback in the threads about what's good and bad for HN comments. Right now, dang is the only one doing this, but other moderators may in the future.

I've seen dang do this and I think it's actually quite effective. I'd love to see more of this.

maaaats 2 days ago 0 replies      
I like the new openness.
specialk 2 days ago 1 reply      
I find the idea that commenters with higher karma having more powerful down-votes slightly disconcerting. My fear is that if people down-vote comments that are well meaning and relevant but they disagree content we will only ever see one train of thought rise to the top of comment threads.

This could start a vicious cycle where voting cabals of power-users form. For example if Idea X becomes popular among some members of HN they will be able to always steer the discussion to talk about Idea X or down-vote a competing valid Idea Y into oblivion. Comment readers could be converted to Idea X, as it is always appearing at the top of relevant comment threads. So now the voting cabal as even more members. Growing the dislike of Idea Y. The cycle then repeats. The discussion is then steered over time by the thoughts of a select few power-users.

Maybe this is just the natural order of things and I'm subconsciously afraid of change. Thoughts?

joshlegs 2 days ago 0 replies      
Wow. I am overly happy that you guys have figured out a way to give commenting feedback. i had an account way back when shadowbanned for i never knew what reason. Still dont. I feel like if this system had have been implemented back then I would have had a better idea of what was wrong that I said.

Also, I'm pretty sure you've found the secrets to good Internet moderatorship. So many forums went offcourse from ban-happy moderators that didnt want to actually take the time to moderate the community, instead just banhammering people. Kudos to you guys

tedks 1 day ago 0 replies      
>(and specifically, they dont silence minority groupsweve looked into this)

How have you looked into this, and what have the results been?

What efforts are you going to take to ensure it stays true in the future?

There are other comments asking these questions that have so far not been answered; it would be good to answer them. It's very unsettling when people (primarily from a privileged/majority standpoint) proclaim that things "don't silence minority groups" and handwave the justification.

In general I've found HN to be much more positive towards feminism in particular than similar communities like Reddit or others that I won't name, but the tech industry has large issues in this area and it's surprising to me that this would be the case.

In particular, it seems likely to me that HN will selectively not-silence minority voices that tend to agree with the status quo or pander to majority voices. I'd be surprised if your analysis accounted for that, but I'd be very, very happy to be wrong.

Thrymr 2 days ago 1 reply      
> posting feedback in the threads about what's good and bad for HN comments.

Am I the only one who thinks that posting more meta-discussion directly in comments reduces the overall quality rather than increases it?

Maybe a downvote should come with a chance to add an explanation that can be seen on a user's page or on a "meta" page, but not dilute the discussion itself.

User8712 2 days ago 1 reply      
Are comments ever deleted or hidden from view completely? I've been reading HN for a year or two, and I've never noticed an issue with comment quality. In topics with a larger number of comments, you get one or two heavily downvoted posts, but that's it.

My question, is there an issue with comments I'm not seeing? Do the popular topics on the homepage have dozens of spam or troll comments that are pruned out constantly, so I don't notice the problem? Or is the issue those 1 or 2 downvoted comments I mentioned earlier?

HN receives a small number of comments, so fine tuning algorithms isn't a big deal in my opinion. This isn't Reddit, where the number one post right now has 4,000 comments. That presents a lot of complications, since they need to try and cycle new comments so they all receive some visibility, allowing them a chance to rise if they're of high quality. On HN, you have 20 comments, or 50 comments, so regardless of the sorting, nearly everything gets read. As long as HN generally sorts comments, they're fine.

camus2 2 days ago 1 reply      
In my opinion,just like SO, downvotes should actually cost Karma. Yes sometimes some messages are just bad and trolling but sometimes people get downvoted just because they dont "go with the flow",and they have unpopular ideas. So if a downvote cost 2 , the downvoter should lose 1 for instance. And please dont downvote me just because you disagree.

EDIT: just proved my point,why am I being downvoted? it was a simple suggestion yet,someone downvoted me,just because he can and it's free. I was not trolling or anything... I just wanted to participate the debate.

aaronetz 2 days ago 0 replies      
I have noticed that people oftentimes downvote because of disagreement, even when the comment seems to be okay (to my eyes at least). How about eliminating the downvote, leaving only the "flag" which makes it clearer that it should not be used for disagreement? It would also make comments more consistent with top-level stories (which I sometimes think of as "root-level comments".
Bahamut 2 days ago 2 replies      
I've seen plenty of downvotes around from people who didn't understand what was being said/wanting to exert opinions. To be honest, that partly gets me to just not want to contribute thoughts since they may be unpopular/do not jive with a hive mentality, and has gotten me to visit the site less for the comments, especially with the recent tweaks.

It'd be nice if something could be figured out to discourage this behavior through reduction of the value of the downvotes of such, especially if a comment has not had a response to explain the downvote.

olalonde 1 day ago 0 replies      
I know it would be a pretty big experiment both technically and conceptually, but I will propose it just in case.

I have noticed that usernames might influence the way I vote. What if usernames were not displayed in comments? Now this leads to two problems: 1) it makes it hard to follow who replied to what in threads 2) it makes it more tempting to post bad comments given the lack of accountability. I think the first problem could be solved by assigning users a per-submission temporary username picked at random from a name/word list. The second problem could be solved by linking those random usernames to the actual profile page of who posted (just like HN currently does). It wouldn't stop deliberate attempts at up/down voting specific users, but it would remove the unintentional bias.

mck- 2 days ago 0 replies      
May I also suggest an update to the flamewar trigger algorithm? Or at least this is what led me to believe it is a flamewar trigger [1]

Oftentimes a post is doing really well [2], accumulating a dozen up votes within 30 minutes, jumping up the front-page, but then because of two comments, it gets penalized to the third page. I can see it being triggered when there are 40 comments, but there seems to be an awfully low first trigger?

[1] https://news.ycombinator.com/item?id=7204766

[2] https://news.ycombinator.com/item?id=7578670

lettergram 2 days ago 0 replies      
"We believe this has made the comment scores and rankings better reflect the community."

It would be interesting to see how you could actually change the community via comment filtering.

For example, if some individuals are always posting negative comments and were previously not silenced. I wonder if now that they are being silenced if they would leave the community entirely, just keep posting and ignoring the results, or change their comments to fit the community.

raverbashing 1 day ago 0 replies      
I had a moderator intervention happen in one thread, however, I think the moderators, when speaking "on behalf of HN" should have a way to indicate that (like an indication on their username, or something similar)

Otherwise it looks like anyone just decided to intervene.

zatkin 2 days ago 3 replies      
I recently joined Hacker News, and actually read through the guidelines before making an account. If there was one area where I feel that anything convinced me to be smart about what I post, it would be those guidelines.
chrisBob 1 day ago 0 replies      
The biggest problem I see is that the combination of a threaded discussion and the strong ranking provides an incentive for replying to a another comment even if a new comment would be more appropriate.

This, for example, is much more likely to be buried than if I replied a few comments down on the thread from bravura.

abdullahkhalids 2 days ago 0 replies      
It would be interesting if you published stats for each user: how often they upvote and downvote compared to the average for starters.

It would also be useful to know how often other people upvote (downvote) the comments I upvote (downvote).

These stats should only be privately viewable.

gautambay 1 day ago 0 replies      
>> and specifically, they dont silence minority groupsweve looked into this

curious to learn how this analysis was conducted. e.g. how does HN determine which users belong to a minority groups?

onmydesk 2 days ago 3 replies      
"We believe this has made the comment scores and rankings better reflect the community."

Is that desirable? A better debate surely entails more than one opinion. I also don't know what a 'jerk' is, someone that disagrees with the group think?

I just don't think its that big a problem. But thats just one opinion that might differ from the collective and therefore must have no merit? An odd place. Over engineering! To be expected I suppose.

rickr 1 day ago 0 replies      
Is there a template or example post for the first item?

I've thought about doing this in the past but I didn't want to seem too elitist.

mfrommil 2 days ago 0 replies      
I've always thought of upvote/downvote as a "thumbs up" or "thumbs down" - do I like your comment?

Sounds like the new algorithm penalizes disrespectful/spammy comments, rather than the "difference in opinion" comments (which is good). Could a 3rd option be added to differentiate this, though? Have option for upvote, downvote, and mark as spam (I'm thinking a "no" symbol).

dkarapetyan 2 days ago 0 replies      
Awesome. Keep up the good work. I am definitely enjoying the new HN much more. The quality of articles is way up and the comment noise is way down.
darkstar999 2 days ago 1 reply      
When (if ever) do I get a downvote button?
ballard 2 days ago 0 replies      
Definitely gotta give you guys a standing ovation for yeomen's work.
brudgers 2 days ago 0 replies      
It might make sense to increase the amount of time in which a negativemy scored comment can be edited or deleted.
robobro 2 days ago 0 replies      
Thanks, guys - didn't come to say anything more
bertil 2 days ago 0 replies      
> specifically, they dont silence minority groupsweve looked into this

I would love to have more details about that: what do you define as minority, and how do you measure silencing.

borat4prez 2 days ago 0 replies      
Can I use the new HN comments algorithm on my new website? :)
Igglyboo 2 days ago 0 replies      
Could we please get collapsible comments?
darksim905 1 day ago 0 replies      
Wait, you can downvote?
larrys 2 days ago 1 reply      
"It's clear from the data that they reliably downvote jerks and trolls"

Most people know what a jerk is. Perhaps though you (and others) could define what a troll is for the purpose of interpreting this statement. (Of course I know the online definition [1] but think that there seems to be much latitude in "extraneous, or off-topic messages" or "starting arguments".)

Specifically also from [1]:

"Application of the term troll is subjective. Some readers may characterize a post as trolling, while others may regard the same post as a legitimate contribution to the discussion, even if controversial."

While as mentioned I know what a jerk is, I can also see very easily someone throwing out "troll" to stifle someone else in more or less a parental way. That is to nominalize something as simply not important or worth even of discussion.

[1] http://en.wikipedia.org/wiki/Troll_%28Internet%29

pearjuice 2 days ago 3 replies      
Can anyone explain to me how this is not putting the common denominator in more power even further? At this point, unless you extensively agree with the majority of the echo circle, I doubt you will be able to have any impact on discussions.

Every thread is a rehearsal with same opinions at the top over and over and non-fitting opinions float to the bottom. In which turn, they get less "downvote-power" so they will stay low and can't get their peers above. I am not saying that the current flow of discussion is bad, I am just saying that participation is flawed.

We are simply in a system where you get awarded to fit to the masses and you get more power once you have been accepted into the hive-mind. A circular-reference at some point.

Ask HN: What source code is worth studying?
361 points by SatyajitSarangi  2 days ago   164 comments top 74
sillysaurus3 2 days ago 11 replies      
== Vim or Emacs ==

Just pick one and force yourself to use it to the exclusion of other editors. Future you will thank you later, because you'll still be using it 20 years from now. "We are typists first, programmers second" comes to mind. You need to be able to move chunks of code around, substitute things with regexes, use marks, use editor macros, etc.

== 6.824: Distributed Systems ==

http://pdos.csail.mit.edu/6.824-2013/ Do each lab. Read the discussion and rtm's course notes.

== Tarsnap ==

https://www.tarsnap.com/download.html How to write C. Study the "meta," that is, the choice of how the codebase is structured and the ruthless attention to detail. Pay attention to how functions are commented, both in the body of the function and in the prototypes. Use doxygen to help you navigate the codebase. Bonus: that'll teach you how to use doxygen to navigate a codebase.

== xv6 ==




Read the book. Force yourself to read it in its entirety. Use the source code PDF to study how to turn theory into practice.

== Arc ==


You're not studying Arc to learn Arc. You're studying Arc to learn how to implement Arc. You'll learn the power of anaphoric macros. You'll learn the innards of Racket.

Questions to ask yourself: Why did Racket as a platform make it easier to implement Arc than, say, C/Golang/Ruby/Python? Now pick one of those and ask yourself: what would be required in order to implement Arc on that platform? For example, if you say "C," a partial answer would be "I'd have to write my own garbage collector," whereas for Golang or Lua that wouldn't be the case.

The enlightenment experience you want out of this self-study is realizing that it's very difficult to express the ideas embodied in the Arc codebase any more succinctly without sacrificing its power and flexibility.

Now implement the four 6.824 labs in Arc. No, I'm not kidding. I've done it. It won't take you very long at this point. You'll need to read the RPC section of Golang's standard library and understand how it works, then port those ideas to Arc. Don't worry about making it nice; just make it work. Port the lab's unit tests to Arc, then ensure your Arc version passes those tests. The performance is actually not too bad: the Arc version runs only a few times slower than the Golang version if I remember correctly.

== Matasano crypto challenges ==

http://www.matasano.com/articles/crypto-challenges/ Just trust me on this one. They're cool and fun and funny. If you've ever wanted to figure out how to steal encrypted song lyrics from the 70's, look no further.

== Misc ==

(This isn't programming, just useful or interesting.)

Statistics Done Wrong http://www.statisticsdonewrong.com/

A Mathematician's Apology http://www.math.ualberta.ca/mss/misc/A%20Mathematician's%20A...

Surely You're Joking, Mr. Feynman http://web.archive.org/web/20050830091901/http://www.gorgora...

Zen and the Art of Motorcycle Maintenance http://www.arvindguptatoys.com/arvindgupta/zen-motorcycle.pd...

== Above All ==

Don't fall in love with studying theory. Practice. Do what you want; do what interests you. Find new things that interest you. Push yourself. Do not identify yourself as "an X programmer," or as anything else. Don't get caught up in debates about what's better; instead explore what's possible.

stiff 2 days ago 1 reply      
I think you get more benefit from reading code if you study something very close to what you are working on yourself, something in the same domain, in the same framework perhaps, or at least in the same programming language, at best something you are deeply involved in currently.

I never seem to get enough motivation to read deeply into random "grand" code bases like Lua or SQLLite, but some months ago I got into the habit of always studying a bunch of projects that use a given technology before I use this technology, and it greatly decreased the amount of time it takes me to get to a "idiomatic" coding style. So instead of diving in a random, I would recommend making researching existing code-bases related to what you are currently doing an integral part of your workflow.

willvarfar 2 days ago 1 reply      
Fabien Sanglard http://fabiensanglard.net has some excellent code reviews on his website, particularly games.

You could read some of the code-bases he reviews, and then read his review. You'll be able to compare and contrast your opinions with his, and if there's interesting variation you can blog about it ;)

robin2 2 days ago 0 replies      
Slightly off topic, but Peter Seibel's take on the idea of code reading groups, and the idea of code as literature, is interesting: http://www.gigamonkeys.com/code-reading/

"Code is not literature and we are not readers. Rather, interesting pieces of code are specimens and we are naturalists. So instead of trying to pick out a piece of code and reading it and then discussing it like a bunch of Comp Lit. grad students, I think a better model is for one of us to play the role of a 19th century naturalist returning from a trip to some exotic island to present to the local scientific society a discussion of the crazy beetles they found."

The reason this is off topic is that it sounds like you were after interesting specimens anyway. I don't have any code examples as such, although if algorithms count I'm particularly fond of Tarjan's algorithm for finding strongly connected components in a directed graph, and the Burrows-Wheeler transform (as used in bzip).

fotcorn 2 days ago 2 replies      
The Architecture of Open Source Applications book[0] gives a high level overview on many open source projects. It's a good starting point to dive into the code of these projects.

[0] http://aosabook.org/en/index.html

oneeyedpigeon 2 days ago 1 reply      
To mix things up a bit, I'm going to give two very small examples of code that can be understood quickly, but studied diligently. Both are in JavaScript, which I notice you mention specifically in another comment:

[1] Douglas Crockford's JSON parser. Worth a look because it is excellently commented and is easily understandable https://github.com/douglascrockford/JSON-js/blob/master/json...

[2] Bouncing Beholder. A game written in 1K of highly obfuscated code, which the author expands upon here. Worth it because it teaches some crazy optimisation techniques that are applicable to all programming, but also includes plenty of javascript-specific trickery. http://marijnhaverbeke.nl/js1k/

dailo10 2 days ago 1 reply      
Python Sudoku Solver by Peter Norvig -- an elegant solution in one page of code. When I read this, I felt like code is art.


davidw 2 days ago 0 replies      
I'm partial to the Tcl C code:


It's very nicely commented and has a nice, easy to read style throughout (except for the regexp files).

pcx 2 days ago 0 replies      
I've heard lots of people sing praises for Redis source - https://github.com/antirez/redis. A cursory look into the source shows a very well documented code-base. It's one of the top items in my to-read-some-day list. Salvatore is an excellent C programmer and takes a lot of pain in writing good documentation, despite his not so great English skills. A shout out for him, thanks for setting an example.
raverbashing 2 days ago 0 replies      
The Linux Kernel

Very clean (mostly) and very revised C code, following a strict code convention

(Of course it's kernel code, so some things don't apply to userspace, still)

pavlov 2 days ago 0 replies      
I learned a lot from the Cocotron source:


It's a free cross-platform implementation of Apple's Cocoa, so there's a lot of stuff there. But the project is well organized, and almost everything is written in a minimalist oldschool Objective-C style.

I've looked at some other cross-platform frameworks, and they are often hard to understand because they have been developed by a large group of developers and include lots of complex optimizations and platform-specific code paths. Cocotron is not as finely tuned as Apple's CoreFoundation (for example), but much more readable.

biscarch 2 days ago 1 reply      
Erlang: Riakhttps://github.com/basho/riakRiak is actually a layering of a few different projects including Riak KV, Yokozuna (Solr), Riak Core, etc. It was grown out of the Dynamo paper.

Haskell: Snaphttps://github.com/snapframework/snapSnap is another project built in layers (snap-server, io-streams, snaplets, snap-core). The 1.0 release makes some pretty massive structural changes behind the scenes changes with minimal breakage of the public api and io-streams is a very nice api to work with.

JavaScript: Underscore.jshttp://underscorejs.org/docs/underscore.htmlUnderscore is a utility library that gives a nice overview of various techniques in JS, such as how to handle equality, use of apply, ternary operators, etc. Many functions have fallbacks to ECMAScript 5 native functions.

SixSigma 2 days ago 0 replies      
The plan9 operating system

* The lack of ifdef's that make cross compiling a breeze

* It is easy to understand, compare to reading the Linux kernel


spacemanmatt 2 days ago 1 reply      
Please enjoy the source code of PostgreSQL (any version, but latest is generally recommended) core. It is very well factored, and typically also very well commented. This community cares a great deal about code quality, because they are so clear on the relation between readability, diagnosability, and execution correctness.
oscargrouch 2 days ago 0 replies      
My personal list (mostly imperative languages)

C++: (Complex software with elegance + performance )

  Dart source code  V8 source code (Same people as Dart)  LevelDB  Chrome (the only downside: too much virtual dispatch ->   "javism")

  SQLite  Redis  Nginx  Solaris and Freebsd

  Rich Hickey implementation of the clojure runtime in Java  (it was there in 2009.. maybe now this is in clojure itself??)

  The Go standard libraries

fit2rule 2 days ago 2 replies      
The sources to Lua are pretty darn great:


lamby 2 days ago 0 replies      
"Beautiful Code" is worth a read-through, particularly for the commentary.

(One thing that I still remember years on is the "drop of sewage" example.)

olalonde 2 days ago 0 replies      
Javascript/Node.js: pretty much anything written by https://github.com/visionmedia his less popular libraries are not very well commented though) https://github.com/jashkenas/underscore

Scheme (and functional programming in general): examples/exercises from the SICP book

AhtiK 2 days ago 2 replies      
Python => SQLAlchemy

Very clean, feature-rich yet pragmatic and well documented. https://github.com/zzzeek/sqlalchemy

projectileboy 2 days ago 1 reply      
I'd echo the advice to read the Arc source, and I'd add the various versions of Quake (C, C++). I learned a lot reading John Carmack's code.
rch 2 days ago 0 replies      
Take a look at Redis sometime. You might want to actually work on it a bit to help internalize what you're reading. Here are a couple of articles that might help get you started:



Locke1689 2 days ago 0 replies      
http://source.roslyn.codeplex.com/ for high performance, immutable C# code.

You'll see some differences from more relaxed C# projects (e.g., we avoid allocations like the plague), but I'd say we have pretty good style. ;)

agumonkey 2 days ago 0 replies      
I really enjoyed skimming through Ian Piumarta's Maru, a Lisp in C, very pretty code, very concise. (I already mentioned it in other topics)


DalekBaldwin 2 days ago 1 reply      
Honestly, aside from learning to express a few extremely specific patterns in your language of choice concisely and elegantly and reminding yourself of the existence of certain libraries and utility functions so you don't accidentally waste time reinventing them, I think reading source code is a pretty useless exercise unless you also have a detailed record of how that source code came to exist in its present form. Until there is some revolutionary new tool for generating a human-understandable narrated history of large-scale design decisions from a source control history, your time will almost certainly be better spent reading textbooks that incrementally develop a piece of software over several chapters. Even that is cheating -- the authors know exactly where they want to end up and they won't include all the missteps they made when they first started writing similar programs. But it's still loads better than the alternative. Just as sitting in a law school library absorbing an encyclopedic knowledge of the law won't really train you to make arguments that will fly in front of a judge, reading a code base as a dead, unchanging document won't teach you what it is to live in that code.
paulrademacher 2 days ago 1 reply      
Any suggestions for smaller codebases? A lot of these are great and you'll pick up idioms here and there, but they're massive.
DonHopkins 1 day ago 0 replies      
I highly recommend checking out http://voxeljs.com for some beautifully factored JavaScript npm packages, that implement a lot of Minecraft and more in the browser.

Max Ogden's talk (the first video on that page, also here: https://www.youtube.com/watch?v=8gM3xMObEz4 ) about how voxeljs and browserify work is inspirational, and his energy, motivation, deep understanding and skill, thirst for learning, reading other people's code, building on top of it, and sharing what he built and learned, is extremely contagious!

You may want to pause the video frequently and take notes -- there is so much great information in there, and he covers a hell of a lot of amazing stuff.

And the source code is really nicely broken up into lots of little npm modules that you can plug together to make all kinds of cool stuff.

This stuff is a great fun starting point for teenagers or students to learn how to program and create their own games and web applications, or master programmers to learn the node.js / npm ecosystem and idioms. There are some great ways for new and non-programmers to get into it.

He says "Everyday I work on it I get more motivated to work on it" -- and you will too!

What you will be benefitting from by watching his video and reading his code, is the fact that he actually did a survey of a HUGE amount of code, and took the best, read it, learned from it, rewrote it, and built on top of it.

"So many people have written voxel stuff, that I should just copy them." He used github search, and searched for minecraft, filtered by javascript, and went through ALL 23 PAGES of projects! He cloned ALL the repos he found, and read the ones that seemed promising, cloned them, got them running, understood how they worked.

A lot of them were the classic genius programmer projects, really impressive visually, super hard to understand, a giant lib folder with 50 files, everybody writing their own 3d engine.

Then he found out about three.js, and learned that, and combined all the stuff he had seen on top of it, including a PhD project in computational geometry that showed how to efficiently implement minecraft with three.js, for removing interior faces, etc.

So he learned from and built on top of all that great stuff, and made voxel.js and an insane amount of demos. Now the community has written a whole bunch of nice modular node.js npm modules and demos, that browserify can combine them together into a package that runs in the browser.

My only trivial beef with it is that their style guide says not to use trailing semicolons! That makes emacs very irritated and it breaks out in a rash.

But other than that, the code is very clean and modular and comprehensible, and opened my mind to a lot of stuff that I didn't realize was possible.

twelvechairs 2 days ago 0 replies      
The most interesting things to read are those where a programmer has done something cleverly, but this only needs to happen when your language or libraries make it hard for you to begin with. Aside from low-level performance intensive functions, the best code is not interesting to read - it just reads like statements of fact.
betterunix 2 days ago 0 replies      
SBCL or CMUCL -- Lisp compilers written in Lisp.
agentultra 2 days ago 0 replies      
Anything you find interesting or find yourself using frequently.

A less glib answer try Brogue: https://sites.google.com/site/broguegame/

A very interesting roguelike with interesting constraint-based features.

hiisi 2 days ago 0 replies      
C -> Redis

I haven't written any C for years, but really enjoyed skimming through Redis codebase, it's so clean, easily understandable and extensible.

villek 2 days ago 2 replies      
I found the annotated source code of the underscore.js to be very educational: http://underscorejs.org/docs/underscore.html
kjs3 2 days ago 0 replies      
I learned a huge amount about how real operating systems are put together and the compromises that get made by reading the V6 Unix source via John Lions Commentaries (yes...I had a photocopied copy). Made exploring the BSD 4.2 and 4.3 source trees (another worthwhile exercise) much easier. I suppose if I was starting out today and not in 1985 I'd look at xv6 or Minix.
nicholassmith 2 days ago 0 replies      
I had a read through the PCSX2 emulator recently, that was quite interesting: https://github.com/PCSX2/pcsx2 it's a complex project in what was surprisingly readable C++ code.
riffraff 2 days ago 0 replies      
Not a specific codebase, but I went through "Code Reading"[0] many years ago, I found it interesting. Most reviews are not very positive though, so maybe it was just at the right point for me.

[0] http://www.amazon.com/Code-Reading-Open-Source-Perspective/d...

patrickg 2 days ago 0 replies      
I suggest the source code of TeX. Not new, but still very interesting to read.

source that needs some postprocessing (tangle/weave):


PDF from the source (including hyperlinks)


jacquesm 2 days ago 5 replies      

  C -> Varnish  PHP -> Yii   Ruby -> Merb  Scheme -> Arc  Clojure -> Core  JavaScript -> Multeor
Any languages in particular that you're interested in not covered above?

laichzeit0 2 days ago 1 reply      
Eric S. Raymond wrote a book The Art of Unix Programming [1] that has many "case studies" as well as recommendations of which software/RFCs are particularly worthy of study.

[1] http://www.faqs.org/docs/artu/

davedx 2 days ago 2 replies      
* BackboneJS

* UnderscoreJS

budu3 2 days ago 0 replies      
The old jQuery 1.6.2 code by John Resig is a good start for studying good JavaScript coding practiceshttp://robflaherty.github.io/jquery-annotated-source/
tlrobinson 2 days ago 2 replies      
Lots of great suggestions here, but I'm interested in how you go about reading source code, especially very large codebases?
pincubator 2 days ago 1 reply      
Also can someone suggest what is the best way to approach code reading? When I open a library in Python, I am not sure where to start reading, just a bunch of files. Should I randomly pick one file and start reading from there? Is there any common strategy?
redox_ 2 days ago 0 replies      
For all low-level I/O details (fflush/fsync/fsyncdata on files/directories after creation/renaming), I've used to read MySQL routines, pretty simple to understand: https://github.com/twitter/mysql/tree/31d6582606ddf4db17ad77...
entelect 2 days ago 0 replies      
nextos 2 days ago 0 replies      
I think 2 suggestions by plinkplonk in the original thread would be still relevant:

Common Lisp - "Paradigms of Artificial Intelligence Programming" by Peter Norvig and "On Lisp" by Paul Graham

C - "C Interfaces and Implementations"

Minix 1 and XMonad are also very good suggestions too.

rasur 2 days ago 0 replies      
Anything by Fabrice Bellard (Google him, it's worth it).
collyw 2 days ago 1 reply      
Slight tangent to your question, but one thing I have noticed recently is that having to deal with really crap code inspires me to do my own better.

I inherited a colleagues work after she left, and it was horrible. But I thought about why it was horrible, and how to make it better. What would it look like if it was done well?

Even with my own code, if I look at something I did 6 months ago, and it doesn't make sense straight away, the it can usually be improved.

chris_wot 2 days ago 0 replies      
It's not great code (though I'm working to make it so), and perhaps not the intent of this question - but if you want to looking at a 25+ year old codebase that's being refactored, check out LibreOffice, especially the VCL component:


tuxguy 1 day ago 0 replies      
There is a good book on this themehttp://aosabook.org/en/index.html

, where the authors actually go deep into the design & architecture of selected well designed open source projectse.g. llvm, git, freeswitch, etc.

Highly recommended !

j_s 2 days ago 0 replies      
In the .NET world, shanselman has a series of Weekly Source Code blog posts and most recently posted a list of seven 'interesting books about source and source code'.


rabino 2 days ago 0 replies      

To learn how to document code.

lightyrs 2 days ago 0 replies      
I find anything by https://github.com/jashkenas to be transparent and enlightening.
DonHopkins 1 day ago 0 replies      
The original source code to Zork in MDL. It doesn't matter if you don't know MDL. It's such beautiful code that it just explains itself to you. And if you've played Zork, it's like being invited to explore the underground backstage areas of Disneyland.


borntyping 2 days ago 0 replies      
Python: Flask (and related projects
vishnugupta 2 days ago 0 replies      
I'm fascinated by concurrent programming. I find that reading classes from Java's java.util.concurrent package gives me very good practical insights as to what goes into building a concurrent class. My all time favorite is ConcurrentHashMap :)
diegoloop 2 days ago 0 replies      
I made this tool: http://codingstyleguide.com to improve the way I code for different languages and not get lost with too much programming information and it's helping me a lot.
twunde 2 days ago 1 reply      
For PHP, I've been very impressed by Phabricator's code (and the related phutils library). It's worth looking at the git commits as well to see just how clean and structured commits can be.I'm much more impressed by it than by any PHP framework code I've read (and I've read Zend, Symfony2, li3, codeigniter as well as custom frameworks)
zengr 1 day ago 0 replies      
If you are into java, ElasticSearch is very nicely written by Shay Banon.


maccard 2 days ago 0 replies      
I'm interested in Game Development, specifically physics simulation and graphics programming. The box2D code (C) is fantastic.
raju 2 days ago 1 reply      
Any suggestions for Clojure projects?

[Update: Oops. I missed the "Clojure -> Core" by jacquesm]

qwerta 2 days ago 0 replies      
For Java I highly recommend H2 SQL DB. It has everything (parsers, sockets, webui...) in very tight and nice package.
snarfy 2 days ago 0 replies      
If you are interested in rendering engines I suggest Irrlicht. It's fairly clean and easy to understand.
Hydraulix989 2 days ago 1 reply      
C -> nginxC++ -> Chrome
dfkf 2 days ago 0 replies      
dschiptsov 2 days ago 1 reply      
db48x 2 days ago 0 replies      
TeX the Book is good, even if it is in Pascal.
ddz 2 days ago 0 replies      
Find yourself a copy of this. Not only did it play a crucial role in the history of the UNIX/Linux world, it is a gold mine for understanding operating systems.http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th...
s_dev 2 days ago 0 replies      
I've heard that reading the Git source code is very beneficial but haven't done it myself yet.
eadler 2 days ago 0 replies      
FreeBSD kernel & userland
willvarfar 2 days ago 1 reply      
(You say the 'naive' way; how can it be compressed better?)
visualR 2 days ago 0 replies      
RhysU 2 days ago 0 replies      
marincounty 2 days ago 0 replies      
Get to know the command line before you start any language.
plicense 2 days ago 0 replies      
Everything at Google.
Ask HN: What apps did/do you use for cold calling?
3 points by jpau  6 hours ago   2 comments top
perydell 3 hours ago 1 reply      
You could try phoneburner.com.
Ads are disgusting.
18 points by redxblood  4 days ago   discuss
MCarusi 4 days ago 2 replies      
As a content creator myself it's disappointing when I see Adblock rates as high as they are, but I absolutely get it. If I'm upset at anyone in the Adblock debate it's the advertisers; the people who introduced intrusive pop-ups, auto playing videos, and those obnoxious banners with the smileys that scream "OH MY GOD, NO WAY!"

Then there are the issues of ads causing videos to freeze, browsers to crash, and containing malware. Or what if the ads are offensive to you or you have young kids in the house? For me it's impossible to blame users who just want to view their content in the most optimal way, which is why I see Adblock as a barometer for how satisfied users are with the way websites are delivering both paid and organic content.

chrisBob 4 days ago 2 replies      
I love Ads. With out them I would have to pay for a lot of the services that I enjoy for free (like google). Some sites are worse than others, and I chose to avoid them rather than stealing their service as you are.
cylinder 4 days ago 2 replies      
I'm assuming you'd be fine with paying for every Google search you make instead?
TheLoneWolfling 3 days ago 0 replies      
My thoughts on ads:

I don't mind ads, as long as the following conditions are met:

* They don't present a security risk.* They don't impede the usability of the website (or, in the case of some ads, Firefox in general! Some Flash ads use absurd amounts of CPU) .* They don't leak information to third parties who may resell said information.

However, pretty much all ads in practice fall into one or more of these categories.

chrisBob 4 days ago 1 reply      
An additional option is to avoid sites that use practices, or a business model you don't like. For example: I like the forecast from weather.com, but they are one of the worst sites I have seen, and heaven help you if you have your speakers turned on when you visit them.

Now I use weather.gov and I am pretty happy with the result.

lumpysnake 4 days ago 0 replies      
The problem is not with the ads themselves. What you described here screams ADWARE at me. Somehow, your grandpa got an adware installed on his machine (maybe by clicking on every ad that says "boost your computer speed by 10x!"). That's what is causing him such a painful browsing experience.
fuj 4 days ago 1 reply      
Are you willing to pay for every website you visit? Oh yeah, you don't think you should pay for anything. Somehow money goes on trees for the websites owners, how dare they try to monetize their investments!
J_Darnley 4 days ago 0 replies      
Yes. Yes they are. You won't find a lot of support for that opinion on this website for websites which want to slurp up all your data just to sell it onto someone else.
ninju 4 days ago 1 reply      
Yes...ads are annoying but they are not normally as annoying as the espericence you had at your grandpa house.

I think he may have a virus/malware installed that is feeding extra ads into the browsing session..particulary the aggressive pop-up windows are indicative of client-side malware

You should you do virus check/removal with a reputable program.

gregcohn 4 days ago 0 replies      
Is there anything more disgusting than ads that are disguised as mid-article section headers?
bediger4000 4 days ago 1 reply      
I agree. Advertising is a plague upon us, whether it finances free stuff or not.
Ask HN: What is more valuable, Y Combinator or an internship?
5 points by LukeWalsh  3 days ago   17 comments top 7
pbadger0 2 days ago 0 replies      
First of all, I feel like HN is going to give you a skewed perspective here. As far as I've seen, the HN community is way more GOGOGO DO A STARTUP than most, and the skill sets and life paths they value might not be the ones your parents value.

Secondly, I've done both. I've started my own company, which got rejected from YC and ended up in another incubator, DreamIt Ventures, and ended up crashing and burning due to a variety of reasons. I've also spent a summer, and now the better part of a year working at a YC company, Amicus (totally check it out, its an amazing place to work.) I'd say I was incredibly happy with both experiences, but I gained different things from each one.

YC, or the accelerator experience, puts you in the hands of some top start-up gurus and mentors, creates sky high stakes, and gives you the opportunity to build something really awesome yourself. If you have previous startup experience, an idea truly worth the immense work, and/or a co-founder whom you trust with your life, this might be for you. When asked if I'd do DreamIt ventures again, I always say yes, but I warn people that its way harder than you first expect, and if the mix is a off with your co-founder, it can be a few months of extreme pain and constant difficulty. You learn way more about the ins and outs of running a company, and the feeling of having your work criticized to no end, and of failing despite everything you tried. This is a good way to improve certain skills, but I'd argue not all skills fall under this category.

The intern experience is more flexible. From everyone I've talked to, it seems that most companies are looking for especially driven young people who will try really hard before giving up and who will generally do more than their employer asks. This means that once you have the spot, your employer probably isn't going to put much stress on you to work incredibly hard, and while the culture might demand that you work more than 9-5 every day, you generally can take weekends off, or take a day off here and there. This means that if your goal is to learn how to run a software team, as well as pick up a bunch of different tech in your free time, this is for you. If there's a hackathon in the city you're in, you can part-take, and if there is a tech talk that will take an extra day, you can almost definitely get out of work to go check it out. One of my friends at Amicus spent every weekend hacking on a side project, and had an incredible portfolio by the end of the summer, as well as new knowledge of how to write clean code and manage an engineering team of more than one or two.

Now its not to say that you can slack off at work, or not take one of these internships seriously, but at the end of the day you're either trying to 1. Learn a lot or 2. Get a permanent position at the company you're interning at. For the first goal, theres a lot of flexibility to put down your internship work when you go home, and build that cool project you haven't had time for, and for the second, a quality employer will judge you by the quality of your work, not your hours.

Thus, you really have to think about what you want to get out of an internship. Do you want to learn from the engineering pros, get feedback on your work, and build side projects, or do you want to learn to pitch as well as push code, do UX research as well as debug, and have a company in your name instead of your name on a company. Both scenarios are amazing opportunities, you just have to figure out which one fits you better.

tlb 3 days ago 1 reply      
Please don't start a startup to gain a credential.
solomatov 2 days ago 0 replies      
I interview developers at a medium sized software company. Definitely the second would be more valuable for me, unless the startup does something complex, not another hipster consumer site as most of the startups do.

However, everything depends on what you want. If you want to have very interesting work, which uses cool tech and is knowledge intensive, you should choose companies which can afford long term investments, not small startups which want to get profitable quickly. If you want to get rich, you probably should choose a different path, but I don't have expertise here.

27182818284 2 days ago 0 replies      
It depends on your age.

Going to YC too young is considered "premature optimization" by at least one if not more of YC's founders.

sharemywin 2 days ago 0 replies      
Here's is why you go to Y Comb. If your parents can't understand this then ignore them. Sometimes "smart" skips a generation. The only internship worth more would be a congressional one.

"Because we fund such large numbers of startups, Y Combinator has a huge "alumni" network, and there's a strong ethos of helping out fellow YC founders. So whatever your problem, whether you need beta testers, a place to stay in another city, advice about a browser bug, or a connection to a particular company, there's a good chance someone in the network can help you."

massappeal 3 days ago 2 replies      
Trying really hard no to be a dick here. I'm not exactly sure you understand the nature of YC or start-ups in general, but objectively, you'll learn more by building, or trying to build, your own company, than you will by interning for one.
angersock 3 days ago 0 replies      
From a hiring standpoint, I don't really care where you've interned or where you accelerated/failed/decelerated. In rough order of importance, I care if you get along with my team, if you can think through problems, and if you know enough to work on things. I could give two cares if you have the Paul Graham Seal of Approval, or if you won Palantir's Summer MVP award.

You come off here (as is pointed out by tlb and massappeal) kind of approval-seeking. You should be in business for yourself, because you think that you are better off starting a business than not.

And if your parents don't approve, you need to decide for yourself whether or not to follow their wishes: a bunch of random jerks on the 'net can't really help you there. It's part of becoming an adult.

(Also, I've seen your Github and I've skimmed Outfitly--can you please consider something a bit more useful to attempt as a business? Please? You seem too smart to be chasing vapid B2C stuff).

Ask HN: Patent infringement re "Pomodoro" aka Tomato
3 points by semerda  2 days ago   2 comments top
swanson 2 days ago 1 reply      
Kind of surprised that you haven't been contacted regarding GTD as well: http://wiki.43folders.com/index.php/GTD/Copyright_Issues
Ask HN: Examples of GPL Licence Violations being enforced?
31 points by secfirstmd  8 days ago   discuss
bkuhn 8 days ago 1 reply      
I've devoted most of my career to upholding the software freedom that the GPL ensures. I have worked with Rob Landley in the past who is mentioned on this thread. I think Rob has some facts wrong about BusyBox enforcement. The most notable one is his claim that "no new source code got released".

In fact, we get "new source code" all the time from GPL enforcement efforts. The thing is, it's admittedly not often upstreamable source. A lot of the modifications to source done by redistributors of GPL'd software is not really well formed nor suitable for upstream. It's that classic kind of "it just works, but it's ugly" code.

This is particular true with regard to the "scripts to control compilation and installation of the executiable" which is a required part of the complete, corresponding source, provision of which the GPL mandates.

Situations like the WRT54G (the GPL enforcement source release of which launched the OpenWRT project) and the Samsung TV lawsuit that I helped do (which launched the SammyGo project: http://www.samygo.tv/ are excellent examples of what great things happen when the GPL is enforced: reaching the promise of copyleft, which is hackable devices downstream.

This is why I've spent(and probably will spend) most of my professional life enforcing the GPL.

This post here is about a few specific issues, but if you want more general information on the topic, dalke's link to my talk is probably helpful. Also, here's links to the docket of the largest GPL enforcement lawsuit ever done, Conservancy v. Best Buy et al: http://ia700409.us.archive.org/18/items/gov.uscourts.nysd.35...

BTW, sorry for jumping into this thread. I'm kinda the Kibo of Free Software licensing discussion online; I'm not an HN regular but mlinksva linked me to this.

dalke 8 days ago 1 reply      
There have been many cases. See "12 Years of Compliance: A Historical Perspective" with sound at http://faif.us/cast/2011/sep/13/0x18/ and the slides at http://ebb.org/bkuhn/talks/LinuxCon-Europe-2011/GPL-Complian... .

Linksys distributed GNU software in their routers, in violation of the license. See http://en.wikipedia.org/wiki/Free_Software_Foundation_v._Cis... for details. It links to the FSF's complaint at http://www.fsf.org/licensing/complaint-2008-12-11.pdf if you want to see the low-level legal details.

That WP page ends "On May 20, 2009 the parties announced a settlement which includes Cisco appointing a director to ensure Linksys products comply with free software licenses, and Cisco making an undisclosed financial contribution to the FSF."

Mikeb85 8 days ago 1 reply      
I'm sure you could find plenty of examples of violations being enforced.

Interesting note though - GS did not violate the GPL because they didn't distribute the code. The GPL allows an organization to modify and use code for its own use without releasing it as long as it's not distributed outside the organization.

antocv 8 days ago 1 reply      
Huawei has 4G routers with Linux busybox and everything, and a "Written offer GPL" but, when requested, they dont give a shit about it really.

Ive had more products break GPL than Ive broken copyright before I learned Linux when I was pirating windows software.

Just not much to do really, its only the copyright holder that can actually push for enforcmenet of copyright, and me as a user am pretty much screwed.

tjaerv 8 days ago 0 replies      
Check out this presentation by Rob Landley (@landley), who started the infamous BusyBox lawsuits:


He talks about the lawsuits and the effects they had.

vesinisa 8 days ago 0 replies      
Earlier, projects like BusyBox[1] and FFmpeg[2] used to have a "hall of shame" where they listed products (mostly DVD players, set-top boxes and routers) and companies that used the GPL'd source without attributing and publishing back their source code. Nowadays, both projects point to Software Freedom Conservancy in questions of license enforcement.

1: https://web.archive.org/web/20130116093247/http://busybox.ne...

2: https://web.archive.org/web/20101214233906/http://ffmpeg.org...

secfirstmd 8 days ago 4 replies      
This might sound tongue in cheek but I would love to have a version or way of having an open source license where it can be used by anyone except businesses or industries I find unethical and specifically prohibit in the licence. For example, that what i help create can be used like a GPL by anyone unless a person or company involved in the defence industry, private or state intelligence, selling FinFisher type stuff, diamond mining, investment banking, supplier to the Saudi Arabian government, etc etc :)

Is there such a thing or a specific way of doing this?

aroch 8 days ago 3 replies      
VLC was pulled from the AppStore due to incompatibilities between GPL and the AppStore distribution method (DRM).
99throwaways 8 days ago 0 replies      
A GPL xml library used in commercial product:


Ask HN: Have you heard back about your 2014 H1-B visa application?
5 points by houseofshards  3 days ago   discuss
       cached 20 April 2014 04:05:01 GMT