I had been doing a lot of ebook reading on my iPad, but sometimes the experience was lacking due to the ereader application that I was using to read the book. Since then I put a variety of ereaders through their paces with various file types, and what follows is a summary of my findings.
I only evaluated iPad ereaders. My primary use for ereaders is for technical books, with fiction novels being a less common use case. As such these were the features I cared about:
- Easy to use & jank-free reading experience
- Nighttime reading mode with a dark background and light text
- Able to import ebooks from Dropbox. (Most of my ebooks are available in .epub, .mobi and .pdf formats. A few ebooks are only available in .pdf. A very few are also available in .daisy or, more rarely, .apk formats.)
- Displays code samples reasonably
- Dictionary look-up
- Font size changing
- Opens URLs
These were the applications I considered:
- Marvin - a relative newcomer to the ereader scene - is well worth the $4 price on the App Store. It's jank free, has ebook searching abilities, and looks and behaves beautifully. It's also got Dropbox integration which saves me from having to suss long titles out of the Dropbox app. Nighttime reading mode was a bit tricky to find in the UI; I expected it to be in the brightness settings, but it was actually in the font settings under "Themes". It only reads .epub files, but it excels at doing so.
- For .pdfs, iBooks is the best option because while Nook can't tell the the difference between a highlighting and a page-turn gesture. Reader doesn't have highlighting, dictionary look-up or even bookmarking functionality.
- Kindle is the only one capable of reading .mobi files. It does a pretty good job at doing so, but the highlighting functionality is a bit wonky.
- Each app which also sells stuff (Kindle, Nook, Play Books, iBooks) is good for reading the stuff it sells. Often you can score free ebooks this way.
- Play Books can open both .pdf and .epub files, but you have to upload them to Google, which then does some kind of conversion on them. When reading a .pdf, the text rendering was fuzzy, and then the app crashed. When reading an .epub, there wasn't any highlighting or note-taking functionality.
- Nothing reads .daisy files.
I went to a constructed deck tournament for Marvel Dice Masters this weekend. I had fun, but didn't expect to lose so much. Here is a review of the cards I brought, and how effective they were in play.
- Ant-Man - Biophysicist (UXM): It's always great to have a 2 energy cost character for the first few rounds, but I think a Beast or Storm might be a Constructed format where players have control of the dice distribution.
- Storm - African Priestess (AVX): Very effective. Load this card up with all 4 dice next time.
- Kitty Pryde - Sprite (UXM): Kitty wasn't as effective as I needed at a cost of 3 energy. Perhaps I'll try her 2 cost card next time.
- Nightcrawler - Circus Freak (AVX): I didn't buy any Nightcrawlers during the matches, because every time I had 4 fist energy, I wanted a Wolvie. I want to play with Kurt, so I will just have to suck it up and try him next time.
- Wolverine - Formerly Weapon Ten (AVX): This Wolvie works great - especially if you can clear all the blockers. Thrown Car's spillover damage helps.
- Black Panther - Wakanda Chief (USM): He would have worked well (Thrown Car counters his "opponents must have fielded characters" limitation), but as another 4 fist energy character, I didn't get him out enough.
- Captain America - Star Spangled Avenger (AVX): This was a very effective card, but difficult to buy since I didn't have any lower-cost Shield type characters.
- Cable - Techno-Organic (UXM): As with Cap, Cable was effective at clearing small blockers, but tricky to buy.
- Thrown Car (AVX): One of the more expensive actions, especially with Wolverine and Black Panther available, but this action always leads to damage.
- Focus Power (AVX): A cheaper action that's almost always useful.
Planet Money's "When Women Stopped Coding" is a 20 minute listen, but it's worth your time. If nothing else, check out the short except at http://www.npr.org/blogs/money/2014/10/21/357629765/when-women-stopped-coding.
One of the most interesting points in this article was that there was a secret prerequisite to college computer courses: knowing computers - from installing software to understanding how to maintain and troubleshoot themachines. Those who had previous access to computers (probably having had one at home as children) only had to learn programming, while everyone else had to learn somewhat advanced computing skills on top of learning programming.
Since I was commonly on free or reduced-price school lunches as a kid, my family ought to have been way too poor to have a computer at home. But one year my mom used using the magic of the tax refund "savings plan" to bring a 386 running Windows 3.0 home. Having this (and follow-on models) at home no doubt played a large part in getting me where I am today - a professional web developer.
Even though I grew up in the 1980s, I didn't perceive any "outsiderness" to girls and women using computers and technology. Perhaps this was because we didn't have cable, and I did a lot less watching TV than reading - where I could more easily imagine myself in any role I wanted. Or perhaps this was because I was the oldest sister in a family of girls; there were no brothers or father at home to allow simple gender-based role assignment.
For further reading, see Gender Codes: Why Women Are Leaving Computing
If you've ever thought about public speaking, here are a few things you might like to know about responding to a call for papers:
- Conference organizers have gotten blind submissions emailed to them from folks they've never talked to. If you see a conference you really want to be a part of, just go ahead and send an email - you won't be the first.
- Most folks haven't written their talk when they submit an abstract or proposal. It's common to use the proposal to test for interest in a topic, and then to develop the talk once it's selected.
- You don't have to be an expert to talk about something. You just have to propose an interesting topic, and if selected to you can do the research to fill in your knowledge gaps.
- You can get an idea of what will probably be successful in a proposal by looking conference's talk summaries from previous years. The summaries are often pasted directly from the proposal. Looking at the conference's artifacts is also a great way to get information about the tone and topics of the conference.
- It's fine to submit multiple proposals; just don't submit the same one multiple times.
- Ask for feedback on topics and abstracts from conference organizers, or even previous attendees. Not everyone has the time to provide feedback, but invaluable when you can get it.
I wasn't interested in any of iOS 8's "big" features in iOS 8, but there are a few small enhancements which are pretty useful:
- Mail.app will pull contact information from signatures and offer to import it into new or existing contacts. This is a huge time saver!
- When typing, the keyboard suggests whole words! (I know that most Android users have had this for a while.)
- Siri talks to Shazam, so now you can identify songs by asking Siri "what's playing?"
- Safari has "request desktop site" - so you can get the whole website from a poorly thought-out mobile site.
Try this Brussels sprout casserole recipe to turn around the Brussels sprouts hater in your household. Roasting the sprouts on a preheated sheet pan ensure that they get cooked through and dark and delicious on the outside. Being able to make most of this dish ahead of time makes it great for avoiding holiday oven-contention.
I was a selected speaker at this year's inaugural Nodevemer in Nashville last weekend. (You can view my talk "0 to Nodebots in 45 Minutes" at https://www.youtube.com/watch?v=TFUSHrn8jPw; here are the related links: http://katiek2.github.io/0-to-nodebots-links/.) I was also able to attend some really great talks:
The Shoulders of Giants (Opening Keynote) - Eliza Brock
- The Pony Express operated for just 18 months.
- Open source saved browsers, and the internet. Firefox and Chrome revived browser development after IE stopped.
Let's just make the site twice. That will be easier.
- Gartner's 2014 Hype Cycle for Emerging Technologies
- False confidence is not expertise. Business people choose based on confidence.
- Many people today have internet access via smart phones, not computers. This means they can't hack!
- Software kills.
Gonzo Game Dev - Earle Castledine
- Basics of games - one infinite loop that:
- Gets user input
- Moves everything just a little bit
- Checks for collisions
- Draws everything
- DHTML Lemmings - circa 2004
- Just use Canvas
- Use bounding boxes a bit smaller than the sprite for collisions
- Stick with 2-frame animations to start
- Useful libraries: Paser.io, Impact.js, Pixi.js, Three.js
Make Art Not Apps - John Brown
- Make something without even knowing what you're making.
- The TUIO Jam
- Glitch a .jpg - just create/change/delete its characters in a text editor
- Tweet a picture to https://twitter.com/avatarglitch
- plin.co: A Plinko-style game board with sensors and projected visualizations. Mind blown.
- Iannis Xenakis - Mathematical Music
- Frieder Nake - Walk Through Raster
- Visualization plugins: p5.js, three.js
- Duet - Party Tetrahedrons
- Homework: #makeart
Open Sourcing Mental Illness - Ed Finkler
- The disease burden of mental illness is huge to many people, but we don't talk about it.
- "What I know" vs. "What I believe internally". You can't give another person your experience.
- http://osmihelp.org/: Mental health resources and articles for the developer community
We cannot stay silent.
Build Your Own #bada55 NodeJS Development Environment - Derick Bailey
- Some people will not code .NET without Intellisense. Does this lead to auto-correct-driven code?
- Nodemon: A file watcher for Node - pickups up router changes and restarts server.
- Configure to watch only apps, routes and libs
- Ignore CSS, ect
- Grunt: Generalized task execution
- + LiveReload = Avoid the save-refresh dance
- Then hook up some tests w/ Jasmine
node debug $(which grunt)
- debug in the REPL
- Project and grunt files also at GitHub
- You are not your IDE either
- "Every email you received was written by a person" on baby internet.
- Failure is 99% of programming.
Open source projects thrive on quality bug reports.
You can hurt people on-line now, and they hurt in real life.
Part of being an adult is cleaning up messes that aren't your fault.
There were other talks that I wasn't able to go to, which I heard were really good. Fortunately, all of the talks were recorded, so I can check them out when I have time: