- November 27th, 2018: Tuesday brings a little more logic to today's #haskell puzzler.
- November 26th, 2018: Monday's #haskell problem: J'ACCUSE!
- November 23rd, 2018: A little late, but here's a little logic puzzle to solve using #haskell on a frigid Friday. That took a couple of iterations, but BOOM! a #haskell solution to Friday's little logic puzzle.
- November 22nd, 2018: Thursday's #haskell problem is from @fermatslibrary: we throw enough 1/4th together and we get 1/3. Trust me on this one.
- November 21st, 2018: From @fermatslibrary comes Wednesday's #haskell problem For Wednesday's #haskell solution: π and e as an equality? How transcendent! ... eheh. 😎
- November 5th, 2018: Monday's #haskell problem: rectangular numbers from a calculator face are all divisible by 11. True? The #haskell solution shows that yes, it is true!
- November 2nd, 2018: From @fermatslibrary comes Friday's #haskell problem: twoSquaresDifference of any odd number. Friday's #haskell solution we are folding odd numbers to find their diff squares.
Incorporates strong typing over predicate logic programming, and, conversely, incorporates predicate logic programming into strongly typed functional languages. The style of predicate logic is from Prolog; the strongly typed functional language is Haskell.
Monday, December 3, 2018
November 2018 1HaskellADay Problems and Solutions
Friday, November 2, 2018
October 2018 1HaskellADay Problems and Solutions
- October 31st, 2018: A Happy Halloween arithmetic puzzle for you Happy Haskellers!
- October 25th, 2018: Thursday's #haskell problem we have a (Loopful) compiler for BF* Thursday's #haskell solution: A BF* compiler, blocks of code in loops working.
- October 24th, 2018: Wednesday's #haskell problem: Thus we enter the Turing Tarpit! The solution to Wednesday's #haskell problem is a BF* (loopless) interpreter that prints out "Hello, world!" I didn't think I could reach the pinnacle of programming in my lifetime, yet, here I am. 😎
- October 19th, 2018: For Friday's #haskell problem we look at patterns in how people define categories: a little knowledge management.
- October 17th, 2018: For Wednesday's #haskell problem we are using Haskell to automate writing a set of SQL INSERT statements. The function addDays to Wednesday's #haskell problem's rescue!
- October 15th, 2018: Monday's #haskell problem is a little asset shell-game. A little Set.union, a little Set.difference, to get today's #haskell solution.
- October 9th, 2018: Tuesday's #haskell problem: given a set of ids and our knowledge store from yesterday, determine the status of the new ids. Tuesday's #haskell solution: a Set to determine membership, and a Map to give the result, with a little bit of Frege-logic for fun!
- October 8th, 2018: Monday's #haskell problem is random screening (okay: predetermined screening). Monday's #haskell solution: indexing into a list often? Consider the Array-type.
- October 5th, 2018: Friday's #haskell problem we create a workflow to process chunks of files as SQL INSERT statements. And lo! and behold! A #haskell solution to all our problems... or today's problem, anyway.
Friday, October 5, 2018
August 2018 1HaskellADay problems and solutions
- August 22nd, 2018: For Wednesday's #haskell problem we query a directory and massage some JSON: all in a day's work. Wednesday's #haskell solution: Processing JSONs ... LIKE A BOSS!
- August 20th, 2018: For Monday's #haskell problem we distill UUIDs encoded in news media URLs. Monday's #haskell solution uses the break function FTW!
- August 16th, 2018: For Thursday's #haskell problem we have Zipf's Law and words-in-sentences: a [The Current Year] analysis.
- August 15th, 2018: For Wednesday's #haskell problem, we look at the 5000 most frequently used English words and do a bit of analysis. Wednesday's #haskell solution gets us the top 5000 English language words and their counts.
- August 3rd, 2018: For Friday's #haskell problem we ingest JSON to discover its structure.
Thursday, August 2, 2018
July 2018 1HaskellADay Problems and Solutions
- July 31st, 2018: Tuesday's #haskell problem: let's start to build a #kakuro-solver! YES! (Image via http://www.menneske.no/kakuro)
- July 30th, 2018: For Monday's #haskell problem we are looking at merging databases. Monday's #haskell solution is a Set.intersection, and we see the shared data tables of the two databases.
- July 24th, 2018: For Tuesday's #haskell problem we are discovering a JSON dictionary structure and pruning away non-entries. A little JSON dictionary exploration with #haskell gets us to our solution today.
- July 17th, 2018: For Tuesday's #haskell problem we parse bits o' data from more extensive JSON.
- July 11th, 2018: Wednesday's #haskell problem is going from an 'iffy' JSON structure to PERFECT (well: less 'iffy') JSON structure.
- July 10th, 2018: For Tuesday's #haskell problem we explore and structure illtempered JSON. When JSON looks normal, but it's not quite, you call ... AESON on wings of eagles for Tuesday's #haskell solution.
- July 9th, 2018: In Monday's #haskell problem we discover structure in mondo JSON. Monday's #Haskell solution revealed itself in the first 300 characters of prettiness!
- July 3rd, 2018: For Tuesday's #haskell problem we translate the graph-like JSON to a set of relations, viewable in a graph database. For Tuesday, #haskell's graph-solution using Relation values and, ooh! pretteh pictures!
Tuesday, July 3, 2018
June 2018 1HaskellADay Problems and Solutions
- June 29th, 2018: Friday's #haskell problem is partially parsing a very large file. For Friday's #haskell solution we parse a JSON map by hand.
- June 27th, 2018: In Wednesday's #haskell problem, we parse JSON ... TWICE! to get to the underlying graph structure. Wednesday's #haskell solution is a little bit (a lot, actually) of JSON parsing, and then some graph analysis.
- June 26th, 2018: Tuesday #haskell problem converts a .properties file to JSON to make a REST call. Converting a .properties file to JSON in 23,952 easy steps for Tuesday's #haskell solution.
- June 25th, 2018: Monday's #haskell problem is parsing a JSON error report and updating the JSON with new information. In Monday's #haskell solution, we get a little 'lens-y' to update JSON data.
- June 22nd, 2018: Friday's #haskell problem sends articles-as-JSON to an AWS Lambda function for processing.
- June 20th, 2018: Wednesday's #haskell problem is SymbolTable from a set of articles, then document vectors.
- June 19th, 2018: We find out that 'materially' is the word for Tuesday's #haskell problem. For Tuesday's #haskell solution we find that parsing JSON is simpler than parsing TSV. This comes as a surprise to no one but me.
- June 18th, 2018: Monday's #haskell problem asks: "When are unique IDs not unique IDs?" More dater-analyses. Monday's #haskell solution: we go from 2300+ duplicates to 30+ duplicates. A good day's work.
- June 15th, 2018: Friday's #haskell problem is sorting and removing duplicatesfrom a data table by defining Ord. Friday's #haskell solution removes duplicate articles by ID... but are the articles duplicates? Hmmmm!
- June 8th, 2018: "Dater-analytics" is the name of the game for Friday's #haskell problem. You get some real-world dater that's yucky, and you get to unyuckify it. You're welcome.
- June 6th, 2018: Now we take that restructured JSON (see yesterday's exercise) and store that JSON in a PostgreSQL database for Wednesday's #haskell exercise. Wednesday's #haskell solution populates entities with wikipedia reference into a PostgreSQL database.
- June 5th, 2018: Tuesday's #haskell problem is to transform 'pancake' JSON into ... '3-layer cake'-JSON? Sure. #nailedit Tuesday's #haskell solution we restructured JSON and saved result to ... JSON! YAY!
- June 4th, 2018: Monday's #haskell problem: interlanguage communication via the function main. 3 + 4 = 7 ... now do that and have Python talking to Haskell.
Monday, June 4, 2018
May 2018 1HaskellADay Problems and Solutions
- May 31st, 2018: In Thursday's #haskell problem we are analyzing JSON so we can produce ... MORE JSON! And thus grows our Big Data. Thursday's #haskell solution shows us the results of Big Data analytics? More Big Data. YES!
- May 30th, 2018: Wednesday's #haskell problem we process 'big-ish' data. Wednesday's #haskell solution: You take your big(-ish) data, and you chart it. THIS WE CALL DATA SCIENCE!
- May 25th, 2018: Friday's #haskell problem is load testing a web application with a database pull. Friday's #haskell solution: a load-tester in Haskell! AHA! 😎
- May 24th, 2018: Thursday's #haskell exercise is adding articles to be cleaned up, post-ETL, to a dirty table in PostgreSQL. Thursday's #haskell solution stages articles loaded into the database to be cleaned up later.
- May 21st, 2018: Monday's #haskell problem is to insert NEW (triaged) articles into a PostgreSQL database.
- May 18th, 2018: Friday's #haskell exercise: there seems to be a lot of tagged terms for articles. Download these terms-as-JSON from a REST endpoint and count them is today's exercise. Friday's #haskell solution has got me singing "Havana-na-na-na!" ... no, wait: I meant: "uploading tags from a REST endpoint to a PostgreSQL database." That's what I meant.
- May 17th, 2018: Thursday's #haskell exercise is to add database update functionality to existing code and in a Writer/IO monad; yikes! Thursday's #haskell solution: from the triaged articles, the update SQL statements naturally fall out.
- May 11th, 2018: Friday's #haskell exercise: bridging Python and Haskell to deliver a polyglot system.
- May 8th, 2018: Tuesday's #haskell problem uses articles fetched from a REST endpoint and article metadata to triage articles for daily upload to a PostgreSQL database. Tuesday's #haskell solution... triage: get!
- May 7th, 2018: Monday's #haskell problem is extracting metadata for articles stored in a PostgreSQL database. Monday's #haskell solution repurposes a library to fetch article metadata from a new article database.
- May 4th, 2018: For Friday's #haskell problem we look at a daily upload process from a REST endpoint to a SQL data store and start to implement it. Friday's #haskell solution gets a week's worth of data from the REST endpoint.
Thursday, May 3, 2018
April 2018 1HaskellADay Problems and Solutions
- April 25th, 2018: For Wednesday's #haskell problem we prove, definitively, @fermatslibrary n^5 is n ... for very small n. For Wednesday's #haskell solution we learn that number theory is so cool!
- April 24th, 2018: For Tuesday's #haskell problem we look for a fix-point of simplifying HTML. Good thing it's not NP-hard! ... no ... wait. Tuesday's #haskell solution is the fix-point for HTML. Just like the fix-point for factorial. Structurally, maybe, but otherwise, kinda not.
- April 23rd, 2018: What happens when things go wrong? We start to look at debugging for Monday's #haskell problem. For Monday's #haskell solution: the error is not here; the error is in another castle.
- April 20th, 2018: Friday's #haskell problem is to decode HTML entities from titles of articles. Friday's #haskell solution: deHTMLification: get
- April 18th, 2018: Hey! Let's store the raw JSON as a fall-back should our ETL process fail for Wednesday's #haskell problem. Wednesday's #Haskell solution: storing raw JSON in a SQL data store BECAUSE WE CAN!
- April 17th, 2018: For Tuesday's #haskell problem we upload articles from a different publisher of a compressed JSON archive with a different format. We find adding a differently-structured set of articles to IxArt store is simple for Tuesday's #haskell solution.
- April 16th, 2018: For Monday's #haskell problem, we take articles-as-json from various sources and put them into a common SQL data store. For Monday's #haskell solution we upload articles from different publications to a common SQL data store, both compressed and uncompressed archives.
- April 13th, 2018: Friday's #haskell problem is to grab packets of articles from a REST endpoint for later processing. Friday's #haskell solution: Those are some rather large packets downloaded from the REST endpoint!
- April 12th, 2018: Thursday's #haskell problem: auditing and logs. Thursday's #haskell solution is to wrap packet extraction and insertion in an ETL process.
- April 11th, 2018: Wednesday's #haskell problem: when we download packets of articles, let's record that event. Wednesday's #haskell solution: we're inserting packets into our new database.
- April 10th, 2018: Tuesday's #haskell problem: 🎵 "Does anybody know what time it is?" 🎶 (bonus: name that tune) Tuesday's #haskell solution: "Hey, Mister! You got the time?"
- April 9th, 2018: Monday's #haskell problem is to extract article tags from JSON then store them in a PostgreSQL lookup table. Monday's #haskell solution: Inserting tags for articles into a PostgreSQL database is a breeze!
- April 6th, 2018: Friday's #haskell problem is to parse categories-as-JSON, strip it down to its essentials, and store in a PostgreSQL data table. Friday's #haskell solution uploaded categories to a PostgreSQL databse after 'removing the stupid.' That's a technical term.
- April 5th, 2018: Thursday's #haskell problem is revising the database connector now that we're managing multiple databasen. Thursday #haskell solution is making connections to SQL databases configurable. Whoa. Edgy, tweeps! I'm really pressing the bleeding edge of technological advancement here with configurations and database connections.
- April 4th, 2018: Wednesday's #haskell problem is storing authors in a PostgreSQL table. Wednesday's #haskell solution shows that transferring authors from articles to a SQL database is as easy as 1, 2, 3!
- April 3rd, 2018: Tuesday's #haskell exercise: AUTHOR! AUTHOR! Is there an author in the house? Tuesday's #haskell solution: extracting author information from very unstructured data.
- April 2nd, 2018: Monday's #haskell problem is to explore JSON to find the structure in the data. Monday's #haskell solution: oooh! Pritteh JSON! But what's this weirdness with the author-identifier?
Subscribe to:
Posts (Atom)