HackerNews Readings
40,000 HackerNews book recommendations identified using NLP and deep learning

Scroll down for comments...

An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics)

Gareth James , Daniela Witten , et al.

4.8 on Amazon

72 HN comments

Mastering Regular Expressions

Jeffrey E. F. Friedl

4.6 on Amazon

72 HN comments

Game Programming Patterns

Robert Nystrom

4.8 on Amazon

68 HN comments

Steve Jobs

Walter Isaacson, Dylan Baker, et al.

4.6 on Amazon

67 HN comments

Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)

Kevin P. Murphy

4.3 on Amazon

66 HN comments

The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage

Cliff Stoll, Will Damron, et al.

4.7 on Amazon

61 HN comments

Programming: Principles and Practice Using C++ (2nd Edition)

Bjarne Stroustrup

4.5 on Amazon

58 HN comments

Ghost in the Wires: My Adventures as the World’s Most Wanted Hacker

Kevin Mitnick, William L. Simon, et al.

4.6 on Amazon

55 HN comments

Modern Operating Systems

Andrew Tanenbaum and Herbert Bos

4.3 on Amazon

54 HN comments

Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software 2nd Edition

Eric Freeman and Elisabeth Robson

4.7 on Amazon

52 HN comments

The Singularity Is Near: When Humans Transcend Biology

Ray Kurzweil, George Wilson, et al.

4.4 on Amazon

51 HN comments

The Everything Store: Jeff Bezos and the Age of Amazon

Brad Stone, Pete Larkin, et al.

4.6 on Amazon

51 HN comments

Compilers: Principles, Techniques, and Tools

Alfred Aho, Monica Lam, et al.

4.1 on Amazon

50 HN comments

Test Driven Development: By Example

Kent Beck

4.4 on Amazon

45 HN comments

Patterns of Enterprise Application Architecture

Martin Fowler

4.5 on Amazon

43 HN comments

Prev Page 2/16 Next
Sorted by relevance

berntbonNov 16, 2016

Best sources about regexps?

I thought I knew regexps, then I read "Mastering regular expressions". After that I was embarrassed. :-)

arthurofbabylononMay 1, 2020

In case it's useful for others, I found "Mastering Regular Expressions" by "Jeffrey E. F. Friedl" to be very effective for becoming proficient with Regex.

Also – reading it was just a useful look into systems mapping (which is what language is!) with insights that apply in many contexts.

luxonApr 6, 2008

I'll have to think about others still (or turn around and look ;), but "Mastering Regular Expressions" (O'Reilly) really helped me many moons ago. I just bought the latest edition recently to see what's new, and to finally have a copy for my shelf.

pbowyeronMay 16, 2018

It's the best written computer-related book I've read. On a par with Friedl's "Mastering Regular Expressions".

Very highly recommended.

alexjgoughonFeb 25, 2012

Here one should not forget the past, and look to Jeffrey Friedl's excellent "Mastering Regular Expressions".

shagieonSep 15, 2018

Being a perl/regex person back in the day, I recall having Mastering Regular Expressions as a well thumbed reference book. The author, Jeffrey Friedl ( http://regex.info/blog/jfriedl-links/about ) worked at Yahoo! Finance at the time. It was a most impressive and useful site in its time.

roel_vonNov 16, 2012

This is from "Mastering Regular Expressions", by Jeffrey Friedl, O'Reilly 1997. The book presents it as a 'fun' example of how to write huge regex'es that are still understandable and maintainable (the version posted here is without all the comments that are in the book).

otterproonAug 10, 2017

For advanced users (and those who want to become regex gurus), the most helpful regex site for me is http://www.rexegg.com/. Also the O'Reilly book "Mastering Regular Expressions" is probably worth gold.

squeaky-cleanonAug 10, 2017

> Also the O'Reilly book "Mastering Regular Expressions" is probably worth gold.

The book is worth it's price if only for chapter 1, definitely seconding this recommendation.

thenebonFeb 25, 2012

It's actually a good accompliment to "Mastering Regular Expressions" as in that book Python isn't covered.

brianronApr 7, 2008

Mastering Regular Expressions is by far the best-written technical book I've read. It's amazingly concise and well-explained.

lognonMar 27, 2013

http://regular-expressions.info

"Mastering Regular Expressions" by Friedl is the ultimate resource, but for getting started that website above will let you learn the practical syntax.

Su-SheeonMay 12, 2013

THE single best ressource to really learn how to deal competently with regex is still Jeffrey Friedl's book "Mastering Regular Expressions".

You will profit from it for the rest of your career.

(There's also a Regex short reference and a Regex cookbook by O'Reilly...)

f2enderonJan 25, 2011

I have a CS degree so I have read the basic texts on Algorithms, Operating Systems, Compilers.

I recently got through the Design Patterns book. I was thinking of picking up either a new language (Go) or start the "Mastering Regular Expressions" book, not sure which.

jdkananionSep 7, 2015

"Mastering Regular Expressions" by Jeffrey E. F. Friedl - http://www.amazon.com/Mastering-Regular-Expressions-Jeffrey-... It's not on particular programming language or recently updated, but related and very helpful.

ironsonNov 27, 2010

Early in college I read the first edition of Jeffrey Friedl's "Mastering Regular Expressions" over the course of a long car trip. Still one of the most literate, humane tech books I've ever come across. Pity that the world hasn't yet heeded his call to bury the word "regexp".

jlg23onOct 11, 2017

For those who prefer a more in-depth introduction than a blog post: Jeffrey Friedl's "Mastering Regular Expression"[1] covers the theory as well while still being very pleasant to read (I only know the first edition, apparently there are more recent ones).

[1] http://shop.oreilly.com/product/9781565922570.do

cutleronFeb 8, 2018

2001 - discovering regular expressions in "Dreamweaver Bible" which led me to Jeffrey Friedl's "Mastering Regular Expressions" which in turn led me to "Programming Perl" and other O'Reilly Perl books before building my first back-end with CGI.pm and MySQL.

OneOneOneOneonDec 3, 2016

I can recommend Mastering Regular Expressions by Jeffrey Friedl. He goes into great detail on regexp performance and the reason various expressions are slow.

I picked up an older revision from abebooks or ebay. The Python 2.7 online docs recommend revision 1 and states later revs don't cover Python.

proactivesvcsonAug 5, 2019

I can highly recommend the following tool: Mastering Regular Expressions by Jeffrey Friedl
http://shop.oreilly.com/product/9780596528126.do

I found the pacing to be excellent, with complimentary exercises and that it was educational as both a cheatsheet and a coherent text. Learned a lot from it, despite being experienced from the outset.

collywonNov 20, 2019

There is a way of thinking when you deal with regexes that took me a while to get.

Reading the first chapter of ORiley's Mastering Regular Expressions was what made me get it and that was maybe an hours worth of time.

zacharycohnonOct 26, 2010

Thanks! When I was first learning Perl I had access to a copy of Master Regular Expressions. I'll definitely pick this one up.

enobrevonOct 21, 2009

I Highly recommend Mastering Regular Expressions by Jeffrey Friedl. http://regex.info/

lognonSep 6, 2012

Regular expressions. With a few weeks of learning the cryptic syntax you'll enjoy a lifetime of reaping its power.

Mastering Regular Expressions by Friedl is regarded as one of the best resources. But just to get up and running and as a reference I recommend http://regular-expressions.info

icambrononJune 4, 2014

About eight years ago I finally read Friedl's Mastering Regular Expressions [1]. I know, right? A 500-page book about regular expressions, a tool I already knew (or thought I did). But it's actually a great book-- easy to read and full of genuinely good information on the how and why of regex, and it totally changed my understanding of them. If absolutely anything in this article surprised you, I highly recommend you read the book.

[1] http://regex.info/book.html

_jalonMar 9, 2017

As far as regexes, The Sed and Awk book is good, but Mastering Regular Expressions by Friedl is amazing. The amount of time that went into that work is mind-boggling. The deep dives into the differences between different engines and the detailed explanations of why one regex performs horribly vs. another that matches the same thing quickly are really enlightening.

cutleronJuly 14, 2020

Definitely. I'd say "Programming Perl" is a literary masterpiece. Larry Wall's genius was selling Perl as a literate, witty, expressive antidote to all the Java and C++ cruft of the late 90s (Perl 5). "Programming Perl" should be read alongside "Mastering Regular Expressions" which is another masterpiece. I think Ruby and Clojure are the only language cultures that come close to engaging the whole brain the way Perl 5 did when it was popular. However, while each has a couple of shining stars (Ruby: Matz & DHH, Clojure: Rich Hickey) they don't compare with the sheer number of stars who made up the Perl 5 cast of the early 2000s (Larry Wall, "The Damian" Conway, Chromatic, Curtis Poe, Lincoln Stein, Randall Schwartz, John Orwant, Simon Cozens, Tom Christiansen, Nat Torkington & many more). That really was an entertaining community to be part of and is, like disappearing bookshops, sorely missed. Perl lost a lot of mindshare to Python, famed for its boring predictability and crippled lambdas which the Perl 5 community would never have tolerated. If you want programming to inspire you the way O'Reilly's catalogue of Perl books did in the late 90s/early 2000s I'm not sure there's much apart from Matz and Rich Hickey's work. Their lectures are inspiring but their written output is limited. Go read "Programming Perl" - it's timeless.

iheartmemcacheonNov 16, 2016

Mastering Regular Expressions really is the seminal text, but I highly suggest reading the O'Reilly Sed/awk book as well. They include full history behind the evolution of the original line editor ed -> sed & g/re/p (etymologically derived from g[lobally-replace]/re[gex]/p[rint]) -> awk. The original vi also derived a lot of it's commands from 'ex' (the underlying editor, based on the original ed).

All history aside,
1: Sed&awk
2: Mastering Regexp
3: The vim book has a great chapter on regular expressions (it's been ~10 years since I've touched it, but I remember being gifted a copy from a colleague of my father when I was in my teens and it helped me grok it)

The glibc programming manual is actually really comprehensive. kernel.org/docs/man-pages/ gives a pretty in depth analysis of POSIX.2 regex. I'm sure Perldocs also have PCRE's very well documented.

kapranoffonMay 28, 2010

There's a classic email regex from Jeffry Friedl (author of "Mastering Regular Expressions") himself:
http://www.diablotin.com/librairie/autres/mre/chBB.html

It's 6,598 bytes long.

squeaky-cleanonAug 5, 2016

These are the only kind of physical books I buy. I can read a novel or most non-fiction on my Kindle just fine. But the Kindle sucks for quickly jumping through pages, or pages with images, charts, or equations. Also you can't lend the majority of Kindle books, and even then it's only to someone else's Kindle account. I love lending out my tech books to friends. I just lent my copy of Mastering Regular Expressions to someone in my office for like the tenth time.

tyingqonMar 7, 2020

There's another rfc822 regex that's credited to Jeffrey Friedl from his "Mastering Regular Expressions" book.

https://metacpan.org/release/Email-Valid/source/lib/Email/Va...

cutleronJuly 29, 2020

Well, I read Jeffrey Friedl's "Mastering Regular Expressions" two or three times since the 2nd edition was released and I can tell you there's no way anything more than a simple regex is going to be easier to grok when converted to some FSM, especially with look-behind or lazy operators and significant backtracking. I'm referring to the Perl/PCRE regular expression flavour which is the only variant that matters to me. Perl regexen are NFA so I'm not sure your assumptions about FSMs apply.

_jalonMay 16, 2018

> On a par with Friedl's "Mastering Regular Expressions".

That comparison sold me. You deserve a commission.

e3pionDec 21, 2014

If how to create these giant matchstick regexes interest you,
there is a wonderful(famous?) perl script generating a regex 6,598 chars long, more optimized and faster than earlier attempt at 4,724 bytes,
in Jeffrey Friedl's book, Mastering Regular Expressions, 1st edition, Oreilly, pp 312-316, Appedix B: Email Regex Program.

staycoolboyonJune 24, 2020

Have you ever read O'Reilly's "Mastering Regular Expressions" by Friedl? He does a deep dive into the weird guts of regex modifiers.

I was obsessed with that book one summer and wrote a bunch of parsers after learning incremental techniques (/o I think), and then 8 months later I could no longer remember how anything that I wrote worked. Lol me.

voltagex_onFeb 28, 2016

What's the difference? ^ and $ is basically all I remember from when I read Mastering Regular Expressions

bartonfinkonJan 25, 2011

I think that, in most cases, regular expressions will do you more good as a tool than Go will. I have not read Mastering Regular Expressions, but due to their ubiquity, they have probably led to a 5% increase in my productivity as a software engineer. I highly doubt that Go will do that for you except in some very rare cases.

shaknaonJan 30, 2018

The pattern is Jeffrey Friedl's, from his book Mastering Regular Expressions.

And as clear as the source could be made, I feel the fact that so many people have just copied and pasted it means that any understanding is lost, and they're just praying and hoping, because a regex of that size is actually difficult for them to comprehend.

spponDec 1, 2011

Chapter 4 of Jeffrey Friedl's "Mastering Regular Expressions" goes in depth about NFA/POSIX NFA/DFA. It even has car analogies!

zedshawonFeb 25, 2012

Mastering Regular Expressions is the book you're thinking of.

adestefanonNov 28, 2013

Go read Mastering Regular Expressions.

ekiddonSep 23, 2010

No, people should know better than to write regexes like /X(.+)+X/, with gratuitous doubly-nested "+" characters. :-) This code performs fine when written as /X(.+)X/, and it matches the same set of strings.

Regexp engines are subtle beasts, and there's a couple different ways to implement them (DFAs vs NFAs, simple engines vs lots of clever special cases, etc.). See O'Reilly's "Mastering Regular Expressions" for an exhaustive discussion.

runjakeonOct 26, 2010

- Programming Perl

- Perl Cookbook

- Mastering Regular Expressions

staunchonJuly 31, 2011

Yes. Read Mastering Regular Expressions.

burntsushionFeb 25, 2016

Perl's algorithm has more power than an NFA, therefore, it is not an NFA. It's as simple as that. That certain inputs happen to correspond to a configuration solvable by an NFA does not make it an NFA. The worst part about calling it an NFA is that it misleads everyone about the theory and suggests that the engine is less powerful than it really is.

I completely understand why it looks like an NFA.

> What the heck do you call it?

Anything but an NFA? My personal preference is unbounded backtracking (still not quite right), or just "Perl regexes."

> (As well, that is how it was described in a number of popular and widely read books. For example pick up _Mastering Regular Expressions_.)

I read that book when I was a young pup and remained hopelessly uninformed about the entire situation until my first complexity theory class during my undergraduate study almost ten years ago.

That book is fantastic if you care about optimizing Perl regexes. It otherwise does a great disservice to theory and has likely been the cause of uncountable confusion. When pointed out the inaccuracy, Friedl essentially had the same response as you. It's tragic, frankly.

PCRE's documentation even cites Friedl's book when describing their implementation by calling it the "NFA algorithm." PCRE also has a supposed "DFA," but its description makes it sound more like the actual NFA algorithm (since it maintains multiple states simultaneously).

lognonJune 23, 2014

Regular expressions. If you want an in-depth book try Mastering Regular Expressions by Friedl. Or for a quick guide, http://regular-expressions.info along with http://rubular.com/

Regex will not only give you new skills for programming (no more splitting strings in weird ways and doing complex indexOf/substr operations), it will help you day-to-day in rummaging through file systems and your code.

And if you already know regex, then I'd recommend Map Reduce Streaming. The Streaming variety is all based on standard in/out and very straight forward. Amazaon Elastic Map-Reduce could be a nice way to test things.

tomohawkonApr 19, 2020

Play regex golf: https://alf.nu/RegexGolf

Since many people are not good at them, whenever I use a regex in code, I add a comment with at least one example of the text that is to be matched, and note what the regex is also attempting to avoid. This is also a learning activity.

There is also the "Mastering Regular Expressions" book.

mechanical_fishonJan 22, 2008

You have started with Python. You are already on the right track. Don't stop practicing -- you can't get anywhere without practice.

If you're curious about CS you should just go ahead and read SICP. I recommend the printed version, but the whole thing is online here:

http://mitpress.mit.edu/sicp/

Perhaps there are people who love CS and yet hate this book, but I have yet to meet one. It's not the easiest book in the world, but it is the real thing, and not an imitation.

There are, of course, lots of things you could learn which are not exactly "CS" but which will make you a better web programmer. Study SQL. Study emacs (read Steve Yegge for inspiration) or another killer editor. Learn to use a really decent version control system (the SVN book -- just google "SVN book" to find it -- is easy to understand, but Linus Torvalds is right when he claims that Git is much nicer!) Read "Mastering Regular Expressions". Read Bruce Eckel's Thinking in Java so that you know enough about the world's most popular language to understand where it sucks, ;) and so that you can follow the conversation of much of the rest of the software world. Read K&R.

mmcnickleonJuly 11, 2012

The problem with the move to ebooks for technical subjects will be the lack of editorial oversight.

Tutorials, blog posts and a smattering of example code is fine for messing about with some new technology. But where are the authoritative sources. Looking at my bookshelf now, where are the websites that contain all the information I got from (the excellent) "Mastering Regular Expressions" or "CSS: The Definitive Guide" which sits nicely between the CSS spec and actually being readable.

These books still need to be written, in the same format, by the same experts because they contain a lot of value. I agree though that they don't need to be physical books -- all my new O'Reilly books I read in PDF format.

(Realise there's a lot of O'Reilly naming here, it's only because I really like the quality of their books. I'm not affiliated with them.)

cutleronJune 24, 2020

Friedl's masterpiece was my introduction to server-side programming in 2000. I'd been doing front-end for a few years with Dreamweaver and I was looking-up it's find & replace features in "Dreamweaver Bible 8" where regexes were mentioned as the ultimate weapon. "Mastering Regular Expressions" was referenced in a footnote and fortunately my local library had a copy. My mind was blown. Regex symbols were just so powerful and the examples were mainly written in Perl which added even more power to them. The book was part of O'Reilly's Perl bookshelf so in addition to Friedl's book I bought the other Perl classics - "Programming Perl", "Perl Cookbook", "Mastering Algorithms with Perl" and "Learning Perl". With CPAN downloaded to my local disk I felt like a hitch-hiker setting out on a journey around the world needing nothing more than Perl in my backpack. Those were the days. Now I have to download 200Mb of node_modules before I can get started.

hudibrasonJan 14, 2015

There's certainly a lot of discussion and even some controversy on whether KidZania is a good or bad thing. But one thing is certain: it's insanely fun for kids.

Jeffrey Friedl (author of Mastering Regular Expressions) has some KidZania entries on his blog from a few years ago.

http://regex.info/blog/2009-06-28/1245

http://regex.info/blog/category/japan/kidzania

TepixonOct 11, 2017

Regular expressions are super powerful and a great tool to have at your disposal.
The best resource on the topic is the book "Mastering regular expressions" published by O'Reilly. Understanding the inner workings of a regular expression engine will improve your regular expressions. If you use regular expressions a lot, mastering them will be worth it.

justinatoronNov 15, 2016

Perl has supported recursion in regex since around v5.10. The giant regex is not from the Camel book, but from O'Reilly's, Mastering Regular Expressions which does give the example in Perl, but was printed before v5.10 of Perl was released. (3rd ed. of Mastering Expressions was released in 2006; Perl v5.10 was released in 2006.). I believe the regex was published in the very first edition.

berntbonOct 5, 2011

>>I suck so bad at regex

Then you are the opposite of where I used to be -- I thought I understood and could use regexps. Hell, I do Perl for fun. :-)

Something like when I first sat down with Photoshop -- "Hey, I know how to program Macs [before MacOs X]. This is just using a Macintosh program, so I should have no problems"... :-)

Read "Mastering Regular Expressions". It made me feel embarrassed about my previous stupidity [Edit: Embarrassment, your name is Dunning–Kruger :-) ]. Just the first few chapters are enough to change your world.

Edit: I might add, I still can't use Photoshop.

cutleronApr 1, 2021

"Programming Perl" by Larry Wall sits on a bookshelf across from my bed. When I wake up it's usually the first book my eyes alight on though I don't use Perl much these days. It still brings back fond memories and is an inspired work to this day. Larry Wall was a linguist and Perl will always look like sigilitis if you don't take half an hour to grok context. Perl particularly appeals to those who see beauty in regular expressions. Those that hate/avoid regular expressions usually hate Perl. Perl was my first real programming language after I found a reference to regular expressions in the Find & Replace section of a Dreamweaver manual. There was a reference to Jeffrey Friedl's brilliant work "Mastering Regular Expressions" which was part of the O'Reilly Perl library and that led me to Perl. Happy days. Much better than fighting my way through the thicket of front-end Javascript.

breckonJuly 4, 2019

I would get 5 books on the topic. Bring them home, try them all, and you're bound to find one that you like and can work your way through.

One I'd recommend is "Eloquent Javascript". It may be a tiny bit out of date now (I read it over 5 years ago maybe, and Javascript has improved a lot since then), but it's a solid book.

Other books you might like: Pragmatic Programmer, Pattern on the Stone, Clean Code, Mastering Regular Expressions.

berntbonAug 23, 2011

>>He has several arguments; performance is only one of them.

First -- I noted that I limited my comment to scripting languages.

I did discuss most of the relevant arguments in the article, so I really don't see what your point is?

It doesn't matter for the scripting languages that a regexp lib is large (it is linked in and used anyway), so I ignored that. I also ignored the Unicode point, since it is generally supported in scripting languages' regexp engines.

I did touch on speed and development speed. Shorter code is also generally easier to understand; a simple regexp can often replace 10-20 lines.

In my edit, 10++ hours before your comment, I discussed when full grammars where a better alternative -- so I handled Pike's accusation of treating Regexps as a "panacea for all text processing". (I have used regexps as lexers for grammars. But only for parsers of less than a few hundred lines.)

(I am not going to touch Pike's argument if I and others really grokk regular expressions, because I thought I did understand them until I read "Mastering Regular Expressions". Maybe there are some more satori insights waiting? I do consider myself a little bit familiar with them from automata theory, implementing state engines and usage [Edit: and my considered opinion is that re:s are often a good solution for scripting languages.])

dirkgadsdenonJune 10, 2011

Mastering Regular Expressions by Jeffrey Friedl, the first edition (a.k.a. "The Perl Edition", http://regex.info/ for more information about the book and its editions)

It's my standard litmus test judging a programmer; if you haven't read or don't care to read a book on regular expressions, then I probably don't want to write code with you. It's also useful to remind people who think they're nerds because they own a smartphone and can download "apps" that they're in a league far below.

pasbesoinonJan 8, 2012

If you want some "down and dirty" simply practical knowledge, read up on regular expressions. (Be sure to read up on the better cautions associated with using them, as well.) I would recommend Jeffrey Friedl's book, "Mastering Regular Expressions".

http://shop.oreilly.com/product/9780596528126.do

One other caveat about this, though. They make more sense and the topic is more motivating when you have a significant amount of text munging to accomplish (as I did, at one point).

Nonetheless, I remember some years ago being astonished at some of the Java code I saw being written, at not insignificant amounts of programmer time and with a bevy of mistakes, to accomplish simple pattern matching in use cases where a regular expression would have been more appropriate and more efficient -- both to write and probably in execution.

The developers, despite being fairly seasoned, just weren't familiar with the paradigm. A few years later, they were using them "all over the place".

lognonJune 11, 2015

I was asked that question about 7 years after reading Mastering Regular Expressions and about 10 years after taking Automata in college. It so happens that I am an expert in regex, have a patent in the field, regularly answer stackoverflow regex questions for fun, etc. Unfortunately, the question involved me actually drawing a DFA, trying to remember the notation, etc. At this point I don't even remember the particular question, only that I couldn't remember how to draw or read the diagrams.

bigmaconAug 3, 2010

Perl has taken care to address some of these issues. See 'Algorithmic Complexity Attacks' in perldoc perlsec. For example, the keys of a hash table are guaranteed to be returned in random order, to prevent hash collision attacks on the hashing algorithm itself.

It appears they punt on the particular issue of regex's running out of memory though. Developers are told "careful crafting of the regular expressions can help," and told to read "Mastering Regular Expressions."

As I recall, Boost's regex library will throw an exception if evaluation of the regex is getting out of hand.

It's funny, I generally judge a regex library on how compatible it is with perl's implementation. In this case though, I might actually prefer the behavior of Boost and PCRE.

squeaky-cleanonMay 8, 2017

I enjoy helping when people come up to me with legitimate questions, for all the reasons you mention. It feels like half the time, I'm being bugged not for any real reason, but because the person couldn't bother to put some effort in first.

For example, I've become known as "the regex guy" at the office. I know regex really well as well as the ins and outs of the regex engines of languages we use. I don't mind when I get called over to help with a tough regex, or optimizing something. But way too often whatever I get interrupted and cross the building just to replace ".*" with ".+" or something equally simple.

I usually just type the solution and tell them my copy of Mastering Regular Expressions is on the office bookshelf if they'd like to borrow it, the first chapter should cover all the basics. I'm also very happy to explain the basics of regex to someone in my down time, but very few people have taken me up on that offer.

CaptainMorganonJuly 29, 2008

Nothing startup related... but I just started reading Mastering Regular Expressions and am through the fourth chapter. It's such an amazing read and I'm punishing myself for never starting it earlier. For what the content is worth, the reading is not dry and makes the topic enjoyable.

You might want to read or reread Mythical Man Month, if you're looking for startup books. While not a startup book per se, its usefulness in the aspects of the programming environment is tenfold.

cutleronOct 12, 2019

I love Perl - the syntax, community, Larry Wall's writings and The Monastery. Occupationally I'm forced to write Ruby for a living these days but Perl's influence is there and enhances my appreciation or Ruby. I came into programming after reading in the Dreaweaver Bible that you could extend the search facility with regular expressions. Jeffrey Friedl's monumental Mastering Regular Expressions was listed for further reference and I was hooked. Perl was the natural language to learn if you were inspired by regexen and wanted to create dynamic websites back in the early 2000s so I sought-out Larry Wall's Programming Perl. That book is such a joy to read. I still dip into it today just for the quality of the writing ... and a little nostalgia.

Take time to really grok Perl and you may find the soundbite swipes at Perl don't make sense any longer.

bavcyconJuly 31, 2011

Regexes are a handy tool to know regardless of the language. And something I think is worth learning.

Mastering Regular Expressions is a good book to read as Mr. Friedl does a good (great?) job of explaining the pluses and minuses of regular expressions in a readable manner.

If all you want is how to use regular expressions then there are plenty of man pages and internet documents which provide examples that you can learn from without reading Mastering Regular Expressions.

You might look at the Ruby documentation to see how Ruby does things. And a quick search using Ruby regular expression provided this link: http://rubular.com/ which is a utility to test regexes. There are several other links immediately following this one which appear to be tutorial or information for what you are looking for.

rplevyonApr 7, 2008

I agree with the advice to read Higher Order Perl, but read Wall's (Blue Camel) book Programming Perl first. Both are fun to read, but I found HOP much more useful after reading Wall's book. If you don't already know regular expressions, read Mastering Regular Expressions. Then for additional ideas try the Perl Cookbook, also from O'Reilly. For additional inspriration along the lines of Higher Order Perl, read On Lisp by Graham, which is not about Perl, but shows how the same concepts and more are elegantly applied in Lisp. The web documents Higher Order Javascript and the Little Javascripter are interesting if you want to also understand that Javascript, like Perl is fun in the same ways that Lisp is.

sqlhelpthrowonDec 13, 2020

Two oreilly books to give you an overview, sorta know the lie of the land.

Classic Shell Scripting by Arnold Robbins

Unix Power Tools 3rd edition

Two additional worthwhile books:

The Unix Programming Environment by Kernighan and Pike

Mastering Regular Expressions by Friedl.

All 4 are classics.

Also try tldr.sh website in addition to man pages. They are easier to grok.

masklinnonNov 4, 2010

> I really like that this book was written but $30 dollars isn't actually cheap for a technical book

Is that a joke? $30 is quite literally nothing for a new technical book. Refactoring is still $45 new (hardcover but more than 10 years old now), Effective Java is about the same price, TAPL will set you back $60 and ATPL is $56 on Amazon, HTDP is $67, Koza's "Genetic Programming: On the Programming of Computers by Means of Natural Selection" released in 1992 is $67, SICP is $70, amazon asks for a hundred bucks for the purple dragon books, and then of course The Art of Computer Programming boxset will blow a $200 hole in your wallet.

$30? That's the price of a small and widely-distributed paperback like Friedl's Mastering Regular Expressions. It's basically the lower bound, even The Art of the Metaobject Protocol (345p, published in 1991) is $40.

Here's what's under $30: "For Dummies" books. Even the Head First collection bottoms out around $30.

SomeHacker44onJune 29, 2017

I don't mind buying pure-text books from Amazon. That basically means novels. I don't even mind the DRM so much, as I read the book once and then don't really care, and because I have almost never had problems with the fact that I have literally over a dozen Kindle devices and Kindle-app running devices.

However, technical, computer, electronics, physics and math books are almost all uniformly terrible from Amazon (or even epub). These are long-term references that need a proper print layout option (PDF) and be unencumbered by DRM. A 2002 edition of Mastering Regular Expressions is virtually totally applicable today, 15 years later - but imagine if I had bought this in a DRM'd Sony version, or a Palm .prc (now part of Amazon)? I'd be SOL.

berntbonMay 17, 2016

For regular expressions, I recommend "Mastering Regular Expressions".

I thought I knew REs before reading that book -- since I had both been using them for years and did a course on automata theory at Uni -- but that was just Dunning–Kruger.

Edit: Also write a templating system and be done with it, so you won't waste time doing it later. :-) When I first learned programming I did quite a few simple games and routines to find primes.

milesonAug 2, 2012

First stop: Steve Friedl's So you want to be a consultant...?

http://www.unixwiz.net/techtips/be-consultant.html

Steve does a lot of sysadmin consulting work (in addition to software development). Here are some of his shared tidbits:

http://www.unixwiz.net/techtips/

He's also the brother of Jeffrey Friedl, author of Mastering Regular Expressions:

http://regex.info/

demetrisonMay 4, 2012

I don’t know about must-read ones, but here are a few No Starch and O’Reilly titles that stand out from a quick look at my library:

No Starch, Eloquent JavaScript. A Modern Introduction to Programming: http://shop.oreilly.com/product/9781593272821.do

No Starch, The Book of CSS3: http://shop.oreilly.com/product/9781593272869.do

O’Reilly, bash Cookbook: http://shop.oreilly.com/product/9780596526788.do

O’Reilly, CSS: The Missing Manual, 2nd Edition: http://shop.oreilly.com/product/9780596802455.do

O’Reilly, JavaScript: The Good Parts: http://shop.oreilly.com/product/9780596517748.do

O’Reilly, Mastering Regular Expressions, 3rd Edition: http://shop.oreilly.com/product/9780596528126.do

O’Reilly, The Art of SEO, 2nd Edition: http://shop.oreilly.com/product/0636920019091.do

Built withby tracyhenry

.

Follow me on